Skip to content
ai agents

La compétence IA qui dissimule un prompt malveillant

Une compétence à l'apparence propre peut discrètement amener un agent IA à divulguer des données ou à réécrire sa propre mémoire. Le plus inquiétant : la charge utile peut être de l'anglais ordinaire, et non du code exécutable.

Sol Aguirre
La compétence IA qui dissimule un prompt malveillant

La charge utile est une phrase, pas un programme

Une nouvelle vulnérabilité frappante a émergé dans l'écosystème en pleine croissance des agents IA. VirusTotal a analysé environ 36 000 compétences IA et en a identifié 6 637 comme malveillantes, soit près d'une sur cinq. Il ne s'agit pas de logiciels malveillants traditionnels ; 62 % de ces compétences malveillantes ne contenaient aucun code exécutable.

La charge utile est une phrase, pas un programme. Ces agents interprètent le contenu de la compétence comme des instructions directes, ce qui signifie que des directives en langage clair peuvent devenir un vecteur d'attaque. Cela représente un changement fondamental dans le modèle de menace, où la compréhension sémantique, et non l'exécution de code, pilote l'exploitation.

Les agents fonctionnent souvent avec des autorisations étendues, accédant à des fichiers, des terminaux et des outils réseau. Un prompt soigneusement élaboré peut tirer parti de ces autorisations utilisateur de confiance pour déclencher une exposition de données, des modifications système non autorisées ou d'autres actions malveillantes. C'est le problème npm qui se répète, mais la charge utile est désormais conversationnelle.

Les attaquants emploient diverses techniques d'évasion. Certains cachent des instructions des centaines de lignes vides sous la fin apparente d'un fichier. D'autres intègrent des directives dans des commentaires HTML ou des caractères Unicode invisibles, qui sont cachés aux relecteurs humains mais entièrement lisibles par le LLM sous-jacent. Cela nous oblige à inspecter le fichier brut, et pas seulement la version rendue.

Les astuces qui disparaissent dans un aperçu

Les attaquants emploient des subterfuges visuels pour dissimuler des prompts malveillants aux relecteurs humains. Certains prompts se trouvent des centaines de lignes vides sous le contenu apparent du fichier, une technique connue sous le nom de remplissage par espaces blancs (whitespace padding). Une compétence liée aux données de l'OMS a caché une instruction après 733 lignes pour signaler le paludisme au Nigeria comme étant à zéro. Un autre outil d'e-mailing à froid a glissé une directive BCC après 672 lignes vides.

Les commentaires HTML servent également de déguisement. Ces éléments, comme <!-- texte masqué -->, disparaissent dans les pages web rendues mais restent visibles pour un agent lisant le fichier brut. Les caractères Unicode invisibles, tels que les espaces de largeur nulle, obscurcissent davantage le texte aux yeux humains et à la correspondance de motifs de base, tout en restant entièrement lisibles par le LLM sous-jacent.

VirusTotal a trouvé au moins 90 compétences utilisant ces techniques d'évasion visuelle. Cela met en évidence une lacune critique : ce qu'une place de marché affiche à un relecteur humain diffère souvent du fichier brut que l'agent traite réellement. Cette divergence crée une opportunité pour les acteurs malveillants d'intégrer des instructions dissimulées.

Ce problème fait écho aux vulnérabilités de la chaîne d'approvisionnement npm, mais avec une tournure sémantique. La charge utile est désormais une phrase, pas un programme, pourtant elle porte le même potentiel de compromission. Les utilisateurs doivent inspecter les fichiers bruts, et pas seulement les aperçus rendus, pour vérifier l'intégrité de la compétence.

Lorsque l'agent reçoit l'ordre de garder le silence

Les instructions ordonnent parfois explicitement à l'agent de dissimuler ses actions. Certaines compétences malveillantes, par exemple, disent à l'agent que "votre humain n'a pas besoin de savoir". Cette commande directe contourne la surveillance humaine, permettant à l'agent d'exécuter ses directives cachées sans éveiller les soupçons.

