Prompt injection via les skills de Claude Code : comment vérifier un plugin avant de l'installer
Vous utilisez des skills tierces dans Claude Code ou des outils AI similaires ? Chaque skill n'est pas seulement un fichier MD avec des instructions, mais un code potentiellement exécutable avec tous les droits de l'utilisateur. Un développeur sur Habr explique que, via une skill OSS malveillante, un attaquant peut lire discrètement des tokens API, des clés SSH et l'historique des chats. Nous détaillons ce qu'il faut vérifier avant d'installer n'importe quel plugin.
Traité par IA depuis Habr AI ; édité par Hamidun News
Un développeur sur Habr a publié un guide pratique de sécurité en juillet 2026 pour les compétences open-source des outils d'IA — et a expliqué pourquoi une compétence malveillante est plus dangereuse que l'injection de prompt standard : elle s'exécute avec les privilèges de l'utilisateur sans aucun isolement.
Pourquoi une compétence n'est pas juste un prompt ?
Une idée fausse courante : une compétence pour Claude Code ou un outil d'IA similaire est une configuration de texte, sûre par définition. Ouvrez SKILL.md, lisez les instructions — et soyez confiant que tout est sous contrôle.
En pratique, la frontière entre « configuration » et « code exécutable » est depuis longtemps devenue floue. Les compétences modernes incluent :
- Scripts Python ou Bash exécutés via `tool_call`
- Instructions pour travailler avec le système de fichiers local et les variables d'environnement
- Appels à des APIs externes et des points de terminaison de webhook
- Pipelines d'agents multi-étapes avec droits d'accès étendus
Tout cela s'exécute avec les droits de l'utilisateur actuel — sans isolement sandbox par défaut. Une compétence malveillante obtient l'accès aux fichiers, aux tokens API, aux clés SSH et à l'historique des chats : pas à quelque chose d'abstrait, mais à ce qui se trouve sur le disque en ce moment.
C'est exactement ce qui rend le vecteur d'attaque via une compétence fondamentalement différent d'une vulnérabilité de navigateur, par exemple : la compétence ne contourne pas la protection, elle utilise les permissions fournies. Du point de vue du système — ce sont des actions complètement légitimes.
Comment un attaquant utilise une compétence comme vecteur d'attaque
Injection classique de prompt : les instructions malveillantes sont cachées dans les données traitées par le modèle — dans du texte de page Web, un document, un e-mail. Un agent « lit » le contenu et exécute les commandes cachées. Dans le cas des compétences contenant du code exécutable, l'attaque est organisée différemment et plus difficile à détecter.
Une chaîne d'attaque typique via une compétence OSS :
- L'attaquant publie une compétence avec une fonctionnalité véritablement utile — un éditeur, convertisseur, outil de recherche
- Les premiers commits sont propres, la compétence gagne des étoiles et est installée par les utilisateurs
- Après plusieurs mises à jour, une logique malveillante est ajoutée — collecte de fichiers `.env`, tokens API, historique des chats
- L'utilisateur met à jour la compétence sans vérifier la diff — les données vont à un serveur externe
"Une compétence n'est pas une configuration et pas juste un prompt dans SKILL.md.
Cela peut littéralement être du code exécutable avec vos droits"
Contrairement à une vulnérabilité dans un paquet npm que `npm audit` détecte, une compétence malveillante ne laisse pas d'enregistrement CVE — personne ne la scanne automatiquement.
Que vérifier avant d'installer une compétence
Liste de vérification minimale avant d'ajouter la compétence de quelqu'un d'autre :
- Lisez tout le code, pas seulement SKILL.md — Python, Bash, PowerShell dans le répertoire de compétences nécessitent un examen manuel
- Cherchez les demandes externes — `curl`, `fetch`, `requests.get` à des URLs inconnues sans nécessité explicite — un drapeau rouge
- Vérifiez l'accès aux chemins sensibles — `~/.ssh/`, `~/.env`, `.credentials` sans permission explicite de l'utilisateur est inacceptable
- Étudiez l'historique des commits — le code malveillant apparaît souvent plusieurs semaines après une version propre
- Cherchez l'obfuscation — chaînes base64, `eval()` dynamique, noms de variables non standard
- Auditez les dépendances — la logique malveillante peut être dans une bibliothèque auxiliaire, pas dans SKILL.md lui-même
Les compétences inconnues doivent être testées dans un environnement isolé : un profil séparé sans clés API réelles, sans accès aux fichiers de production. L'option optimale est un compte de test dédié sans tokens de production.
Ce que cela signifie
L'écosystème OSS des compétences pour les assistants d'IA répète le chemin de npm d'il y a une décennie : croissance rapide, vérification centralisée faible, l'habitude d'installer sans audit. La différence est fondamentale : une compétence ne s'exécute pas dans un environnement Node isolé, mais directement dans l'environnement de travail de l'utilisateur avec leurs droits. L'audit des compétences avant l'installation n'est pas de la paranoïa, mais la même hygiène de sécurité que `npm audit` avant le déploiement.
Besoin d'une IA qui travaille dans votre entreprise — pas seulement dans votre fil d'actualité?
Je construis de l'IA en production pour les entreprises — CRM sur mesure, outils internes, agents autonomes, automatisation des processus. Vous en êtes propriétaire, adaptée à votre processus, sans coût par utilisateur. Réalisé par Zhemal Khamidun, CPO d'AlpinaGPT (plateforme IA, 6 000+ utilisateurs).
L'essentiel de l'IA — une fois par semaine
Sept actus qui ont vraiment compté, choisies à la main. Sans bruit ni communiqués.
C'est fait ! Vérifiez votre boîte mail pour la confirmation.