Retour à tous les articles
Sécurité

Outils SAST open source en 2026 : 20 outils vérifiés sur GitHub, langage par langage

Quels outils SAST open source utiliser en 2026 ? 20 scanners vérifiés sur GitHub : licence, version, SARIF, et les SAST gratuits qui ne sont pas open source.

Sur cette page
  1. Quels outils SAST open source sont encore maintenus en 2026 ?
  2. Quel outil SAST open source choisir pour votre langage ?
  3. Semgrep est-il toujours open source ?
  4. Quels outils SAST « gratuits » ne sont pas open source ?
  5. Comment faire tourner plusieurs outils SAST open source ensemble ?
  6. Que reste-t-il à votre charge avec un SAST open source ?
  7. Où se place CybeDefend ?
  8. Questions fréquentes
  9. Quels sont les meilleurs outils SAST open source gratuits ?
  10. Semgrep est-il gratuit et open source ?
  11. La version gratuite de SonarQube est-elle open source ?
  12. Peut-on utiliser CodeQL gratuitement sur du code privé ?
  13. Quel outil SAST open source pour du code Python ?
  14. Quelle est la différence entre SAST et SCA ?
  15. Qu'est-ce que le format SARIF ?

Outils SAST open source vérifiés sur GitHub le 1er octobre 2026 : Opengrep, Bandit, gosec et Psalm actifs, Horusec sans nouvelle version depuis 2022, Brakeman sous une licence non approuvée par l'OSI, la CLI CodeQL réservée au code open source et à la recherche.

En 2026, une configuration SAST open source qui tient la route repose sur deux étages. D'abord un moteur multi-langage, Opengrep ou Semgrep Community Edition. Ensuite le spécialiste de chacun de vos langages principaux : Bandit pour Python, gosec pour Go, SpotBugs avec Find Security Bugs pour Java, Psalm pour PHP, Cppcheck ou Flawfinder pour C et C++. Nous avons vérifié les vingt outils de ce guide sur GitHub le 1er octobre 2026 : leur licence, leur dernière version publiée, et la façon dont chacun écrit du SARIF, le format qui permet de fusionner leurs résultats. Trois constats ressortent. Horusec n'a publié aucune version depuis juin 2022. Brakeman et Bearer s'utilisent gratuitement sur votre propre code, mais ne sont pas open source : la licence de Brakeman interdit la revente commerciale, et Bearer est source-available. Et la CLI CodeQL, souvent rangée parmi les outils gratuits, ne peut pas tourner sur du code privé sans licence GitHub payante.

Quels outils SAST open source sont encore maintenus en 2026 ?

Sur les vingt outils ci-dessous, dix-huit sont maintenus et deux sont à l'arrêt. Le tableau reprend ce que l'API de GitHub renvoyait le 1er octobre 2026 : la licence déclarée par chaque dépôt, sa dernière version taguée, et notre lecture de son statut. Les étoiles mesurent l'attention qu'un projet reçoit, pas la façon dont il est maintenu : nous les avons donc laissées de côté.

OutilCe qu'il analyseLicenceDernière versionStatut
OpengrepPlus de 30 langagesLGPL-2.1v1.30.0, 7 sept. 2026Actif
Semgrep Community EditionPlus de 30 langagesMoteur en LGPL-2.1, règles sous leur propre licencev1.178.0, 23 sept. 2026Actif
SonarQube Community BuildDe nombreux langagesLGPL-3.026.9, 2 sept. 2026Actif
CodeQL CLIC/C++, C#, Go, Java, Kotlin, JavaScript, TypeScript, Python, Ruby, Rust, Swift, GitHub ActionsGitHub CodeQL Terms, pas open sourcev2.27.1, 22 sept. 2026Actif, usage restreint
Datadog Static AnalyzerPlusieurs langages, rulesets DatadogApache-2.00.9.8, 25 sept. 2026Actif
OpenAI Codex SecurityAnalyse par modèle, tout langageClient en Apache-2.00.1.30, 23 sept. 2026Actif, compte OpenAI requis
JoernC/C++, Java, JavaScript, Python, PHP, Go, Ruby, Swift, C#, Kotlin, binairesApache-2.0v4.0.644, 1er oct. 2026Actif
Bearer CLIGo, Java, JavaScript, TypeScript, PHP, Python, RubyElastic License 2.0v2.1.1, 24 août 2026Actif, source-available
Horusec18 langagesApache-2.0v2.8.0, 8 juin 2022Dernier commit en août 2023
BanditPythonApache-2.01.9.4, 25 févr. 2026Actif
gosecGoApache-2.0v2.29.0, 26 août 2026Actif
BrakemanRuby on RailsBrakeman Public Use Licensev8.1.0, 30 sept. 2026Actif, pas open source
SpotBugs + Find Security BugsJava et bytecode JVMLGPL-2.1 + LGPL-3.04.10.4, 20 août 2026 + 1.14.0, 17 juin 2025Actif
eslint-plugin-securityJavaScript, Node.jsApache-2.0v4.2.0, 1er oct. 2026Actif
njsscanNode.jsLGPL-3.01.0.1, 21 sept. 2026Actif
PsalmPHPMIT6.19.1, 29 sept. 2026Actif
FlawfinderC/C++GPL-2.0Aucune release GitHub, dernier commit le 17 mai 2026Maintenu
CppcheckC/C++GPL-3.02.22.0, 19 sept. 2026Actif
mobsfscanAndroid et iOS : Java, Kotlin, Swift, Objective-CLGPL-3.01.0.1, 21 sept. 2026Actif
Security Code ScanC#, VB.NETLGPL-3.05.6.7, 5 sept. 2022Dernier commit en novembre 2022

