FindSecBugs
devsecopsDéfinition
FindSecBugs est un plugin de sécurité pour SpotBugs (et son prédécesseur FindBugs), l'analyseur statique de bytecode Java. FindSecBugs étend SpotBugs avec plus de 100 règles de sécurité spécifiques à Java et aux frameworks Java populaires (Spring, Struts, Play, Hibernate), permettant de détecter des vulnérabilités de sécurité dans le code Java compilé sans nécessiter le code source complet. C'est l'un des outils SAST Java les plus utilisés dans les pipelines DevSecOps. FindSecBugs analyse le bytecode Java (fichiers .class et .jar) plutôt que le code source, ce qui lui permet de détecter des vulnérabilités dans les dépendances dont le code source n'est pas disponible et de traiter le code de manière indépendante des outils de build. Cette approche bytecode offre également une plus grande précision pour certaines analyses de flux de données inter-procédurales. Les vulnérabilités détectées par FindSecBugs couvrent : les injections SQL (via une analyse de flux de données identifiant les chaînes SQL construites depuis des entrées non sanitisées), les injections LDAP et XPath, les vulnérabilités de désérialisation Java (utilisation de ObjectInputStream avec des données non fiables — vecteur RCE classique en Java), les problèmes cryptographiques (algorithmes faibles : DES, MD5, SHA1 ; modes de chiffrement non sécurisés : ECB ; générateurs aléatoires non cryptographiques), les XXE (XML External Entity injection), et les problèmes spécifiques aux frameworks (Struts 1/2, Spring Security misconfigurations). L'intégration de FindSecBugs dans un projet Maven Java se fait via le plugin spotbugs-maven-plugin avec le plugin FindSecBugs configuré comme dépendance d'analyse, exécuté dans la phase verify du build Maven. Les résultats sont générés en XML ou HTML et peuvent être publiés dans SonarQube (via l'import du rapport SpotBugs) pour un suivi centralisé.
Intégration Maven avec FindSecBugs
Configuration Maven pour FindSecBugs : dans pom.xml, ajouter le plugin com.github.spotbugs:spotbugs-maven-plugin avec une dépendance sur com.h3xstream.findsecbugs:findsecbugs-plugin. Exécution : mvn spotbugs:check (bloque si des bugs de sécurité sont trouvés) ou mvn spotbugs:spotbugs (génère le rapport sans bloquer). Le fichier spotbugs-exclude-filter.xml configure les faux positifs à ignorer. Le rapport XML généré (target/spotbugsXml.xml) peut être importé dans Défect Dojo ou SonarQube pour centralisation.
Détection de la désérialisation Java
La désérialisation Java non sécurisée (CVE-2015-4852 WebLogic, CVE-2016-0783 Apache Commons Collections) est l'une des vulnérabilités Java les plus exploitées historiquement, permettant l'exécution de code arbitraire (RCE) via des flux de données contrôlés par l'attaquant. FindSecBugs détecte : l'utilisation d'ObjectInputStream.readObject() avec des données provenant de flux non fiables (réseau, base de données non validée), l'implémentation d'interfaces Serializable sur des classes contenant des membres sensibles, et l'utilisation de bibliothèques connues pour leur exploitabilité en désérialisation (Apache Commons Collections pré-4.1).
FindSecBugs dans SonarQube
SonarQube (Community + Developer) intègre les résultats FindSecBugs/SpotBugs via le plugin SonarJava qui inclut directement des règles dérivées de FindSecBugs. Pour l'import de rapports SpotBugs existants dans SonarQube, le External Issues feature de SonarQube (sonar.externalIssuesReportPaths) permet d'intégrer le rapport XML SpotBugs dans l'analyse SonarQube. Les Security Hotspots SonarQube pour Java (OWASP Top 10, CWE) offrent une couverture comparable à FindSecBugs avec une interface centralisée et un workflow de revue de sécurité intégré.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h