Prendre rendez-vous

SAST – tester le code avant qu'il ne s'exécute

L'analyse statique du code est le point de contrôle le plus référencé du cycle de développement sécurisé – et l'outil au plus grand potentiel de frustration. Ce que le SAST accomplit techniquement, où ses limites sont prouvées, quelles normes l'exigent et ce que l'IA est en train d'y changer.

Le SAST (Static Application Security Testing) examine le code source, le bytecode ou les binaires à la recherche de vulnérabilités sans exécuter le programme – à la différence du DAST (test de l'application en fonctionnement, de l'extérieur), de l'IAST (instrumentation à l'exécution) et de la SCA (analyse des dépendances). Sa force : le SAST trouve tôt les classes de défauts connues, sur chaque ligne de code et avec l'emplacement exact – assez économique pour chaque commit. Son prix : une analyse entièrement automatique, à la fois complète et correcte, étant théoriquement impossible, chaque outil approxime – et produit des fausses alertes ou manque les classes de défauts sans signature. Bien utiliser le SAST ne consiste donc jamais à choisir « quel outil », mais : quelle analyse, sur quel code, à quel endroit du workflow – et qui trie les résultats. C'est précisément sur ce tri que porte depuis 2024 le plus grand changement depuis des années : l'analyse et la priorisation assistées par IA.

L'essentiel en un coup d'œil

01

Comment fonctionne le SAST

Les moteurs SAST traduisent le code en représentations intermédiaires – arbres syntaxiques abstraits ou faits de programme relationnels – puis y appliquent des analyses de flux de contrôle, de flux de données et de taint. CodeQL, par exemple, extrait le code dans une base de données et exprime les vulnérabilités comme des requêtes dans une extension de Datalog ; Semgrep reconnaît des motifs structurellement sur l'arbre syntaxique, avec sources, puits et sanitizers comme règles de taint. La profondeur fait la différence : l'analyse au sein d'une fonction est le standard – l'analyse interprocédurale au-delà des frontières de fichiers et de fonctions distingue les classes d'outils et reste, chez Semgrep par exemple, réservée à l'offre commerciale.

02

La limite prouvée : l'exactitude est impossible

D'après le théorème de Rice, toutes les propriétés sémantiques non triviales des programmes sont indécidables – une analyse qui trouverait toutes les vulnérabilités sans jamais donner de fausse alerte est mathématiquement impossible. Chaque outil choisit donc un camp : la sur-approximation (aucun cas manqué dans l'espace modélisé, au prix de fausses alertes systématiques – fondement posé par Cousot & Cousot en 1977 avec l'interprétation abstraite) ou la sous-approximation (plus précise, avec des lacunes). Les faux positifs ne sont pas un défaut d'implémentation mais le prix de l'approche – la seule question est de savoir qui les trie.

03

Ce que le SAST trouve de façon fiable

Le SAST excelle sur les classes de défauts à forme stable : injection, appels cryptographiques non sûrs, identifiants en dur, erreurs mémoire en C/C++ – avec fichier, ligne et emplacement exacts, bien avant qu'une application testable n'existe. C'est pourquoi OWASP SAMM place les tests statiques et dynamiques automatisés dès le niveau de maturité 1 de son volet Security Testing : ils sont la base scalable sur laquelle s'appuient les tests manuels plus profonds.

04

Ce que le SAST ne peut structurellement pas trouver

L'OWASP nomme clairement les angles morts : défauts d'authentification et d'autorisation, mauvais usage de la cryptographie et erreurs de logique métier sont difficiles voire impossibles à détecter automatiquement – et les erreurs de configuration ne figurent même pas dans le code. La mesure le confirme : dans une étude ISSTA de la TU Munich, six analyseurs C/C++ ont manqué 47 à 80 pour cent de 192 vulnérabilités réelles connues ; même la combinaison de tous les outils en laissait passer 30 à 69 pour cent. Ces classes exigent du threat modeling, des revues – ou du raisonnement sémantique.

Page de connaissance Threat Modeling
05

La réalité des faux positifs

Selon la littérature consolidée, entre 35 et 91 pour cent des alertes d'analyse statique ne sont pas actionnables. Une étude de terrain de 2025 – financée par un éditeur – sur près de 3 000 dépôts publics a trouvé plus de 91 pour cent de fausses alertes sur trois classes de défauts classiques, avec un cas extrême de 1 166 findings pour 6 vrais. Et l'analyse de plus de 100 millions de findings AppSec issus de 178 organisations montre que seuls 2 à 5 pour cent exigent une action immédiate. L'alert fatigue n'est pas un facteur mou : c'est la première cause d'échec des programmes SAST.

06

Ce que Google et Meta font autrement

