L'AI SAST est un test de sécurité des applications statiques (SAST) où le moteur est une IA qui raisonne sur le code au lieu de le comparer à des modèles.
Cette catégorie existe parce que le SAST traditionnel basé sur des règles, bien que précieux, a ses limites. Il ne peut pas détecter des classes entières de vulnérabilités, y compris les IDOR, le contrôle d’accès défaillant et les failles de logique métier, qui n'ont pas de signature syntaxique pour qu'une règle puisse les détecter. Ce sont tous des problèmes qui nécessitent la perspective d'un attaquant. Traditionnellement, c'est ce que couvrent les code review, mais avec les LLM augmentant de manière exponentielle la quantité de code déployé en production, les revues manuelles sont plus difficiles à mettre à l'échelle.
C'est là qu'intervient l'AI SAST. L'AI SAST va au-delà du SAST en lisant le code source de la même manière qu'un ingénieur senior le ferait lors d'une code review, en traçant les références entre les fichiers, et en raisonnant sur ce que le code est censé faire par rapport à ce qu'il fait réellement. Il trouve également certaines des vulnérabilités qui étaient traditionnellement découvertes par le pentesting, mais beaucoup plus rapidement et à moindre coût.
Que signifie l'AI SAST ?
En bref, l'AI SAST est une analyse statique du code où une IA lit et raisonne sur le code pour trouver des vulnérabilités de sécurité. Bien que le terme soit contesté dans l'industrie, il est souvent difficile de savoir ce que fait chaque produit AI SAST. En général, l'AI SAST fait référence à l'une des deux approches suivantes :
SAST natif de l'IA
Également appelé SAST IA basé sur le raisonnement, il s'agit d'un SAST IA qui utilise le raisonnement de l'IA comme mécanisme de détection, et non comme un assistant. C'est la définition que nous aborderons principalement. Le modèle lit la base de code et raisonne directement à son sujet. La recherche de motifs peut toujours être impliquée comme infrastructure de support, mais ce n'est pas le moteur principal. Le SAST natif de l'IA trouve des vulnérabilités que les pentests ont traditionnellement détectées, c'est pourquoi le SAST natif de l'IA est comparé au pentesting plus souvent qu'au SAST. Les meilleurs outils de SAST natif de l'IA fournissent un raisonnement de niveau pentest pour le code source.
SAST augmenté par l'IA
Il s'agit du SAST IA basé sur la recherche de motifs, également appelé SAST amélioré par l'IA. Selon cette définition, le SAST IA fait référence à un scanner SAST traditionnel basé sur des règles, auquel des fonctionnalités d'IA ont été ajoutées. Le moteur de détection reste basé sur des règles et déterministe, tandis que l'IA gère le triage, la priorisation, le filtrage des faux positifs, les suggestions de correctifs automatiques et l'écriture de règles en langage naturel. L'IA ne lit pas la base de code pour trouver les vulnérabilités (nous verrons plus tard comment fonctionne le SAST). C'est un travail nécessaire, mais le scanner sous-jacent est le même qui fonctionne depuis des années, il s'agit donc d'une amélioration de la technologie existante. À ce stade, tous les fournisseurs vendant du SAST déterministe devraient considérer l'augmentation par l'IA comme une exigence plutôt qu'un avantage facultatif.
Dans cet article, nous utiliserons le terme SAST IA pour désigner le SAST natif de l'IA, où l'IA effectue l'analyse, car le SAST augmenté par l'IA remplit le même rôle que le SAST. Le SAST natif de l'IA crée une toute nouvelle catégorie pour aider à trouver les vulnérabilités.
Comment distinguer le type de SAST IA qu'un fournisseur propose ?
La question la plus utile à poser à un fournisseur qui présente le SAST IA est de savoir de quel type il s'agit, car les deux produits résolvent des problèmes différents. Mais vous pouvez également distinguer le SAST natif de l'IA du SAST augmenté par l'IA en écoutant ce que l'IA du fournisseur prétend faire.
Si la présentation porte sur la réduction des faux positifs, le triage des résultats, l'explication des résultats ou les suggestions de correctifs, la détection sous-jacente est toujours basée sur des règles, et l'IA est l'assistant. Cela entre dans la catégorie du SAST traditionnel. Si la présentation porte sur le raisonnement sur l'ensemble de la base de code, la détection des IDORs, la découverte de failles de logique métier ou le suivi du flux de données à travers les services, une IA effectue la détection.
Parce qu'ils ont des rôles différents, ils ne se remplacent pas mutuellement, il est donc important de comprendre ce à quoi vous vous engagez. Aikido est l'un des rares fournisseurs à proposer à la fois le SAST natif de l'IA et le SAST augmenté par l'IA.
En quoi le SAST natif de l'IA est différent du SAST traditionnel
Le SAST traditionnel, y compris le SAST augmenté par l'IA, fonctionne par recherche de motifs. Un ingénieur en sécurité écrit une règle qui dit quelque chose comme « si une entrée utilisateur transite vers cette fonction sans passer par un sanitizer, la signaler comme une injection SQL ». L'outil analyse votre code en un arbre syntaxique abstrait, trace la manière dont les données circulent dans l'application, puis recherche les endroits où la règle se déclenche. Le SAST est déterministe, il reproduit donc les mêmes résultats pour le même code à chaque fois, c'est pourquoi le SAST est rapide, peu coûteux et suffisamment fiable pour valider chaque commit en CI/CD.
L'inconvénient est que la recherche de motifs n'a aucune idée de ce que le code est censé faire, seulement ce qu'il dit littéralement. Par exemple, le SAST n'aurait pas de règle qui détecterait « logiquement, ce point de terminaison devrait vérifier si l'utilisateur possède la ressource avant de la modifier, mais il ne le fait pas ». Ce n'est pas un motif encodable et nécessite qu'un humain ou une IA y « réfléchisse ».
C'est pourquoi le SAST natif de l'IA peut trouver des vulnérabilités plus complexes. Il suit les références à travers les fichiers, trace les requêtes à travers les services, demande qui appelle une fonction et quelles permissions ils devraient avoir, et compare ce que le code fait à ce qu'il devrait faire. La même vulnérabilité qui échappe à chaque règle de recherche de motifs apparaît parce que le modèle peut raisonner sur le contrôle manquant, et non pas seulement chercher un sink qui n'est pas là.
Une autre différence est la couverture linguistique. Avec le SAST traditionnel, des règles doivent être écrites pour chaque langage que le moteur doit prendre en charge. Avec le SAST IA, l'IA maîtrise tous les langages potentiels dans lesquels votre base de code peut être écrite, ce qui lui permet de soutenir les organisations ayant des bases de code dans de nombreux langages différents ou peu courants.
Le SAST IA est également plus coûteux par analyse que le SAST. Une exécution qui prend une demi-heure et coûte quelques centaines de dollars n'est pas quelque chose que l'on place devant chaque pull request. Les considérations économiques poussent certains à adopter une cadence différente pour le SAST IA par rapport au SAST déterministe, le réservant aux changements à enjeux élevés et aux audits de version. Ces compromis expliquent pourquoi le SAST IA est un ajout à la pile AppSec, et non un remplacement.
Ce que le SAST IA détecte
Les vulnérabilités pour lesquelles le SAST IA est conçu sont celles que le SAST traditionnel a historiquement laissées aux humains. Les chaînes d'exploitation en plusieurs étapes apparaissent parce que le modèle peut relier des résultats qui semblent sans rapport. Une divulgation d'informations de faible gravité, un jeton de session à portée limitée et une politique CORS permissive peuvent s'enchaîner pour aboutir à une prise de contrôle complète du compte. Cela inclut :
- IDORs et contrôle d’accès défaillant : L'IA peut tracer une requête depuis le gestionnaire de route à travers la requête de base de données et remarquer que rien entre les deux n'impose la propriété.
- Escalade de privilèges à travers les limites de service :
- Contournements de logique métier : l'IA peut raisonner sur ce que le code impose et remarquer quand l'application est incomplète, comme si un contrôle de niveau d'abonnement était manquant sur un point de terminaison.
{{idors}}
Comment le SAST IA se compare-t-il au pentest IA ?
La frontière entre le SAST IA et le pentest IA peut également être floue, en partie parce que les deux outils peuvent prétendre trouver les mêmes vulnérabilités et qu'ils partagent souvent une conception architecturale similaire.
Le SAST IA n'a besoin que du code source. Il n'a pas besoin et n'utilise pas d'application déployée. Cela le rend utilisable sur du code qui n'est pas encore en cours d'exécution et sur des chemins de code qu'un test en direct ne pourrait pas exercer en toute sécurité. Cependant, parce qu'il ne peut pas valider si chaque chemin est réellement exploitable, il produit plus de faux positifs qu'un pentest en direct. Le SAST IA raisonne sur le code sans l'exécuter, il peut donc signaler quelque chose qui ressemble à une vulnérabilité mais qui ne se déclenchera pas à l'exécution. En ratissant plus large, il détecte des choses qu'un pentest ne peut pas atteindre, mais les résultats ne peuvent pas être testés.
Le pentest IA teste une application en cours d'exécution. Le moteur exerce l'application comme le ferait un attaquant en tentant de véritables exploits. Les résultats sont accompagnés de preuves, comme la confirmation que la requête HTTP a réellement fonctionné. Certains outils de pentest IA acceptent également le code source comme contexte supplémentaire (appelé pentest en boîte blanche), ce qui permet à l'IA de lire le code et de raisonner sur la logique de l'application parallèlement à l'exploitation en direct. À cet égard, le pentest IA ressemble au SAST IA, car ils lisent tous deux le code source pour trouver des vulnérabilités. C'est pourquoi ils peuvent tous deux trouver des vulnérabilités complexes comme les IDORs et les erreurs de logique métier. La différence est qu'un pentest exploite la vulnérabilité, de sorte que le résultat est accompagné d'une preuve.
Un pentest fournit également une documentation pour un audit. Les pentests IA sont acceptés dans de plus en plus de certifications de conformité, et sont moins chers et plus rapides que les alternatives de pentesting manuel.
Ces outils ne se remplacent pas mutuellement. L'AI SAST s'exécute sur les modifications avant leur déploiement et sur les chemins de code qui ne sont pas testables en toute sécurité en temps d'exécution. Le pentest IA s'exécute sur les environnements déployés pour valider ce qui est réellement exploitable en production.
Avez-vous besoin de SAST, d'AI SAST et de pentest IA ?
Vous pouvez bénéficier des trois, mais à des fréquences différentes. Les petites équipes peuvent choisir de n'utiliser que le SAST et le pentest IA, tandis que les grandes organisations peuvent opter pour une approche très complète et les utiliser tous. Chaque couche répond à une question différente et chacune découvre une catégorie de bugs que les autres manquent.
- Le SAST déterministe s'exécute sur chaque commit. Il détecte les vulnérabilités courantes OWASP qui correspondent à des schémas connus, rapidement et à moindre coût. Cela fait partie de la stack de chaque organisation. Indépendamment de la terminologie du fournisseur, les meilleurs outils SAST intègrent le tri et la correction automatique par IA.
- L'AI SAST s'exécute sur les modifications et les chemins de code où la logique est la plus critique, les endroits que le SAST ne peut pas atteindre structurellement. Il est plus coûteux que le SAST basé sur des règles, mais moins cher que le pentest IA.
- Le pentest IA s'exécute sur l'application déployée, validant ce qui est réellement exploitable en runtime. Il est exhaustif mais coûte plus cher. Pour certains, le pentesting est plus efficace périodiquement ou lors de versions majeures. Les grandes entreprises ayant des exigences de sécurité strictes, cependant, pourraient envisager un pentest IA continu.
En règle générale, SAST toujours, AI SAST souvent, pentest IA de temps en temps.
Ce que l'AI SAST signifie pour les équipes AppSec
Le SAST natif IA couvre l'espace entre le SAST basé sur des règles et les pentests complexes. La correspondance de motifs a toujours été aveugle aux failles logiques, et les équipes AppSec ont compensé avec des code review, des pentests et des programmes de bug bounty. L'AI SAST automatise une partie de ce que ces programmes faisaient, à un coût qui s'adapte mieux que les humains, avec une couverture qui s'améliore à mesure que les modèles s'améliorent.
Aikido une solution SAST basée sur l'IA SAST analyse de code par IA, un moteur agentique qui effectue des raisonnements à travers l'ensemble du code pour détecter les cas que SAST ne peut pas détecter SAST . Il fonctionne en parallèle avec Aikido SAST, et non en son lieu et place, ce dernier étant dès le départ optimisé par l’IA grâce au triage par IA et correction automatique par IA. Aikido l’une des rares plateformes à proposer à la fois SAST natif de l’IA SAST SAST assisté par l’IA, ce qui vous permet de configurer la couverture de sécurité la mieux adaptée à votre organisation.

