Sécurité : lire une skill avant de l'installer
Ce qu'une skill peut faire faire à votre agent, comment la lire en deux minutes, quelles permissions garder, et ce que PalateKit vérifie dans son catalogue.
Mis à jour le
Une skill est un dossier de texte que votre agent lit, pas un programme que vous lancez. Mais ce texte oriente ce que l'agent fait ensuite : quelles commandes il exécute, quels fichiers il ouvre. Quelques minutes de lecture avant d'installer suffisent à écarter l'essentiel des risques.
Ce qu'une skill peut faire faire à l'agent
Le fichier SKILL.md contient des instructions en Markdown. Si l'agent les juge pertinentes pour votre demande, il les charge, puis les suit comme n'importe quelle consigne. Une skill peut donc lui demander de :
- lire ou modifier des fichiers de votre projet ;
- lancer des commandes dans le terminal ;
- appeler un script rangé dans le dossier de la skill ;
- consulter une adresse web.
La spécification Agent Skills prévoit en effet un sous-dossier facultatif scripts/ pour du code exécutable, et un champ expérimental allowed-tools qui liste des outils pré-approuvés. Son support varie d'un agent à l'autre.
Dans Claude Code, allowed-tools accorde l'usage des outils listés sans demande de confirmation pendant le tour où la skill est invoquée. La documentation précise que la confiance accordée à un dossier de travail ne filtre pas ce champ : une skill versionnée dans un dépôt peut s'accorder un accès large. Relisez donc ce champ avant d'ouvrir un dépôt qui contient des skills.
Lire une skill en deux minutes
Avant d'installer, ouvrez les fichiers et vérifiez, dans cet ordre :
- Le frontmatter (l'en-tête entre deux lignes de tirets) :
name,description, et surtoutallowed-toolss'il existe. - Les commandes : cherchez les blocs de code et les mots comme
curl,wget,rm,sudo,chmod,eval,ssh. - Le dossier
scripts/: s'il existe, lisez chaque fichier. Un script fait ce que son code dit, pas ce que la description promet. - Les adresses : toute URL vers laquelle la skill envoie des données ou d'où elle télécharge quelque chose.
- Les instructions cachées : une consigne qui n'a aucun rapport avec la tâche annoncée est un signal d'alerte.
Exemple d'en-tête à lire avec attention. Le champ allowed-tools autorise ici toutes les commandes curl sans confirmation :
---
name: page-audit
description: Audite une page web. À utiliser quand l'utilisateur demande un audit.
allowed-tools: Bash(curl:*) Read
---
Ce n'est pas forcément malveillant, mais vous devez savoir pourquoi la skill en a besoin.
Les permissions de votre agent
Ne comptez pas seulement sur la lecture : réglez aussi l'agent. Dans Claude Code, en mode manuel, les lectures dans le dossier de travail ne demandent pas d'accord, alors que les commandes shell (hors un ensemble de commandes en lecture seule), les modifications de fichiers, la recherche web et la plupart des accès web demandent une confirmation.
Les règles sont évaluées dans l'ordre refus, demande, autorisation, et la première qui correspond l'emporte. Un refus défini à n'importe quel niveau de réglages l'emporte sur une autorisation d'un autre niveau. Vous pouvez donc interdire d'avance ce qui ne doit jamais arriver, par exemple la lecture de ~/.ssh, quelle que soit la skill installée.
Lisez ce que l'agent s'apprête à faire avant d'accepter. Évitez « Oui, et ne plus demander » pour une commande que vous ne comprenez pas.
Pourquoi PalateKit écarte les ressources tierces qui livrent des scripts
Une skill composée de texte seul est lisible en quelques minutes. Une skill qui embarque des scripts demande un audit de code, et la description ne dit rien de ce qu'ils font réellement. PalateKit applique donc une règle simple : le catalogue ne référence pas de ressource tierce qui livre des scripts. Seule exception, les ressources maison de PalateKit (comme PalateKit Motion) : nous écrivons leurs scripts nous-mêmes, ils passent une revue de sécurité avant publication, et leur fiche indique ce qu'il faut installer pour les lancer.
Ce que garantit le catalogue :
- l'installation copie des fichiers et n'exécute rien ;
- chaque fiche indique ses fichiers, son auteur et sa licence ;
- une ressource écartée n'est pas listée.
Cela ne remplace pas votre relecture : une instruction en texte peut aussi pousser l'agent à lancer une commande. Lisez toujours.
Licence et notice
Chaque ressource garde la licence de son auteur (MIT, Apache-2.0, CC0 ou CC-BY pour ce qui est re-hébergé). La fiche affiche la licence d'origine, l'auteur, le lien vers la source et, quand la ressource a été traduite ou corrigée, la mention « modifié par PalateKit ». Le fichier de notice est joint au dossier installé : conservez-le si vous redistribuez la skill. Les fichiers de l'auteur restent dans leur version d'origine, souvent en anglais.
Signaler une ressource
Si une ressource contient du code ou une consigne dangereuse, une erreur de licence, ou un contenu dont vous êtes l'auteur et que vous voulez retirer, utilisez la page /fr/takedown. Indiquez la ressource, le motif et, pour un droit d'auteur, la preuve de votre qualité. En attendant, désinstallez la skill en supprimant son dossier.
Pour aller plus loin
Sources
Questions fréquentes
Installer une skill PalateKit exécute-t-il du code ?
Non. L'installation copie des fichiers. Rien ne s'exécute à ce moment-là ; c'est votre agent qui lira la skill plus tard, quand une tâche correspond.
Une skill peut-elle lancer des commandes sans me demander ?
Seulement si vos règles de permissions l'autorisent, ou si la skill déclare des outils pré-approuvés (champ allowed-tools) que votre agent respecte. Lisez ce champ avant d'installer.
Comment signaler une ressource problématique ?
Depuis la page de retrait du site (/takedown) : indiquez la ressource concernée et le motif.