Les deux leviers les plus efficaces sont publiés : chez Meta, le taux de correction des scans batch nocturnes était proche de zéro ; dès que la même analyse est apparue comme commentaire dans la revue de code du diff, il est monté à plus de 70 pour cent – même moteur, même taux de fausses alertes. Google n'admet en revue que les analyses dont le taux effectif de fausses alertes reste sous 10 pour cent ; en pratique son système Tricorder se situe juste sous 5 pour cent. La leçon : le point de déploiement et la confiance des développeurs priment sur la qualité de l'outil.

07

Évaluer les outils sérieusement

L'OWASP Benchmark est une application Java exécutable de 2 740 cas de test réellement exploitables dans 11 catégories ; les outils sont notés sur le taux de vrais positifs contre celui de faux positifs (indice de Youden). La suite Juliet du NIST ajoute des cas synthétiques sur 118 CWE en C/C++ et 112 en Java. Méfiance envers les annonces « 100 % de détection » : les corpus sont publics, l'overfitting est possible – et des benchmarks récents comme CASTLE montrent que chaque classe d'outils a ses propres schémas d'échec : la vérification formelle minimise les fausses alertes mais échoue hors de son modèle ; les LLM brillent sur des extraits et faiblissent quand le code grossit.

08

Un paysage d'outils en plein bouleversement

Les coordonnées ont changé en 2024/2025 : Semgrep a placé ses règles maintenues sous licence propriétaire en décembre 2024 – en réaction, un consortium d'une dizaine d'éditeurs de sécurité a forké le moteur sous le nom d'Opengrep (LGPL ; après un an : 43 releases et l'analyse de taint interfonctionnelle en open source). Sonar a également retiré ses analyseurs de langage de la LGPL. GitHub a scindé Advanced Security en avril 2025 en Code Security (30 US-$ par committer actif/mois) et Secret Protection (19 US-$). Et après deux ans de pause, Gartner a relancé le Magic Quadrant pour l'Application Security Testing en octobre 2025 – avec 16 éditeurs et l'ASPM comme dimension d'évaluation.

09

Ce que l'IA change au SAST

Les chiffres les plus solides concernent le tri : des agents LLM derrière un SAST classique ont réduit les fausses alertes sur l'OWASP Benchmark jusqu'à 88,6 pour cent avec seulement 3,1 pour cent de perte de rappel ; sur de vraies alertes CodeQL, ils ont identifié jusqu'à 93,3 pour cent des faux positifs. Copilot Autofix de GitHub ramène le temps médian de correction de 1,5 heure à 28 minutes selon la télémétrie bêta. Et des systèmes autonomes comme Google Big Sleep ou les finalistes du DARPA AIxCC trouvent désormais seuls de vraies vulnérabilités. Les limites de la carte 4 se déplacent – sans disparaître : l'IA complète les couches, elle ne les remplace pas.

Approfondir : AI Code Security
Approfondissement · SAST avec LLM et IA

AI SAST : l'analyse apprend à lire l'intention

Depuis 2024, le SAST évolue plus vite qu'au cours des quinze années précédentes : les modèles de langage trient les findings, raisonnent sémantiquement au-delà des frontières de fonctions et trouvent désormais de vrais zero-days. En juillet 2026, Wiz a formulé un modèle à trois niveaux — scan de base déterministe, raisonnement IA continu sur chaque pull request, deep testing agentique ciblé — avec pour thèse centrale : « Deep scanning everywhere doesn't scale. » Les quatre évolutions clés :

Tri LLM derrière le scanner

Le bénéfice le mieux démontré : un filtre LLM derrière le scanner déterministe réduit les fausses alertes de 88,6 à 93,3 pour cent avec une perte de rappel minime — un résultat cohérent sur plusieurs études indépendantes.

Raisonnement sémantique sur chaque PR

Au lieu de motifs, l'IA examine la structure de l'application, les trust boundaries et les flux de données — « comme un chercheur en sécurité ». Les approches neuro-symboliques comme IRIS doublent la détection par rapport à CodeQL seul.

Analyse profonde autonome

Des systèmes comme Wiz Atlas (plus de 90 % sur CyberGym, 200+ vulnérabilités inconnues) ou les finalistes du DARPA AIxCC trouvent seuls de vraies failles — la découverte devient une commodité.

Nouvelles limites et surface d'attaque

Les verdicts des LLM sont non déterministes et manipulables : des commentaires de code adverses trompent les détecteurs LLM dans plus de 90 % des cas. L'analyste IA exige le même durcissement que tout autre outil.

Page de connaissance : AI SAST — analyse de code par LLM

