Faille GuardFall expose les agents IA open source aux risques d'injection shell

Une faille de sécurité critique dans les agents IA open source dédiés au codage et à l'utilisation informatique pourrait permettre aux attaquants d'exécuter des commandes non autorisées sur les systèmes des utilisateurs. Des chercheurs d'Adversa AI ont découvert que dix des onze agents les plus utilisés—dont Hermes, opencode et Goose—sont vulnérables aux injections shell via des contournements dans leurs filtres de commandes. Seul l'agent Continue est resté indemne dans cette analyse.
L'origine du problème
La vulnérabilité, baptisée GuardFall, provient d'un décalage persistant entre la manière dont les filtres de sécurité vérifient les commandes et l'interprétation qu'en fait le shell Bash. La plupart des agents s'appuient sur la correspondance de motifs de chaînes pour bloquer les commandes dangereuses, mais Bash réécrit les commandes avant leur exécution—en développant les variables, supprimant les guillemets et réalisant des substitutions. Cela signifie qu'un filtre peut approuver une commande comme rm$IFS-rf$IFS/ comme "sûre", tandis que Bash l'exécute en trois arguments distincts, lançant effectivement rm -rf /.
Adversa a identifié cinq classes de contournements, chacune exploitant les fonctionnalités de traitement de texte de Bash. Certaines attaques camouflent les commandes à l'aide d'une syntaxe alternative, tandis que d'autres enchaînent des opérations apparemment inoffensives pour obtenir des résultats destructeurs. Les contournements les plus résilients impliquent des commandes comme find /x -delete ou install -m 4755 payload /usr/local/bin/backdoor, qui échappent aux listes de blocage simples centrées sur rm -rf.
Pourquoi le correctif n'est pas simple
Le problème ne réside pas dans une mauvaise programmation, mais dans une faille de conception fondamentale dans la sécurisation des commandes shell par les agents IA. Les filtres qui rejettent des motifs spécifiques échouent face aux commandes réécrites par Bash ou composées de plusieurs étapes. Les recherches d'Adversa ont débuté après avoir découvert un contournement dans NousResearch/hermes-agent, où une liste de blocage regex de 30 motifs a été vaincue par des réécritures shell. Élargir de telles défenses pour couvrir toutes les combinaisons de drapeaux dangereux possibles parmi les utilitaires POSIX nécessiterait une analyse exhaustive par binaire—une tâche ardue pour les mainteneurs open source.
Pour les utilisateurs, le risque réside dans la confiance accordée aux agents IA avec un accès système. Adversa souligne que ces outils fonctionnent souvent avec des privilèges complets de compte, incluant des clés SSH et des identifiants cloud. Bien qu'aucune exploitation active n'ait été signalée, le potentiel d'attaques par injection de requêtes via du contenu non fiable (comme un fichier README corrompu) fait de cette faille une préoccupation urgente pour les développeurs et les organisations utilisant l'assistance IA dans le codage.
Source : Security Affairs. Synthèse éditoriale assistée par IA — TechnoExpress.

