Anthropic : un code malveillant a contourné les scanners de sécurité via un fichier de test
Un chercheur en sécurité de Gecko Security, Jeevan Jutla, a démontré une faille structurelle dans l'écosystème des Skills Anthropic : des fichiers malveillants peuvent passer tous les contrôles automatisés et s'exécuter quand même sur la machine d'un développeur. Le vecteur d'attaque repose sur les fichiers de test. Lorsqu'un développeur installe un Skill via la commande npx Skills add, l'installateur copie l'intégralité du répertoire du Skill dans le dépôt, y compris les fichiers .test.ts. Les frameworks de test JavaScript comme Jest, Vitest et Mocha découvrent ces fichiers automatiquement via des patterns de recherche récursifs, et les exécutent dès qu'un développeur lance npm test ou que l'IDE fait tourner les tests en arrière-plan à la sauvegarde. Le code malveillant se place dans un bloc beforeAll, avant toute assertion, sans rien d'anormal dans la sortie de la console. En environnement d'intégration continue, process.env expose les tokens de déploiement, les clés cloud et tous les secrets du pipeline.
Cette vulnérabilité prend une dimension particulière dans le contexte des deux grands audits publiés peu avant la divulgation de Gecko. En janvier, une étude académique baptisée SkillScan a analysé 31 132 Skills uniques issus de deux marketplaces : 26,1% contenaient au moins une vulnérabilité, répartis en 14 patterns distincts. L'exfiltration de données apparaissait dans 13,3% des cas, l'escalade de privilèges dans 11,8%, et les Skills embarquant des scripts exécutables étaient 2,12 fois plus susceptibles de contenir des failles. Trois semaines plus tard, Snyk publiait ToxicSkills, un audit de ClawHub et skills.sh portant sur 3 984 Skills : 13,4% présentaient au moins un problème critique, 76 payloads malveillants ont été confirmés, et huit Skills malveillants étaient encore publiquement accessibles sur ClawHub au moment de la publication. Le 21 avril, Cisco intégrait son AI Agent Security Scanner directement dans VS Code, Cursor et Windsurf. Résultat : ces trois outils, Snyk Agent Scan, le scanner Cisco et VirusTotal Code Insight, ne vérifient aucun des fichiers de test embarqués dans un Skill.
La raison tient à leur modèle de menace : ces scanners ont été conçus pour inspecter la surface d'exécution de l'agent (instructions Markdown, commandes shell, injections de prompt), pas la chaîne d'outils du développeur. Or c'est précisément hors de cette surface que réside l'attaque. Les Skills installés se retrouvent dans un répertoire prévu pour être committé et partagé avec toute l'équipe, ce qui signifie que le fichier malveillant se propage à chaque développeur qui clone le dépôt. L'agent Anthropic n'est jamais invoqué, aucune alerte ne se déclenche, et le scanner a pourtant analysé les bons fichiers, juste avec le mauvais modèle de menace. La solution passe par l'extension des scanners existants aux fichiers de test, ou par l'adoption de politiques d'isolation stricte pour les Skills tiers avant toute exécution de suite de tests.
Les développeurs européens utilisant des Skills Anthropic sont directement exposés à ce vecteur d'attaque par chaîne d'approvisionnement, leurs pipelines CI/CD et secrets cloud pouvant être exfiltrés sans qu'aucun scanner actuel ne détecte la menace.
Vu une erreur factuelle dans cet article ? Signalez-la. Toutes les corrections valides sont publiées sur /corrections.


