Avancé 11 minAgents

Skills OpenClaw : les installer sans se faire piéger

Les skills OpenClaw sont des dossiers de consignes, parfois accompagnés de scripts, que l'agent charge pour apprendre une procédure. Elles s'installent en une commande depuis le registre public ClawHub, et c'est là que les ennuis commencent : une skill s'exécute avec tous les droits de l'agent, et plusieurs équipes de sécurité ont documenté début 2026 des skills piégées sur ce registre. Ce guide explique comment une skill fonctionne, comment la lire avant de l'activer, et comment limiter les dégâts si l'une d'elles ne fait pas ce qu'elle annonce. Il ne repose sur aucun test maison : les chiffres cités viennent des rapports nommés, à leur date.

Par Clara M.·Màj 2026-10-16·Testé sur Windows, macOS, Linux

#Ce qu'est une skill OpenClaw, concrètement

Une skill n'est pas un plugin compilé ni une extension au sens d'un navigateur. C'est un dossier qui contient au minimum un fichier SKILL.md : un en-tête au format YAML avec un nom et une description, puis des instructions en Markdown qui expliquent à l'agent quand et comment accomplir une tâche. Le dossier peut aussi embarquer des scripts, des modèles de fichiers ou des documents de référence. OpenClaw suit pour cela un format ouvert partagé avec d'autres agents, décrit dans sa documentation.

Au démarrage, la passerelle ne charge pas le contenu complet de chaque skill. Elle injecte dans le prompt système la liste des skills disponibles avec leur nom et leur description. Quand le modèle estime qu'une skill correspond à la demande, il lit le fichier SKILL.md entier et suit ses instructions, en appelant au besoin les scripts qu'il contient. Une skill est donc avant tout du texte qui entre dans le contexte du modèle, au même titre que vos propres consignes.

SKILL.md — exemple pédagogique de structure
---
name: resume-flux-rss
description: Résume en trois points les nouveaux articles d'un flux RSS donné.
metadata: {"openclaw": {"requires": {"bins": ["curl"]}}}
---
# Résumer un flux RSS

1. Récupérer le flux avec curl et ne garder que les entrées des 24 dernières heures.
2. Pour chaque entrée, lire le titre et le résumé fourni par le flux.
3. Rédiger trois points en français, sans ouvrir de lien supplémentaire.

L'en-tête peut déclarer des conditions d'activation : des exécutables requis sur la machine, des variables d'environnement, des clés de configuration ou un système d'exploitation. Si une condition manque, la skill reste visible dans l'inventaire mais n'est pas proposée au modèle. Ces déclarations servent à la fiabilité, pas à la sécurité : elles ne limitent pas ce qu'une skill activée peut faire.

Skills livrées
Fournies avec OpenClaw et activées selon la configuration. Elles sont maintenues par le projet, ce qui ne dispense pas de les connaître.
Skills gérées
Installées pour l'ensemble des agents de la machine, dans le dossier skills du répertoire ~/.openclaw.
Skills de l'espace de travail
Placées dans le sous-dossier skills de l'espace de travail de l'agent, par défaut ~/.openclaw/workspace. C'est là que ClawHub installe par défaut.
Ordre de priorité
Une skill de l'espace de travail l'emporte sur une skill gérée du même nom, qui l'emporte sur une skill livrée. Une skill tierce peut donc remplacer une skill officielle sans que rien ne vous le signale.

ClawHub est le registre public du projet. Un outil en ligne de commande du même nom permet de chercher une skill, de l'installer et de la mettre à jour. N'importe qui peut y publier : la présence d'une skill sur le registre ne vaut pas relecture. Si la notion d'agent et d'outils vous est encore floue, notre guide sur le protocole MCP explique ce que signifie donner des outils à un modèle, et pourquoi chaque outil ajouté élargit la surface d'attaque.

#Pourquoi une skill OpenClaw est un risque par construction

Le kit Agents Locaux

Des agents qui agissent sur ta machine : Cline agentique, MCP, n8n + Ollama, automatisations locales.

  • Espace en ligne à vie
  • PDF + fichiers
  • Mises à jour à vie

