Reprenons l’analogie du correcteur, et ajoutons cette fois un client mystère envoyé dans un magasin. Il n’a jamais vu les fiches de poste des vendeurs ni le manuel interne de l’enseigne. Il entre, teste le service, essaie de payer sans carte, demande un remboursement abusif et observe ce qui se passe vraiment. Le DAST fonctionne de la même manière avec une application : il ne regarde jamais le manuel, il teste le comportement réel, en situation, exactement comme le ferait un attaquant qui n’a jamais eu accès à vos sources.
Concrètement, un test DAST envoie de vraies requêtes à l’application web, exactement comme le ferait un navigateur ou un attaquant : tentatives d’injection SQL, payloads XSS, manipulation de paramètres, vérification des en-têtes de sécurité, contrôle de la configuration TLS. L’outil surveille le comportement de l’application pour repérer ce qui clignote anormalement : un message d’erreur trop verbeux, une authentification qu’on peut contourner, un fichier qu’on ne devrait pas pouvoir importer. C’est l’une des méthodes les plus utilisées pour identifier des vulnérabilités sans toucher à une seule ligne de code.
Ce qui fait sa force : le DAST ne dépend d’aucun accès au code ni d’aucune coopération de l’équipe de développement. Il s’applique aussi bien à une application développée en interne qu’à une application web achetée sur étagère ou maintenue par un prestataire dont vous n’avez jamais vu une ligne de code. C’est aussi la méthode la plus proche de la réalité d’une attaque : elle teste ce qui est réellement exploitable depuis l’extérieur, pas ce qui est théoriquement présent dans le code.
Ce qui le limite : le DAST ne voit que ce que l’application expose à l’exécution. Une faille profondément enfouie dans une fonction jamais déclenchée par les scénarios de test ne sera pas détectée. Le déploiement peut aussi demander un peu plus de préparation qu’un simple scan, puisqu’il faut une version fonctionnelle de l’application à tester, sans la faire planter au passage.