Ce tableau cache deux mises en garde. Horusec n'est pas archivé et figure encore dans les listes d'« outils SAST gratuits », alors que sa branche principale n'a pas bougé depuis le 7 août 2023. Et l'analyseur open source historique du monde .NET, Security Code Scan, s'est arrêté en 2022 : aujourd'hui, une équipe C# s'appuie sur un moteur multi-langage plutôt que sur un spécialiste.

Quel outil SAST open source choisir pour votre langage ?

Un spécialiste de votre langage principal, installé à côté d'un moteur multi-langage. Le spécialiste connaît en profondeur les idiomes du framework et ses API dangereuses ; le moteur repère les motifs qui traversent les langages et vous permet d'écrire une seule règle pour tout le dépôt.

LangageSpécialisteÀ savoir
PythonBanditInstallez l'extra [sarif] pour obtenir une sortie SARIF
GogosecSARIF natif
Java, JVMSpotBugs avec Find Security BugsAnalyse le bytecode compilé : il faut builder avant
JavaScript, Node.jseslint-plugin-security, njsscanESLint a besoin d'un formateur SARIF séparé
PHPPsalmL'analyse de taint s'exécute dans une passe à part
Ruby on RailsBrakemanGratuit pour analyser votre propre code, pas open source
C, C++Cppcheck, FlawfinderCppcheck écrit du SARIF depuis la version 2.16.0
Android, iOSmobsfscanCouvre aussi Swift et Objective-C
C#, VB.NETAucun outil maintenu dans cette listePassez par un moteur multi-langage

Côté moteur, Opengrep et Semgrep Community Edition lisent la même syntaxe de règles : le choix se joue donc sur la gouvernance, dont parle la section suivante. Joern est un outil d'une autre nature. Il construit un code property graph que vous interrogez vous-même, ce qui le rend redoutable pour la recherche et les audits sur mesure. Son scanner n'a pas d'option SARIF, même si sa console de requêtes sait exporter les résultats en SARIF.

Semgrep est-il toujours open source ?

Le moteur, oui. Semgrep Community Edition est sous licence LGPL-2.1 et a publié sa v1.178.0 le 23 septembre 2026. Deux choses ont pourtant changé autour de lui. D'abord, les règles que Semgrep publie dans son registry relèvent de la Semgrep Rules License v1.0, une licence maison et non une licence open source : lisez-la avant de réutiliser ces règles dans un produit commercial. Ensuite, un groupe d'éditeurs AppSec a forké le moteur sous le nom d'Opengrep, dans un dépôt créé le 14 décembre 2024. Son README en donne la raison en une ligne : le projet « was created when Semgrep moved critical features behind a commercial licence », autrement dit il est né quand Semgrep a placé des fonctionnalités essentielles derrière une licence commerciale.

Opengrep reste en LGPL-2.1, exécute les règles Semgrep existantes sans modification, écrit du JSON et du SARIF, et a ajouté le suivi de taint intra-fichier (--taint-intrafile). Les soutiens cités dans son README sont Aikido, Amplify, Endor Labs, Kodem et Orca Security. Choisissez Semgrep si vous voulez ses règles gérées et sa plateforme ; choisissez Opengrep si vous préférez que la gouvernance du moteur ne dépende pas d'une seule entreprise. Dans les deux cas, vos règles fonctionnent.

Quels outils SAST « gratuits » ne sont pas open source ?