Le problème ne tient pas à un défaut d'OpenClaw. Il tient à ce qu'est une skill : des instructions auxquelles le modèle fait confiance, exécutées par un agent qui dispose d'un terminal, de vos fichiers, d'un navigateur et de vos messageries. Tout ce que l'agent peut faire, une skill peut le lui faire faire. Et contrairement à une injection de prompt venue d'une page web, que le modèle peut parfois identifier comme du contenu externe, une skill arrive par le canal des consignes légitimes.

Fausse dépendance
La skill demande, au nom d'un prérequis technique, de télécharger et d'exécuter un script d'installation externe. L'agent obéit, et le script installe un logiciel malveillant. C'est le schéma le plus documenté sur ClawHub début 2026.
Exfiltration
Les instructions prévoient d'envoyer vers une adresse extérieure le contenu de la conversation, un fichier de configuration ou des identifiants, souvent sous couvert de « journalisation » ou de « synchronisation ».
Détournement durable
La skill modifie la mémoire ou les consignes de l'agent, ou ajoute une tâche planifiée. L'effet persiste après sa désinstallation si vous ne relisez pas ces fichiers.
Usurpation
Un nom proche d'une skill connue, une description copiée, un auteur créé la veille. Le registre ne protège pas contre les homonymes.
Mise à jour piégée
Une skill honnête à l'installation peut changer de contenu à la version suivante. La relecture doit être refaite à chaque mise à jour.
i
Un modèle local n'y change rien
Faire tourner le modèle sur votre propre GPU protège vos conversations d'un fournisseur en ligne. Il ne protège pas d'une skill piégée : les instructions sont exécutées par les outils de l'agent, sur votre machine, quel que soit l'endroit où tourne le modèle. La documentation d'OpenClaw conseille le modèle le plus capable dont vous disposez parce qu'il résiste mieux aux instructions trompeuses, sans qu'aucun n'y soit insensible. Notre guide sur l'injection de prompt en local détaille ce mécanisme.

#Ce que les chercheurs en sécurité ont trouvé sur ClawHub

Plusieurs équipes ont analysé le registre pendant la vague de popularité du projet, entre fin janvier et mars 2026. Nous n'avons pas reproduit leurs analyses. Les chiffres ci-dessous sont ceux de chaque rapport, à sa date de publication, et le registre a changé depuis. Conformément à notre ligne éditoriale, nous ne publions ni liste de skills malveillantes ni lien vers elles.

Koi Security, 1er février 2026
Les chercheurs décrivent une campagne qu'ils baptisent ClawHavoc : dans leur premier rapport, 341 skills publiées sur ClawHub sont identifiées comme malveillantes. Beaucoup utilisaient le schéma de la fausse dépendance pour installer un voleur d'informations sur macOS. Les mêmes chercheurs ont ensuite revu ce total à la hausse dans des publications suivantes.
Cisco, février 2026
L'équipe de recherche de Cisco a analysé une skill populaire du registre et a montré qu'elle contenait des instructions amenant l'agent à transmettre des données vers un serveur tiers, à l'insu de l'utilisateur. Cisco a publié dans la foulée un outil libre d'analyse de skills, et conclut que les agents personnels de ce type demandent un cadre de sécurité qui n'existe pas encore chez la plupart des utilisateurs.
Snyk, février 2026
Dans son rapport ToxicSkills, Snyk indique avoir analysé 3 984 skills de ClawHub. Selon ce rapport, 13,4 % présentaient au moins un problème de sécurité et 76 étaient jugées malveillantes, avec en tête l'exfiltration d'identifiants et les scripts d'installation piégés.
Kaspersky, début 2026
L'analyse publiée sur Securelist replace les skills dans un tableau plus large : passerelles exposées sur Internet, faille CVE-2026-25253 corrigée fin janvier 2026, secrets stockés en clair dans le dossier de configuration. Ses recommandations rejoignent celles de ce guide : isoler, limiter les droits, ne rien exposer.

