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.
#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.
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
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.
#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é.
#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.
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.
- 01Récupérer sans activerCré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.
- 02Lire SKILL.md en entierL'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 ?
- 03Inventorier les fichiersListez 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.
- 04Chercher les motifs connusTé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.
- 05Vérifier l'auteur et l'historiqueDate 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.
- 06Décider, et noter pourquoiUne 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.
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.
#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.
- 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.
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.
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.
#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.
#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
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.