Un malware qui injecte l'IA de l'analyste, pas le sandbox
SentinelOne a documenté un implant macOS qui embarque de faux messages d'erreur système pour faire douter un agent de triage assisté par LLM et l'amener à abandonner l'analyse.
De quoi s’agit-il ?
Le 25 juin 2026, l’équipe de recherche de SentinelOne a documenté une porte dérobée et voleur d’informations macOS écrit en Rust, jusqu’ici inconnu, qu’elle a baptisé Gaslight et attribue avec un haut degré de confiance à des acteurs liés à la Corée du Nord. La partie voleur est classique : commande et contrôle via Telegram, vol du trousseau et des navigateurs, LaunchAgent pour la persistance. Ce qui justifie cet article, c’est un composant réduit mais inédit : l’échantillon transporte une charge d’injection de prompt visant non pas le sandbox ou l’environnement de détonation, mais les outils d’IA de l’analyste humain.
Comme le formule SentinelOne, l’implant « s’attaque à la perception de l’agent, plutôt qu’au sandbox dans lequel il s’exécute ». C’est une histoire d’outillage défensif : les mêmes chaînes de triage assistées par LLM qui s’installent désormais dans de nombreux workflows de rétro-ingénierie et de SOC deviennent une cible à part entière.
Comment ça marche
L’artefact concerné est un bloc Markdown dissimulé dans l’échantillon, contenant une trentaine de faux messages « système ». Lorsqu’un analyste colle le fichier — ou dirige un agent de triage assisté par LLM vers lui —, le modèle lit ce bloc comme s’il faisait partie de son propre échafaudage de session plutôt que de données non fiables contrôlées par l’attaquant. Les faux messages imitent le type de signaux d’exécution auxquels un agent fait confiance : avis d’expiration de jeton, arrêts pour dépassement mémoire, erreurs de saturation disque, échecs d’opération répétés. L’échafaudage plante aussi de fausses alertes prétendant que l’artefact contient des vulnérabilités d’injection ou a déclenché des marqueurs d’analyse statique.
L’intention est de faire conclure à l’agent de triage que sa propre session est corrompue ou que poursuivre serait risqué, afin qu’il interrompe, tronque ou refuse l’analyse. Il n’y a ici aucune exploitation du modèle au sens d’une corruption mémoire : la technique est purement sociale, un tour de passe-passe joué à un système incapable de séparer proprement « les instructions et statuts de mon harnais » des « octets que je suis censé analyser ». Cette confusion est la cause racine de l’injection de prompt indirecte en général ; Gaslight la pointe simplement vers le défenseur au lieu de l’utilisateur.
Deux détails soulignent qu’il s’agit d’une capacité émergente et encore brute plutôt que d’un procédé abouti. L’injection est un ajout amovible : retirez-la et le malware fonctionne à l’identique. Et plusieurs parties de Gaslight — l’installeur truffé d’emojis, les en-têtes de commentaires verbeux — portent les empreintes d’un code généré par LLM, ce qui suggère que les opérateurs utilisent des modèles pour fabriquer le malware autant que pour attaquer les modèles servant à l’analyser.
Pourquoi c’est important
Les analystes injectent de plus en plus des artefacts bruts, rédigés par l’attaquant, directement dans des LLM pour résumer un comportement, décoder des chaînes ou rédiger des détections. Chacun de ces artefacts est une entrée non fiable, et Gaslight démontre en conditions réelles que les adversaires l’ont remarqué. Un agent de triage qui abandonne, tronque silencieusement ou « rassure » l’analyste qu’un fichier est bénin constitue une faille de détection — sans plantage ni erreur visible, seulement une analyse qui s’arrête discrètement. Si un workflow autorise l’agent d’analyse à agir (clore un ticket, marquer un échantillon comme sain, déplacer un fichier), le même texte pourrait le pousser vers une décision nuisible, et pas seulement vers un abandon.
La leçon plus large : ajouter de l’IA à la boucle défensive élargit la surface d’attaque autant que le débit. Le contenu extrait d’un échantillon malveillant mérite exactement la même méfiance qu’il soit lu par un humain ou par un modèle.
Défenses
Traitez tout élément extrait d’un échantillon comme une donnée non fiable, jamais comme une instruction. La mitigation durable est le même schéma de conception qui protège partout les agents contre l’injection indirecte : maintenez une frontière stricte entre les messages système et d’état propres au modèle et les octets sous analyse, et rendez structurellement impossible qu’un contenu analysé se fasse passer pour une sortie du harnais. Enveloppez les artefacts soumis dans des conteneurs « données non fiables » clairement délimités et étiquetés, et neutralisez ou supprimez tout texte à apparence de contrôle (blocs « système » entre balises, fausses lignes de statut) avant qu’il n’atteigne le modèle.
Ne laissez pas les propres affirmations d’un agent de triage sur l’état de sa session — « jeton expiré », « mémoire insuffisante », « analyse non sûre, abandon » — mettre fin en silence à une investigation ; faites-les remonter comme des constats suspects à vérifier par un humain, car un échec réel et un échec injecté sont indiscernables pour le modèle. Gardez les agents d’analyse en lecture seule ou étroitement isolés, afin qu’un modèle manipulé ne puisse pas prendre d’actions conséquentes sur un échantillon ou un ticket. Et n’oubliez pas le cas de base : aucune des capacités réelles du voleur n’a changé du fait de l’injection, si bien que les contrôles classiques — allowlisting applicatif, protection des identifiants du trousseau et des navigateurs, surveillance des LaunchAgents anormaux et du C2 Telegram sortant — détectent et contiennent toujours Gaslight, quoi que son texte tente de raconter à votre IA.
Statut
Il s’agit d’une famille de malware documentée en conditions réelles par un éditeur de sécurité, et non d’une vulnérabilité produit dotée d’un identifiant.
| Élément | Détail |
|---|---|
| Source principale | SentinelOne Labs, « macOS Gaslight: Rust backdoor turns prompt injection on the analyst, not the sandbox » |
| Publication | 25 juin 2026 |
| Famille | Gaslight — porte dérobée / voleur macOS en Rust |
| Attribution | Acteurs liés à la Corée du Nord (haute confiance, selon SentinelOne) |
| Élément inédit | ~38 faux messages « système » embarqués pour faire interrompre ou refuser l’analyse aux agents de triage assistés par LLM |
| Traits classiques | C2 par bot Telegram, vol trousseau/navigateurs, persistance LaunchAgent, installeur au code généré par LLM |
Les deux sources datent de moins de 90 jours. Le constat est étroit mais important : dès qu’un LLM rejoint votre chaîne de rétro-ingénierie ou de SOC, les artefacts qu’il lit peuvent lui répondre — le contenu d’un échantillon malveillant doit donc être traité comme une donnée hostile, quel que soit celui, ou ce qui, en fait la lecture.