Outil : Semgrep 1.178.0 · règles : p/java, p/owasp-top-ten, p/security-audit, p/cwe-top-25 ·
code analysé : backend/src/main · 16 fichier(s) · généré le 2026-10-06
| Gravité | Règle | Emplacement | Message |
|---|---|---|---|
| WARNING | use-of-md5 |
backend/src/main/java/fr/formation/banque/auth/Md5PasswordEncoder.java:15 | Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use HMAC instead. |
| WARNING | weak-random |
backend/src/main/java/fr/formation/banque/auth/ReinitialisationService.java:38 | Detected use of the functions `Math.random()` or `java.util.Random()`. These are both not cryptographically strong random number generators (RNGs). If you are using these RNGs to create passwords or secret tokens, use `java.security.SecureRandom` instead. |
Un outil d'analyse statique cherche des motifs connus : un algorithme de hachage faible (MD5, SHA1) appelé pour une empreinte, ou un générateur non cryptographique (java.util.Random) utilisé dans un contexte sensible. Ces deux motifs sont en principe détectables.
Mais il ne sait pas ce qu'est un « jeton de réinitialisation » dans VOTRE application, ni s'il doit expirer ou être à usage unique : l'absence de verrouillage après plusieurs échecs, ou un secret par ailleurs externalisable mais jamais externalisé, sont des choix de conception que l'outil ne peut pas juger à votre place.
Comparez ce rapport avec ce que vous avez réellement démontré sur l'application : combien des trois défauts l'outil a-t-il vus ? Combien avez-vous dû constater vous-même ?
Relancer dans votre box : semgrep --config p/java --config p/owasp-top-ten backend/src/main ·
données brutes : semgrep.json