Avec toutes les preuves : état de la recherche, paysage d'outils 2026, risques et gouvernance — y compris le modèle à niveaux de Wiz en détail.

Notre solution · AI SAST en production

VamiAppSec : six scanners, un backlog, un tri par IA

Notre plateforme VamiAppSec orchestre Semgrep, Gitleaks, Checkov, Syft/Grype et le Claude Code Security Reviewer dans un seul pipeline, normalise tous les findings dans un schéma unifié et enrichit chaque résultat par LLM – avec contexte, évaluation d'exploitabilité et proposition de correctif concrète. Le travail de tri qui fait échouer les programmes SAST classiques est ainsi pris en charge par la machine – de façon traçable et déployable dans votre propre datacenter.

6+scanners dans un pipeline
−54 %temps de tri médian
93 %doublons éliminés
24 hjusqu'à la mise en service
  • Self-hosted ou SaaS – sur demande entièrement sur votre infrastructure
  • Intégrations : GitHub, GitLab, Bitbucket, Jenkins, Slack, MS Teams
  • En conseil : architecture de scanning, calibrage et validation d'exploitabilité

Chiffres issus de nos propres mesures par rapport à la sortie brute des scanners ; détails sur vamiappsec.com.

Normes & sources

Le contenu de cette page s'appuie sur les guides et études suivants, accessibles publiquement.

NIST · 2022

SP 800-218 : Secure Software Development Framework (SSDF) v1.1

Ancre l'analyse de code dans la practice PW.7 (et après release dans RV.1.2) ; la table de référence relie PW.7 à IEC 62443-4-1, ISO/IEC 27034 et OWASP ASVS.

OWASP Foundation · en continu

Source Code Analysis Tools

Cadrage canonique des forces (classes de défauts connues, emplacement exact) et faiblesses (autorisation, logique métier, configuration, volume de fausses alertes).

OWASP Foundation · 2016–2026

OWASP Benchmark Project

2 740 cas de test Java exécutables et réellement exploitables dans 11 catégories ; notation par l'indice de Youden. Variante Python en cours.

NIST · 2017

Juliet Test Suite 1.3 (SARD)

Cas de test synthétiques sur 118 CWE (C/C++) et 112 (Java), avec jumeaux bons/mauvais pour mesurer la discrimination.

Lipp, Banescu, Pretschner (TU Munich) · 2022

An Empirical Study on the Effectiveness of Static C Code Analyzers (ISSTA)

Six analyseurs contre 192 vulnérabilités réelles dans 27 projets : 47–80 % manquées ; la combinaison d'outils ne réduit l'écart qu'à 30–69 %.

Distefano et al. · 2019

Scaling Static Analyses at Facebook (CACM)

La preuve du diff-scan : taux de correction proche de zéro en batch, plus de 70 % après passage aux commentaires de revue sur le diff – analyse identique.

Sadowski et al. · 2018

Lessons from Building Static Analysis Tools at Google (CACM)

La règle des 10 % : au-dessus de ce taux effectif de fausses alertes, l'analyse sort de la revue ; Tricorder se situe en réalité juste sous 5 %.

BSI · 2024

TR-03185 : cycle de vie logiciel sécurisé, partie 1

PROD.DEV.F.2 : une analyse statique automatique du code DEVRAIT en outre être réalisée – avec renvois vers CON.8, le SSDF (PW) et IEC 62443-4-1.

BSI · 2023

Compendium IT-Grundschutz, module CON.8 développement logiciel

Exigence de base CON.8.A7 : tests accompagnant le développement, complétés par la recommandation DEVRAIT d'analyse statique automatique.

PCI Security Standards Council · 2024

PCI DSS v4.0.1, exigence 6.2.3

Revue du code des logiciels sur mesure avant mise en production – manuelle ou automatisée ; obligatoire comme exigence différée depuis le 31 mars 2025.

Veracode · 2025

State of Software Security 2025

Télémétrie de plus de 1,3 million d'applications : demi-vie de correction de 252 jours (+47 % en 5 ans) ; 74 % des organisations portent une dette de sécurité.

Gartner · 2025

Magic Quadrant for Application Security Testing

Relancé le 6 octobre 2025 après deux ans de pause ; 16 éditeurs évalués, l'ASPM intégré comme dimension d'évaluation.

Nature Scientific Data · 2025

Consolidated dataset on static analysis alert actionability

Consolide la recherche sur l'alert fatigue : 35–91 % des alertes d'analyseurs statiques ne sont pas actionnables.

Introduire le SAST, le désencombrer ou l'accélérer par l'IA ?

Lors d'un premier échange sans engagement, nous examinons votre pipeline : quelle analyse tourne où, quel bruit votre équipe supporte et où le tri par IA a le plus de levier.