Quatre outils de ce guide se téléchargent sans rien payer, et encadrent pourtant la façon dont vous pouvez les utiliser. Vérifiez ces points avant qu'un outil n'entre dans votre CI :

  • CodeQL CLI. Elle est distribuée sous les GitHub CodeQL Terms and Conditions, pas sous une licence open source. Sans licence payante, vous pouvez l'utiliser pour la recherche académique, pour des démonstrations et pour analyser du code open source publié sous une licence approuvée par l'OSI ; l'usage automatisé en CI n'est permis que si ce code open source est hébergé sur GitHub.com. Le code privé exige une licence payante, que les conditions appellent encore GitHub Advanced Security et que GitHub vend désormais sous le nom de GitHub Code Security. Les requêtes sont sous licence MIT, le moteur ne l'est pas.
  • Brakeman. La Brakeman Public Use License, dont le texte désigne Synopsys comme concédant, range explicitement « using the Software to analyze Licensee's software », c'est-à-dire l'analyse de vos propres logiciels, parmi les usages non commerciaux : analyser votre code Rails ne coûte donc rien. Ce qui exige une licence payante, c'est l'usage commercial, par exemple proposer Brakeman comme service managé ou en SaaS, ou l'embarquer dans un produit. C'est cette restriction qui l'empêche d'être une licence open source. Seul le code commité avant le 15 juin 2018 est sous MIT.
  • Bearer CLI. L'Elastic License 2.0 en fait un outil source-available : le README précise que vous « can use it freely inside your organization », c'est-à-dire librement au sein de votre organisation, tandis que des langages supplémentaires et l'analyse inter-fichiers relèvent d'une édition payante vendue par Cycode.
  • OpenAI Codex Security. La CLI et le SDK sont sous Apache-2.0, mais l'analyse tourne sur les modèles d'OpenAI. Vous vous connectez, ou vous définissez OPENAI_API_KEY en CI, et votre code part chez OpenAI. Certains résultats ne sont accessibles qu'après validation par le programme Trusted Access for Cyber d'OpenAI.

Les offres gratuites des plateformes commerciales appartiennent à la même famille : gratuites pour démarrer, jamais open source, et votre code est analysé dans le cloud de l'éditeur. Pour beaucoup d'équipes, c'est un compromis raisonnable. Simplement, ce n'est pas le même compromis.

Comment faire tourner plusieurs outils SAST open source ensemble ?

Demandez à chaque outil d'écrire du SARIF 2.1.0, le standard OASIS pour les résultats d'analyse statique, puis fusionnez les fichiers. Chaque commande ci-dessous provient de la documentation ou du code source du projet concerné, vérifiés le 1er octobre 2026 :

# Moteur multi-langage
opengrep scan --sarif-output=opengrep.sarif -f rules/ .

# Python
pip install "bandit[sarif]"
bandit -r . -f sarif -o bandit.sarif

# Go
gosec -fmt sarif -out gosec.sarif ./...

# Java : builder d'abord, SpotBugs lit le bytecode
spotbugs -textui -pluginList findsecbugs-plugin.jar -sarif=spotbugs.sarif target/app.jar

# JavaScript : le SARIF passe par le formateur de Microsoft
npm install --save-dev @microsoft/eslint-formatter-sarif
npx eslint -f @microsoft/eslint-formatter-sarif -o eslint.sarif .

# Node.js
njsscan --sarif -o njsscan.sarif .

# PHP : l'analyse de taint est une passe à part
psalm --taint-analysis --report=psalm.sarif

# C et C++
cppcheck --output-format=sarif --output-file=cppcheck.sarif .
flawfinder --sarif ./ > flawfinder.sarif

Deux détails vous épargneront un après-midi perdu. ESLint n'a pas de sortie SARIF intégrée : -f sarif échoue, et le formateur est un paquet séparé, issu du SARIF SDK de Microsoft. Et SonarQube Community Build importe du SARIF via sonar.sarifReportPaths, mais nous n'avons trouvé aucun export SARIF documenté : il se place donc en bout de chaîne, pas au milieu.

Moteur + spécialistesUn fichier SARIF par outilFusionner et dédoublonnerTrier et garder l'historique
Chaque scanner écrit son SARIF. Le plus dur commence après la fusion : la même faille signalée deux fois, un résultat écarté qui revient au scan suivant, aucun historique à montrer à l'auditeur.

Un fichier fusionné n'est pas un backlog trié. Trois manques subsistent :

  • Les doublons. La même injection SQL dans un service Python peut remonter à la fois d'Opengrep et de Bandit, sous deux identifiants de règle différents, et les deux résultats s'ignorent l'un l'autre.
  • L'état du tri. Un résultat que vous avez écarté comme faux positif réapparaît au scan suivant, sauf si quelque chose garde la décision en mémoire.
  • L'historique. Les équipes qui préparent un audit SOC 2 ou ISO 27001 doivent montrer que les vulnérabilités sont suivies et corrigées dans la durée. Une pile de fichiers SARIF récupérés dans les logs de CI ne le démontre pas à elle seule.

C'est la partie que les équipes finissent par construire elles-mêmes, ou par acheter.

Que reste-t-il à votre charge avec un SAST open source ?