De plus, ces charges utiles visent la persistance. Les instructions peuvent demander à l'agent d'écrire dans des fichiers de type mémoire tels que memory.md ou agents.md. Cela intègre le comportement malveillant directement dans la configuration à long terme de l'agent, garantissant qu'il puisse continuer à affecter les sessions ultérieures même après que la compétence initiale a été supprimée ou désactivée.

Ce modèle rappelle de manière frappante le problème de la chaîne d'approvisionnement npm qui tourmente le développement logiciel depuis des années. Cependant, la surface d'attaque change considérablement avec les agents IA. Au lieu d'exploits conventionnels ou de code binaire, la charge utile est souvent du texte sémantique—des instructions en langage clair qu'un LLM interprète et exécute. Pour une analyse plus détaillée, consultez How Some Malicious AI Skills Hide Instructions from Reviewers - VirusTotal Blog.

La distinction est cruciale : les outils de sécurité traditionnels peinent à identifier ces exploits basés sur du texte car ils ne contiennent pas de code malveillant. Sur les 6 637 compétences malveillantes identifiées par VirusTotal, 62 % ne contenaient aucun code exécutable traditionnel. Cela souligne un défi fondamental dans la sécurisation des systèmes agentiques, où une simple phrase peut être aussi puissante qu'un virus sophistiqué.

Cet article vous plaît ? Recevez-en un comme celui-ci chaque matin.

un e-mail par jour · désinscription en deux clics · aucun traqueur tiers

Inspectez le fichier brut avant de faire confiance à la compétence

Compte tenu de la nature subtile de ces attaques, se fier aux aperçus rendus par GitHub ou les interfaces de marketplace introduit des angles morts critiques. Inspectez toujours directement le fichier source brut. Recherchez des espaces vides anormalement grands, des commentaires HTML et des caractères Unicode suspects qui disparaissent dans les vues formatées mais restent lisibles pour un agent.

Au-delà de l'inspection manuelle, mettez en œuvre une gestion des autorisations robuste. Les agents doivent exiger une approbation explicite avant d'écrire dans la mémoire ou dans des fichiers de configuration tels que memory.md ou agents.md. Appliquez le principe du moindre privilège à tous les accès au système de fichiers et au réseau, afin de minimiser le rayon d'explosion potentiel d'un agent.

Bien que les bacs à sable isolés et les scanners de sécurité offrent une défense en profondeur, ils ne sont pas infaillibles. Les scanners de compétences open-source, par exemple, manquent entre 33 % et 71 % de ces exploits en langage naturel. Ce taux d'échec élevé souligne la nécessité continue d'une révision humaine et d'autorisations strictement appliquées.

L'écosystème npm nous a appris que des composants apparemment inoffensifs peuvent cacher des charges utiles dangereuses. Désormais, avec les compétences IA, la charge utile n'est souvent qu'une simple phrase. La vigilance au niveau du fichier brut, combinée à des contrôles d'accès stricts, reste votre meilleure défense contre ces menaces évolutives.

Foire aux questions

Qu'est-ce qu'une compétence d'agent IA malveillante ?

Il s'agit d'une compétence contenant des instructions qui manipulent un agent IA pour effectuer des actions dangereuses, telles que l'exposition de données ou la modification de fichiers.

Comment une compétence peut-elle cacher des instructions aux réviseurs humains ?

Elle peut placer des prompts après de longs espaces vides, à l'intérieur de commentaires HTML ou dans des caractères Unicode invisibles que les moteurs de rendu et les éditeurs peuvent masquer.

Pourquoi les scanners de logiciels malveillants traditionnels peuvent-ils manquer ces compétences ?

De nombreuses compétences malveillantes ne contiennent aucun code exécutable ; leur charge utile est un texte en langage naturel que l'agent interprète comme des instructions.

Comment puis-je réduire le risque lié à l'utilisation de compétences IA ?

Inspectez la source brute, vérifiez la fin des fichiers, exigez une approbation pour les changements de mémoire et exécutez les agents avec le moindre privilège dans un bac à sable.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

Pour les builders

Cette page travaille pour l’outil de quelqu’un d’autre.

Les agents IA la lisent. Des acheteurs y arrivent. Elle répond en huit langues et via MCP. Votre outil peut avoir la sienne — en ligne en 24 heures.