Approche de Développement

Liste blanche de commandes vs exécution en bac à sable : sécuriser les agents de codage IA

GuardFall a contourné 10 des 11 agents de codage IA. Liste blanche de commandes contre exécution en bac à sable : quelle défense arrête vraiment l'injection shell – et pourquoi il vous faut les deux.

2
Liste blanche de commandes
vs
3
Exécution en bac à sable
Verdict Rapide

Ce sont deux couches d'une même défense, pas des rivales. La leçon de GuardFall : les listes noires au niveau du texte échouent – chez un agent, une regex de 30 motifs a été contournée par la suppression des guillemets et l'espacement $IFS. Si vous utilisez une liste blanche, vous devez donc analyser la commande exactement comme le fera bash, à la manière de Continue. Mais la liste blanche seule reste fragile face aux contournements inédits, et un bac à sable seul laisse un agent détourné exfiltrer des données à l'intérieur de sa boîte ou corrompre sa propre sortie. Utilisez les deux : une liste blanche au niveau de la commande pour bloquer la classe destructrice connue avant l'exécution, un bac à sable sans réseau ni secrets pour limiter le rayon d'action, et acheminez les effets de bord réels via un courtier situé hors du bac à sable. Prévention plus confinement l'emporte sur l'une ou l'autre isolée.

Comparaison Détaillée

Une analyse comparative des facteurs clés pour vous aider à faire le bon choix.

Facteur
Liste blanche de commandesRecommandé
Exécution en bac à sableGagnant
Objectif principal de la défense
Empêcher les commandes malveillantes avant leur exécution
Confiner le rayon d'action après l'exécution
Résistance aux astuces shell de GuardFall
Forte – si l'analyseur reproduit la gestion par bash des guillemets et de $IFS
Nulle au niveau de la commande ; celle-ci s'exécute, seuls ses dégâts sont enfermés
Pire cas en cas de contournement
La commande malveillante s'exécute avec les privilèges hôte de l'agent
Les dégâts restent dans un bac à sable éphémère et jetable
Impact sur le travail légitime de l'agent
Des commandes inhabituelles mais sûres peuvent être bloquées à tort
Liberté totale du shell à l'intérieur de la boîte
Exposition des secrets et du réseau
N'isole pas les secrets ; une commande autorisée peut lire les variables d'environnement
Un bac à sable sans réseau ni secrets limite l'exfiltration
Auditabilité
Une politique explicite d'autorisation/refus produit un journal clair et vérifiable
Ce qui s'est exécuté dans la boîte reste opaque sans instrumentation séparée
Mise en place et maintenance
Maintenir à jour un analyseur fidèle au shell et la politique à mesure que les tactiques évoluent
Provisionner et gérer le cycle de vie de microVM ou de conteneurs gVisor
Score Total2/ 73/ 72 égalités
Objectif principal de la défense
Liste blanche de commandes
Empêcher les commandes malveillantes avant leur exécution
Exécution en bac à sable
Confiner le rayon d'action après l'exécution
Résistance aux astuces shell de GuardFall
Liste blanche de commandes
Forte – si l'analyseur reproduit la gestion par bash des guillemets et de $IFS
Exécution en bac à sable
Nulle au niveau de la commande ; celle-ci s'exécute, seuls ses dégâts sont enfermés
Pire cas en cas de contournement
Liste blanche de commandes
La commande malveillante s'exécute avec les privilèges hôte de l'agent
Exécution en bac à sable
Les dégâts restent dans un bac à sable éphémère et jetable
Impact sur le travail légitime de l'agent
Liste blanche de commandes
Des commandes inhabituelles mais sûres peuvent être bloquées à tort
Exécution en bac à sable
Liberté totale du shell à l'intérieur de la boîte
Exposition des secrets et du réseau
Liste blanche de commandes
N'isole pas les secrets ; une commande autorisée peut lire les variables d'environnement
Exécution en bac à sable
Un bac à sable sans réseau ni secrets limite l'exfiltration
Auditabilité
Liste blanche de commandes
Une politique explicite d'autorisation/refus produit un journal clair et vérifiable
Exécution en bac à sable
Ce qui s'est exécuté dans la boîte reste opaque sans instrumentation séparée
Mise en place et maintenance
Liste blanche de commandes
Maintenir à jour un analyseur fidèle au shell et la politique à mesure que les tactiques évoluent
Exécution en bac à sable
Provisionner et gérer le cycle de vie de microVM ou de conteneurs gVisor