Les règles, le tri et l'entretien : le moteur est gratuit, tout le reste se paie en temps.

Les règles

Un moteur ne vaut que par ses règles. Celles du registry Semgrep ont leur propre licence, et le dépôt de règles d'Opengrep, qui se présente comme un fork de celui de Semgrep datant de décembre 2024, n'a reçu aucun commit depuis janvier 2025. Attendez-vous à maintenir vos règles vous-même.

L'entretien

Vingt projets, ce sont vingt rythmes de publication, des licences qui peuvent changer, et des outils qui finissent par s'arrêter, comme Horusec et Security Code Scan.

Où se place CybeDefend ?

CybeDefend s'adresse aux équipes qui préfèrent ne pas assembler ni entretenir cette pile : il réunit au même endroit l'analyse SAST, SCA, secrets, IaC, conteneurs et CI/CD, classée par reachability, pour que les résultats en tête de liste soient ceux qu'un attaquant peut réellement atteindre. Sa page SAST montre comment. Et si votre code est de plus en plus écrit par des agents de code, VibeDefend met les résultats SAST, SCA, secrets, IaC et CI/CD sous les yeux de l'agent pendant qu'il écrit, plutôt qu'après la pull request. Pour un comparatif des outils commerciaux classés par besoin, voyez notre panorama des outils de sécurité du code généré par IA en 2026.

Questions fréquentes

Quels sont les meilleurs outils SAST open source gratuits ?

Un moteur multi-langage, complété par un spécialiste par langage. Côté moteur, Opengrep ou Semgrep Community Edition ; ensuite Bandit pour Python, gosec pour Go, SpotBugs avec Find Security Bugs pour Java, Psalm pour PHP, Cppcheck et Flawfinder pour C et C++, eslint-plugin-security et njsscan pour Node.js, mobsfscan pour le mobile. Tous étaient maintenus au 1er octobre 2026, et tous savent écrire du SARIF, ESLint via un formateur séparé.

Semgrep est-il gratuit et open source ?

Le moteur Semgrep Community Edition est gratuit et open source, sous LGPL-2.1. Les règles de son registry relèvent de la Semgrep Rules License v1.0, qui n'est pas une licence open source, et la plateforme payante de Semgrep ajoute des fonctionnalités par-dessus. Opengrep est un fork en LGPL-2.1 qui exécute les mêmes règles.

La version gratuite de SonarQube est-elle open source ?

Oui. SonarQube Community Build est gratuit et open source, sous LGPL-3.0 ; au 1er octobre 2026, sa dernière version était la 26.9, publiée le 2 septembre. SonarSource vend des éditions payantes plus complètes. La Community Build sait importer le SARIF d'autres scanners, mais nous n'avons trouvé aucun export SARIF documenté.

Peut-on utiliser CodeQL gratuitement sur du code privé ?

Non. Les requêtes CodeQL sont sous licence MIT, mais la CLI CodeQL est distribuée sous les conditions propres à GitHub : elle n'est pas open source. Elle est gratuite pour la recherche académique, les démonstrations et l'analyse de code open source ; analyser du code privé exige une licence GitHub payante.

Quel outil SAST open source pour du code Python ?

Bandit, maintenu par la Python Code Quality Authority sous licence Apache-2.0, dont la version 1.9.4 est sortie en février 2026. Associez-le à un moteur multi-langage comme Opengrep pour écrire des règles propres à votre projet. Installez bandit[sarif] pour obtenir une sortie SARIF.

Quelle est la différence entre SAST et SCA ?

Le SAST lit le code que votre équipe écrit et y cherche des motifs vulnérables, comme une injection ou un secret codé en dur. La SCA lit vos manifestes de dépendances et vos lockfiles, et signale les vulnérabilités connues des paquets open source que vous utilisez. La plupart des équipes ont besoin des deux, car l'essentiel du code qu'elles livrent est fait de dépendances.

Qu'est-ce que le format SARIF ?

Le Static Analysis Results Interchange Format, un standard OASIS. Sa version 2.1.0 est un format JSON que la plupart des outils SAST savent écrire : les résultats de plusieurs scanners peuvent ainsi être fusionnés, envoyés vers une plateforme d'hébergement de code ou importés dans un outil de gestion des vulnérabilités.

Installez VibeDefend en 5 secondes.

Une commande relie chaque agent de code de votre machine à CybeDefend : vos règles métier, vos référentiels de conformité et des garde-fous qui bloquent les appels destructeurs avant leur exécution.

Installer en 5 secondesNode 18.17+
npx -y @cybedefend/vibedefend@latest install
Détection automatique
  • Claude CodeClaude Code
  • CursorCursor
  • OpenAI CodexOpenAI Codex
  • WindsurfWindsurf
  • GitHub CopilotVS Code Copilot