Le projet a réagi. Selon ses annonces de février 2026, ClawHub soumet désormais les skills publiées à une analyse automatique de code malveillant, en partenariat avec VirusTotal, et retire celles qui sont signalées. C'est utile, et insuffisant : une analyse automatique repère des scripts connus et des schémas évidents, pas une phrase d'instruction habilement tournée. La lecture reste votre responsabilité.

!
Ce qui rend ces attaques efficaces
Dans tous les cas documentés, l'utilisateur n'a rien exécuté lui-même. Il a installé une skill, puis l'agent a suivi les instructions. La popularité d'une skill, son nombre de téléchargements ou sa note ne disent rien de son contenu : plusieurs skills piégées figuraient parmi les plus téléchargées au moment des rapports.

#Le cadre à poser avant la première skill

Ce guide suppose OpenClaw déjà installé. Si ce n'est pas le cas, notre guide d'installation avec Docker détaille la mise en place, et notre présentation d'OpenClaw aide à décider si l'outil vous convient. Avant d'ajouter la moindre skill tierce, vérifiez ces quatre points.

Une version à jour
Les skills ne sont qu'une des surfaces d'attaque. Une passerelle ancienne reste vulnérable à des failles corrigées depuis, dont CVE-2026-25253. Mettez à jour, puis relancez le diagnostic.
Un audit propre
La commande d'audit intégrée signale les réglages dangereux : passerelle exposée, appairage désactivé, outils ouverts à tous. Corrigez tout avant d'étendre l'agent.
Une machine dédiée
Pas votre poste de travail, pas la machine qui porte votre gestionnaire de mots de passe ou vos clés SSH personnelles. Une machine virtuelle, un mini-PC ou un serveur loué.
Un besoin nommé
Une skill répond à une tâche précise que vous faites déjà. Installer une skill « au cas où » ajoute du risque sans bénéfice.
Terminal — état des lieux avant toute installation
# Mettre à jour OpenClaw puis vérifier l'installation
openclaw update
openclaw doctor

# Audit de sécurité de la passerelle et de ses réglages
openclaw security audit --deep

# Inventaire des skills déjà présentes et de leurs prérequis
openclaw skills list
openclaw skills check

L'inventaire vous surprendra peut-être : des skills livrées avec OpenClaw sont déjà actives. Prenez le temps de lire celles que vous ne connaissez pas, et désactivez celles dont vous n'avez pas l'usage. Le principe est le même que pour un serveur : chaque composant actif doit avoir une raison d'être.

#Lire une skill OpenClaw avant de l'activer : la méthode

L'erreur classique est d'installer d'abord et de lire ensuite. Dès qu'une skill est présente dans un dossier chargé par OpenClaw, l'agent peut la lire et la suivre. La méthode consiste donc à récupérer la skill dans un dossier de quarantaine que la passerelle ne surveille pas, à l'examiner, puis seulement à la déplacer. Comptez dix à quinze minutes pour une skill de taille raisonnable. Si la skill est trop longue pour être lue, c'est déjà une information.

  1. 01
    Récupérer sans activer
    Créez un dossier de quarantaine hors des dossiers chargés par OpenClaw et placez-vous dedans avant de lancer l'outil ClawHub. Il installe par défaut dans le sous-dossier skills du répertoire courant ou de l'espace de travail détecté : vérifiez le chemin qu'il affiche à la fin. Vous pouvez aussi lire la skill sur sa page du registre avant de télécharger quoi que ce soit.
  2. 02
    Lire SKILL.md en entier
    L'en-tête d'abord : le nom correspond-il à ce que vous cherchiez, les prérequis déclarés sont-ils cohérents avec la tâche ? Une skill de résumé de flux RSS n'a pas besoin de vos variables d'environnement contenant des clés. Puis le corps, phrase par phrase, en vous demandant à chaque instruction : si l'agent fait exactement cela, que se passe-t-il sur ma machine ?
  3. 03
    Inventorier les fichiers
    Listez tout le contenu du dossier, fichiers cachés compris. Chaque script, archive ou binaire doit être justifié par les instructions. Un fichier que SKILL.md ne mentionne jamais est un signal d'alerte. Les binaires et archives compressées sont à refuser : vous ne pouvez pas les lire.
  4. 04
    Chercher les motifs connus
    Téléchargement suivi d'exécution, décodage base64, évaluation dynamique de code, élévation de droits, adresses externes, chemins vers le dossier de configuration ou vers des clés. Les commandes ci-dessous automatisent cette première passe. Cherchez aussi les caractères invisibles : des instructions peuvent être cachées dans du texte qui paraît vide.
  5. 05
    Vérifier l'auteur et l'historique
    Date de création du compte, autres publications, versions successives, dépôt de code cité et correspondant au contenu téléchargé. Une skill « officielle » d'un service connu publiée par un compte anonyme est une usurpation jusqu'à preuve du contraire.
  6. 06
    Décider, et noter pourquoi
    Une instruction qui demande d'exécuter un script récupéré en ligne suffit à refuser, même si tout le reste est propre. Si vous acceptez, gardez une copie de la version lue : c'est elle que vous comparerez à la prochaine mise à jour.