Statistiques Clés

Données réelles provenant de sources vérifiées du secteur pour appuyer votre décision.

10 des 11 agents de codage IA open source ont été contournés par la technique d'injection shell GuardFall

Adversa AI (GuardFall)

≈548 000 étoiles GitHub cumulées pour les agents concernés

SecurityWeek

Un seul agent (Continue) a résisté – il simule l'analyse du shell avant l'exécution et bloque fermement les commandes destructrices

The Hacker News

Une liste noire regex de 30 motifs a été contournée chez un agent via des réécritures shell (guillemets, $IFS)

Adversa AI (GuardFall)

Les attaques par injection de prompt ont touché plus de 90 organisations en 2025

Forbes / CrowdStrike

Straiker a levé une série A de 64 M$ pour sécuriser la main-d'œuvre agentique

PR Newswire

Toutes les statistiques proviennent de sources tierces vérifiées. La source, l'année et le lien direct sont affichés pour chaque chiffre.

Quand Choisir Chaque Option

Un guide clair basé sur votre situation spécifique et vos besoins.

Choisissez Liste blanche de commandes quand...

  • L'agent doit s'exécuter directement sur l'hôte ou la machine de développement, sans budget de VM
  • Vous avez besoin de décisions d'autorisation/refus explicites et vérifiables pour la conformité
  • L'ensemble de commandes de l'agent est restreint et bien défini
  • Vous voulez bloquer les commandes destructrices connues avant même leur exécution

Choisissez Exécution en bac à sable quand...

  • L'agent exécute du code arbitraire et non fiable issu de dépôts open source ou de la CI
  • Vous ne pouvez pas énumérer à l'avance toutes les commandes sûres
  • Le confinement du rayon d'action compte plus que la prévention en amont
  • L'agent traite des entrées non fiables : dépôts, contenus web, extensions tierces

Notre Recommandation

Ce sont deux couches d'une même défense, pas des rivales. La leçon de GuardFall : les listes noires au niveau du texte échouent – chez un agent, une regex de 30 motifs a été contournée par la suppression des guillemets et l'espacement $IFS. Si vous utilisez une liste blanche, vous devez donc analyser la commande exactement comme le fera bash, à la manière de Continue. Mais la liste blanche seule reste fragile face aux contournements inédits, et un bac à sable seul laisse un agent détourné exfiltrer des données à l'intérieur de sa boîte ou corrompre sa propre sortie. Utilisez les deux : une liste blanche au niveau de la commande pour bloquer la classe destructrice connue avant l'exécution, un bac à sable sans réseau ni secrets pour limiter le rayon d'action, et acheminez les effets de bord réels via un courtier situé hors du bac à sable. Prévention plus confinement l'emporte sur l'une ou l'autre isolée.

Questions Fréquentes

Réponses aux questions courantes sur cette comparaison.

Non. Un bac à sable confine les dégâts, mais un agent détourné peut encore exfiltrer des données à l'intérieur de sa boîte ou corrompre la sortie qu'il renvoie. Associez-le à des contrôles au niveau de la commande et à une politique sans réseau ni secrets.
Les agents vérifiaient le texte brut de la commande alors que bash la réécrit ensuite – suppression des guillemets, espacement $IFS et astuces similaires. Une liste noire regex de 30 motifs a ainsi été contournée. Vous devez analyser la commande telle que le shell l'évaluera réellement, ce que fait Continue.
Oui, et vous le devriez. La défense en profondeur consiste à utiliser une liste blanche au niveau de la commande, à mettre l'exécution en bac à sable et à acheminer les effets de bord réels via un courtier situé hors du bac à sable.
L'étude GuardFall portait sur des agents open source, mais la faille d'analyse du shell est structurelle. Tout agent qui appelle un shell et compare du texte au lieu de l'analyser est exposé. Vérifiez que votre agent analyse les commandes plutôt que de les filtrer par motifs.

Besoin d'aide pour décider ?

Réservez une consultation gratuite de 30 minutes et nous vous aiderons à déterminer la meilleure approche pour votre projet spécifique.

Consultation gratuite
Sans engagement
Réponse sous 24h