Security musings

Catégories

Tags

🔍 Licence d'Utilisation 🔍

Sauf mention contraire, le contenu de ce blog est sous licence CC BY-NC-ND 4.0.

© 2025 à 2042 Sébastien Gioria. Tous droits réservés.

⏱️
Temps de lecture estimé
~8 minutes

Cet article fait partie de la série OWASP Agentic Skills Top 10. Retrouvez l’introduction et le plan complet sur la page de la série.

En janvier 2026, 1 184 skills malveillants ont été déployés sur ClawHub en trois jours. Cinq des sept skills les plus téléchargés au pic de l’infection étaient des malwares confirmés. La campagne ClawHavoc a exploité l’absence totale de contrôle de provenance sur le registre : pas de signature, pas de vérification d’identité des publishers, pas de scan automatisé.

AST01 couvre ce risque : des skills publiés sur des registres publics, qui semblent légitimes mais contiennent des payloads malveillants : credential stealers, reverse shells, backdoors, ou instructions de social engineering embarquées dans le Markdown.


Description du risque

Un skill malveillant se présente comme un outil utile (générateur de tests unitaires, assistant de code review, analyseur de dépendances) mais embarque un payload qui s’exécute avec les privilèges complets de l’agent hôte. L’agent ayant accès au shell, au filesystem, aux variables d’environnement et au réseau, le skill malveillant hérite de tout.

Pourquoi les skills échappent aux scanners classiques

Un package npm malveillant exploite du code. Un skill malveillant exploite deux couches simultanément :

  1. La couche code : scripts shell, appels Python, commandes système
  2. La couche langage naturel : instructions en Markdown qui ordonnent à l’agent de réaliser des actions (lire des fichiers, envoyer des données)

Snyk a confirmé que 100% des skills malveillants analysés combinaient les deux vecteurs d’attaque.


Quelques chiffres remontés par les chercheurs

Incident Date Impact
ClawHavoc Jan 2026 1 184 skills malveillants sur 12 comptes, C2 commun 91.92.242[.]30. AMOS (Atomic Stealer) ciblant macOS : wallets crypto, clés SSH, mots de passe navigateur
ToxicSkills Fév 2026 76 payloads malveillants confirmés sur 3 984 skills scannés. 13,4% de taux critique
Faux “Google” skill Fév 2026 Typosquatting sur ClawHub avec nom/description/README professionnels. Snyk a documenté le skill passant l’inspection visuelle
Alice / Caterpillar Fév 2026 Skills activement malveillants détectés par analyse comportementale chez 6 000+ utilisateurs

Scénarios d’attaque

Six vecteurs reviennent dans les incidents documentés :

1. Typosquatting

google-workspace vs gogle-workspace. L’attaquant publie un skill au nom quasi-identique à un outil populaire. L’utilisateur qui fait une faute de frappe installe le malware.

2. Social engineering dans les prérequis

Le SKILL.md contient une section “Prerequisites” qui demande à l’utilisateur de copier-coller des commandes terminal pour installer des “helper tools” depuis un domaine contrôlé par l’attaquant.

3. Persistance via SOUL.md

Le skill malveillant écrit des instructions de backdoor dans le fichier d’identité de l’agent (SOUL.md). Le backdoor survit à la désinstallation du skill, car SOUL.md persiste entre les sessions.

4. Memory poisoning

Le skill injecte du contenu malveillant dans MEMORY.md, ce qui modifie le comportement de l’agent dans toutes les sessions futures. L’agent exécute les commandes de l’attaquant sans qu’aucun skill malveillant ne soit encore installé.

5. ClickFix

De faux dialogues “setup required” forcent l’utilisateur à exécuter des scripts malveillants pour “activer” le skill.

6. WebSocket hijacking

Le skill établit une connexion WebSocket persistante vers un serveur C2. L’attaquant peut envoyer des commandes en temps réel à l’agent.


Mitigations

  1. Exiger une signature cryptographique ed25519 sur tous les skills publiés ; refuser l’installation de skills non signés.
  2. Mettre en place une PKI pour les registres de skills, pas seulement une vérification de nom.
  3. Scanner les skills à la publication et à l’installation par analyse comportementale, pas uniquement par pattern matching.
  4. Isoler l’exécution des skills dans des conteneurs ou des sandboxes dédiées.
  5. Auditer les actions des skills par logging structuré (fichiers, shell, réseau).
  6. Afficher le niveau de confiance du publisher, le nombre d’installations et le statut de scan dans l’UI du registre.
  7. Ne jamais auto-exécuter les sections “Prerequisites” sans review explicite de l’utilisateur.
  8. Pinner les skills installés par hash et alerter sur toute modification.

Mapping OWASP

  • LLM03 (Supply Chain)
  • LLM01 (Prompt Injection, indirect)
  • ASVS V14 (Configuration)

Risques liés


Quelques références pour aller plus loin


À retenir 📌

Les skills malveillants exploitent deux couches simultanément : le code et le langage naturel. Les scanners classiques ne voient que la première.

La persistance via SOUL.md et MEMORY.md permet à un skill malveillant de survivre à sa propre désinstallation.

La mitigation commence par la signature cryptographique et l'analyse comportementale en sandbox.

AST01