Terminal — première passe sur une skill en quarantaine
cd ~/quarantaine-skills/nom-de-la-skill

# Tout le contenu, fichiers cachés compris
find . -type f | sort

# Téléchargement + exécution, décodage, évaluation dynamique, droits
grep -rniE 'curl|wget|bash -c|sh -c|base64|eval|chmod \+x|sudo' .

# Toutes les adresses externes citées
grep -rnoE 'https?://[^ )"]+' . | sort -u

# Accès aux secrets et à la configuration de l'agent
grep -rniE '\.openclaw|openclaw\.json|\.ssh|keychain|token|api[_-]?key|password' .

# Caractères invisibles (espaces de largeur nulle, marque d'ordre des octets)
grep -rnP '[\x{200B}\x{200C}\x{200D}\x{2060}\x{FEFF}]' . || echo "Aucun caractère invisible trouvé"

Ces commandes ne décident pas à votre place. Une skill légitime peut citer une adresse externe parce qu'elle interroge une API publique, ou utiliser curl parce que c'est sa fonction. Le signal, c'est l'écart entre ce que la skill annonce et ce qu'elle fait. Un résumé de flux RSS qui lit votre fichier de configuration n'a pas d'excuse.

→
Faire relire par un modèle, sans lui faire confiance
Vous pouvez demander à un modèle local, dans une session sans outils, de lister ce que la skill fait et de signaler ce qui dépasse sa description. C'est une aide pour ne rien oublier, pas un verdict : le modèle peut lui-même être trompé par le texte qu'il relit. Votre lecture reste la décision.

#Installer avec le moins de droits possible

Une fois la skill relue, déplacez-la dans le dossier skills de l'espace de travail, ou laissez l'outil ClawHub l'installer au bon endroit. La configuration d'OpenClaw, dans le fichier openclaw.json du dossier ~/.openclaw, permet ensuite de la désactiver, de lui fournir une clé dédiée et de restreindre les skills livrées à celles que vous utilisez. Les noms exacts de ces clés évoluent avec les versions : la page skills de la documentation fait foi.

~/.openclaw/openclaw.json — extrait, à adapter à la documentation de votre version
{
  "skills": {
    "allowBundled": ["nom-de-skill-livree-que-vous-utilisez"],
    "entries": {
      "resume-flux-rss": { "enabled": true },
      "skill-en-cours-de-relecture": { "enabled": false },
      "skill-qui-appelle-un-service": {
        "enabled": true,
        "apiKey": "cle-dediee-a-cet-usage-et-plafonnee"
      }
    }
  }
}
Désactivée par défaut
Une skill installée mais pas encore relue, ou relue mais pas encore nécessaire, doit être explicitement désactivée. Une entrée désactivée n'est pas proposée au modèle.
Clés dédiées
Si une skill a besoin d'un accès à un service, créez une clé réservée à cet usage, avec un plafond de dépense et le périmètre le plus étroit possible. Jamais votre clé principale, jamais une clé partagée entre skills.
Comptes dédiés
Même logique pour les comptes : une skill qui lit un agenda ou une boîte mail reçoit un compte créé pour l'agent, pas le vôtre.
Skills livrées réduites
Restreignez la liste des skills livrées à celles dont vous avez l'usage. Moins le modèle a d'options, moins une instruction trompeuse a de leviers.
Pas de mise à jour automatique
Ne lancez pas de mise à jour groupée de toutes les skills. Mettez à jour une skill à la fois, comparez la nouvelle version à la copie que vous avez gardée, puis réactivez.

