Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

FindSecBugs

devsecops

Dé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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis