Les scanners SAST classiques excellent pour repérer des expressions régulières connues, mais passent régulièrement à côté des failles logiques : une route FastAPI qui oublie de vérifier le périmètre d’un utilisateur, un script bash qui évalue une entrée issue d’un flux RSS externe, ou une désérialisation implicite.
Le dépôt trailofbits/skills, publié par les chercheurs en sécurité de Trail of Bits, transforme ces méthodologies d’audit offensif et défensif en workflows structurés pour agents IA.
Caractéristiques
| Skill / Axe d’Audit Trail of Bits | Risque ciblé | Garde-fou appliqué en production |
|---|---|---|
differential-review (Revue de diff) | Régression d’ACL ou contournement d’auth introduit par un patch | Inspection systématique de chaque route modifiée avant merge |
variant-analysis (Chasse aux variantes) | Faille corrigée à un endroit mais présente ailleurs dans le dépôt | Recherche AST (Graphify) de tous les patterns similaires |
trust-boundaries (Frontières de confiance) | Injections SQL, Shell ou Prompt Injection indirecte | Séparation stricte données externes / canal d’instructions LLM |
crypto-and-auth (Cryptographie & SSO) | Jeton forgé ou attaque temporelle (timing attack) | Signatures HMAC-SHA256 et comparaison en temps constant (hmac.compare_digest) |
container-hardening (Isolation Runtime) | Évasion de conteneur ou escalade de privilèges | Zéro docker.sock exposé, cgroups stricts et exécution non-root |
1. Chasser les failles logiques plutôt que le bruit syntaxique
Associé au rôle de CISO Zero-Trust (Fable / Claude Opus) au sein de mon Karpathy LLM Council, ce référentiel guide l’audit sur quatre axes critiques :
- Analyse des frontières de confiance (Trust Boundaries) : tracer chaque donnée non fiable (webhook, e-mail ingéré, flux RSS externe dans une enclave isolée, paramètres d’URL) depuis son point d’entrée jusqu’aux appels système ou requêtes de base de données ;
- Détection des injections de prompt indirectes : isoler strictement les données externes du canal d’instruction des agents autonomes ;
- Vérification cryptographique : imposer des signatures
HMAC-SHA256avec comparaison en temps constant (hmac.compare_digest) sur les diodes de données inter-conteneurs ; - Revue différentielle des privilèges : vérifier qu’aucun conteneur applicatif n’expose
/var/run/docker.sockni ne tourne enrootsans isolation de namespace.
–> Lorsqu’une faille est identifiée sur un endpoint, le skill variant-analysis oblige l’agent à chercher immédiatement toutes les autres fonctions du codebase écrites sur le même modèle afin d’éradiquer toute la famille de bugs en un seul commit.
2. De l’audit ponctuel au test Canary permanent
Chez Trail of Bits, toute vulnérabilité identifiée doit aboutir à un test de non-régression déterministe. Sur une architecture de production, chaque trouvaille issue d’une revue AppSec est immédiatement convertie en un test canary dans la suite d’audit automatisée (contrôles bloquants en pre-commit), garantissant qu’une faille corrigée ne puisse jamais réapparaître silencieusement.
| Commande | Description |
|---|---|
`differential-review (git diff)`
| Auditer uniquement la surface d'attaque modifiée par le commit ou la PR en cours. |
`variant-analysis (rg / graphify)`
| Chercher toutes les occurrences jumelles d'un pattern vulnérable dans le dépôt. |
`hmac.compare_digest(sig_a, sig_b)`
| Prévenir les attaques par canal auxiliaire temporel lors de la vérification de jetons. |
`pytest -q tests/test_security_canaries.py`
| Sanctuariser chaque faille corrigée par un test canary bloquant en pre-commit. |
3. Dépôt GitHub Officiel
- Trail of Bits Security Skills : https://github.com/trailofbits/skills