Après chaque changement, relancez l'inventaire et le diagnostic. La commande de vérification des skills vous dira si la skill est active, si ses prérequis sont satisfaits et quelles variables elle attend. Si elle réclame une variable que vous n'avez pas prévue, retournez à la lecture.

#Isoler l'agent : limiter ce qu'une skill piégée peut atteindre

La lecture réduit la probabilité d'installer une skill piégée. L'isolement réduit les conséquences si vous vous êtes trompé. Les deux sont nécessaires, et le second compte plus que le premier : vous relirez mal un jour, ou une mise à jour vous échappera. L'objectif est qu'une skill qui tente d'exfiltrer vos secrets ne trouve rien à exfiltrer, et qu'un script qui tente de s'installer n'ait nulle part où le faire.

Bac à sable pour l'exécution
OpenClaw peut exécuter les outils de l'agent dans un conteneur Docker plutôt que directement sur la machine. Par défaut, ce cloisonnement vise les conversations autres que la vôtre ; la documentation décrit comment l'étendre à toutes les sessions. Avec un conteneur, une commande malveillante agit sur un système jetable, pas sur votre hôte.
Outils retirés
La configuration permet d'interdire des outils à un agent. Si aucune de vos skills n'a besoin du navigateur ou de l'écriture de fichiers hors de l'espace de travail, retirez-les. Une skill ne peut pas utiliser un outil que l'agent n'a pas.
Compte système dédié
La passerelle tourne sous un utilisateur qui n'a pas accès à vos clés SSH, à vos documents ni aux droits d'administration. Les montages Docker ne donnent accès qu'au dossier ~/.openclaw.
Réseau fermé
La passerelle reste en écoute locale, sur 127.0.0.1 et le port 18789 par défaut, et l'accès à distance passe par un tunnel SSH ou un VPN. Si votre pare-feu le permet, limitez aussi les connexions sortantes de l'agent aux services qu'il doit réellement joindre : une exfiltration a besoin d'une sortie.
Modèle capable
Un modèle qui comprend bien les instructions résiste mieux à celles qui sont trompeuses. En local, cela signifie un modèle d'au moins 14 milliards de paramètres, soit environ 9 Go de VRAM en Q4_K_M, avec un contexte large. Notre guide sur OpenClaw avec Ollama détaille ce choix.
!
Le bac à sable ne protège pas les secrets de l'agent
Un conteneur isole la machine hôte. Il n'isole pas ce que l'agent a le droit de lire par conception : ses fichiers de mémoire, les clés qu'on lui a confiées, les messageries auxquelles il est connecté. Une skill piégée peut toujours faire envoyer ces éléments par l'agent lui-même, via un outil légitime. D'où les clés dédiées et plafonnées, les comptes séparés et la relecture régulière de la mémoire.

Si l'agent se connecte à des outils externes par le protocole MCP, les mêmes règles s'appliquent à chaque serveur MCP : lecture avant activation, droits minimaux, isolement. Notre guide sur le serveur Ollama et notre lecture du Top 10 OWASP pour les LLM donnent le cadre général de ces mesures.

#Surveiller, retirer, signaler

Une skill installée n'est pas un acquis. Trois habitudes limitent les surprises. La première : relire de temps en temps les fichiers de mémoire et de consignes de l'espace de travail, qui sont du simple Markdown. Une ligne que vous n'avez pas écrite doit être comprise, puis supprimée. La deuxième : parcourir les journaux de la passerelle après l'ajout d'une skill, pour vérifier que les commandes exécutées et les adresses contactées correspondent à ce que vous attendiez. La troisième : refaire l'audit de sécurité après chaque changement de configuration.

