Analyse statique — Injection : SQL et XSS stockée

Outil : Semgrep 1.178.0 · règles : p/java, p/owasp-top-ten, p/security-audit, p/typescript · code analysé : backend/src/main, frontend/src · 30 fichier(s) · généré le 2026-10-06

1 résultat(s)
GravitéRègleEmplacementMessage
WARNINGspring-sqli backend/src/main/java/fr/formation/banque/repo/ClientRepository.java:25Detected a string argument from a public method contract in a raw SQL statement. This could lead to SQL injection if variables in the SQL statement are not properly sanitized. Use a prepared statements (java.sql.PreparedStatement) instead. You can obtain a PreparedStatement using 'connection.prepareStatement'.

Comment lire ce rapport

Un outil d'analyse statique cherche des motifs connus : une API dangereuse appelée avec une valeur non maîtrisée. Ici, il signale bien le motif d'une requête SQL assemblée par concaténation.

Mais il ne dit pas si le motif est exploitable, ni ce que l'attaquant peut en tirer (quelles données, pour quel utilisateur). Et ce qu'il ne signale pas n'est pas pour autant sûr : ce qu'un contenu stocké fait dans le navigateur d'un autre utilisateur, par exemple, ne se lit pas ligne à ligne dans le code.

Comparez ce rapport avec ce que vous avez démontré sur l'application : qu'est-ce qui est signalé, qu'est-ce qui ne l'est pas, et que vous apprend chacun des deux cas ?

Relancer dans votre box : semgrep --config p/java --config p/owasp-top-ten backend/src/main · données brutes : semgrep.json