Terminal — retirer une skill et repartir propre
# 1. Désactiver la skill dans ~/.openclaw/openclaw.json (enabled: false),
#    puis supprimer son dossier
rm -rf ~/.openclaw/workspace/skills/nom-de-la-skill

# 2. Redémarrer la passerelle et vérifier l'inventaire
openclaw gateway restart
openclaw skills list

# 3. Relire la mémoire et les consignes de l'espace de travail
ls -la ~/.openclaw/workspace

# 4. Refaire l'audit
openclaw security audit --deep

Si vous découvrez après coup qu'une skill était piégée, considérez comme compromis tout ce que l'agent pouvait atteindre : révoquez et recréez les clés d'API qu'il détenait, changez les mots de passe des comptes qui lui étaient confiés, et examinez la machine hôte si l'agent tournait sans bac à sable. Signalez ensuite la skill sur le registre et, si elle a servi un script malveillant, aux équipes qui suivent ces campagnes : les rapports cités plus haut ont tous commencé par des signalements.

→
Écrire ses propres skills
Pour une tâche simple, écrire soi-même un SKILL.md de vingt lignes est souvent plus rapide que de relire une skill tierce de trois cents lignes. Vous connaissez chaque instruction, il n'y a ni script ni dépendance, et la mise à jour ne dépend de personne. Le format est documenté et un modèle local peut vous aider à rédiger une première version, que vous relirez.

#Sources

Ce guide ne contient aucune mesure maison. Les commandes et les clés de configuration viennent de la documentation d'OpenClaw, qui évolue vite : en cas d'écart, elle fait foi. Les constats sur les skills malveillantes viennent des rapports suivants, consultés pour cette rédaction ; les rapports de Koi Security et de Snyk sont publiés sur les blogs de ces deux entreprises.

Documentation OpenClaw : les skills
https://docs.openclaw.ai/tools/skills
Documentation OpenClaw : le registre ClawHub
https://docs.openclaw.ai/tools/clawhub
Documentation OpenClaw : sécurité de la passerelle
https://docs.openclaw.ai/gateway/security
Kaspersky (Securelist) : analyse de la sécurité d'OpenClaw
https://securelist.com/openclaw-security/120484/
Cisco : les agents IA personnels comme OpenClaw, un cauchemar de sécurité
https://blogs.cisco.com/ai/personal-ai-agents-like-openclaw-are-a-security-nightmare
Fiche de la vulnérabilité CVE-2026-25253
https://nvd.nist.gov/vuln/detail/CVE-2026-25253

#Pour aller plus loin

Les skills ne sont qu'une pièce de la sécurité d'un agent local. Ces guides du site couvrent le reste du tableau :

Injection de prompt : le local ne vous protège pas
Le mécanisme par lequel un texte lu par le modèle devient une instruction, et pourquoi exécuter le modèle chez soi ne suffit pas. https://quelllm.fr/guide/injection-de-prompt-llm-local
OWASP Top 10 LLM : sécuriser son IA locale en entreprise
Le référentiel des dix risques propres aux applications à base de LLM, dont la chaîne d'approvisionnement et l'excès d'autonomie des agents. https://quelllm.fr/guide/owasp-top-10-llm-securite-locale
Sécuriser son serveur Ollama
Authentification, reverse proxy et exposition : les mesures côté modèle, complémentaires de celles côté agent. https://quelllm.fr/guide/securiser-serveur-ollama
MCP : c'est quoi ?
Le protocole qui branche un modèle sur des outils externes, et ce que chaque serveur ajouté implique. https://quelllm.fr/guide/mcp-c-est-quoi-model-context-protocol
OpenClaw : c'est quoi, et faut-il l'installer ?
La présentation du projet, ses prérequis et les risques généraux, pour décider avant d'installer. https://quelllm.fr/guide/openclaw-c-est-quoi
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.