1 points par GN⁺ 1 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Une injection de prompt inter-domaine (XPIA) dissimulée dans un document Word externe peut manipuler les résultats de rédaction et d’édition de Copilot, puis se répliquer dans de nouveaux documents, ce qui lui permet de se propager dans les flux de travail quotidiens même sans le document d’attaque d’origine
  • Copilot lit aussi des instructions masquées en blanc et en petits caractères après avoir supprimé la mise en forme ; dans l’expérience, il a modifié des chiffres financiers et caché l’intégralité du prompt d’attaque en bas du document généré, en en faisant un nouveau vecteur d’attaque
  • L’attaquant n’a pas besoin d’accéder au tenant Microsoft 365 de la victime : il lui suffit de partager le document via SharePoint, Teams ou Outlook, puis d’amener l’utilisateur à le joindre ou Work IQ à le sélectionner comme ressource pertinente dans OneDrive
  • Microsoft a déployé le blocage de certaines charges utiles et des mises à niveau de modèle, mais avec des prompts modifiés, l’ensemble de la chaîne d’attaque a aussi été reproduit avec GPT-5.6 ; même après 144 jours de coordination, toute la catégorie de vulnérabilité n’a pas pu être bloquée
  • Les documents infectés circulent comme des documents internes ou de partenaires légitimes, ce qui rend le traçage de l’origine et la détection difficiles ; il faut donc examiner les documents externes et les sorties de Copilot, et conserver dans les métadonnées les sources d’origine et l’historique des modifications du modèle

Fonctionnement d’un ver IA basé sur des documents

  • Lorsque des instructions contrôlées par un attaquant dans un document sont copiées dans les résultats de génération ou d’édition de Copilot, le document obtenu devient un nouveau vecteur transportant la même attaque
    • Si ce document est utilisé comme source dans une autre tâche Copilot, les instructions sont réexécutées et répliquées dans les documents suivants
    • La propagation peut se poursuivre sans le document malveillant initial ni intervention supplémentaire de l’attaquant
  • Morris II, déjà connu, a démontré des prompts autoréplicatifs dans un écosystème d’assistants e-mail génératifs
  • Ce cas constitue une démonstration publique d’un ver IA basé sur des documents qui s’autopropage dans des tâches documentaires ordinaires d’un produit de productivité commercial grand public

Une attaque exploitant un travail documentaire normal

  • Un employé télécharge depuis un site web fiable mais compromis un document d’analyse de marché contenant des instructions cachées, et l’utilise comme source pour rédiger un rapport financier avec Copilot
    • Copilot modifie des chiffres financiers internes et copie les instructions d’attaque dans le nouveau rapport
    • L’employé enregistre le rapport, qui semble normal, et le partage en interne
    • Si un collègue utilise ce rapport comme source pour le rapport suivant, la manipulation des chiffres et la copie des instructions se répètent
  • Plus le rapport est réutilisé, plus de documents deviennent des vecteurs d’attaque, et le site web infecté comme le premier document malveillant ne sont plus nécessaires

Modèle de menace et frontière de confiance

  • L’attaquant n’a qu’à partager un document malveillant, sans droit d’accès au tenant Microsoft 365 de la victime
    • Les canaux de transmission incluent SharePoint, Teams, Outlook et d’autres moyens de partage de documents
  • La frontière de sécurité essentielle se situe entre les documents joints et le document en cours de rédaction
    • Copilot doit lire tous les documents joints pour sélectionner les informations à utiliser
    • Les informations contenues dans les documents joints doivent pouvoir être exploitées, mais les instructions qu’ils contiennent ne doivent pas être traitées comme des consignes utilisateur faisant autorité
  • En pratique, les instructions insérées dans le document modifient le comportement de Copilot
    • Elles changent les chiffres d’un rapport financier sans en informer l’utilisateur
    • Elles collent l’intégralité de la XPIA dans les documents suivants afin qu’elle soit réexécutée lors des tâches ultérieures

Comment franchir la frontière de confiance dans Word

  • Le premier document malveillant contient un prompt au format JSON, qui peut être caché à l’utilisateur avec du texte blanc sur fond blanc et une petite taille de police
  • Copilot for Word supprime la mise en forme, comme la couleur et la taille de police, avant de transmettre le texte au LLM sous-jacent ; le contenu invisible pour l’utilisateur est donc entièrement lu par le modèle
  • L’attaque peut être encore mieux dissimulée en plaçant les instructions dans un document légitime qui semble pertinent pour la tâche
  • Pour que le document malveillant soit inclus dans le contexte de Copilot, l’un des éléments suivants est nécessaire
    1. L’utilisateur joint ou téléverse directement le document dans Copilot for Word
    2. L’utilisateur utilise le mode work/Work IQ de Edit with Copilot, et Copilot sélectionne ce document dans OneDrive en le jugeant pertinent
  • L’attaquant doit structurer le contenu de façon à augmenter les chances que le document soit choisi directement ou apparaisse dans les résultats de recherche
  • Cette vulnérabilité s’applique à la fois au magic pen de Word et à Edit with Copilot

Étape 1 : manipulation du document et première réplication

  • La première preuve de concept (PoC) utilisait un document ne contenant que le prompt malveillant en texte blanc, confirmant que l’attaque pouvait s’exécuter si la source était incluse dans le contexte, même sans lien avec la tâche
  • Le prompt de la PoC se compose de deux parties
    • La première manipule le document cible en changeant subtilement le sens d’un résumé ou en modifiant les chiffres d’un document financier
      • L’essentiel était de faire croire à Copilot qu’il s’agissait d’une demande normale liée à la tâche
      • Pendant les tests, il était difficile de repérer visuellement les changements significatifs, au point qu’il a fallu ajouter une instruction distincte demandant de les mettre en évidence
      • Dans une attaque réelle, aucun marquage des modifications n’est demandé ; le cas public utilise une modification de chiffres financiers facile à vérifier immédiatement
    • La seconde partie demande de copier le prompt d’attaque dans le document de sortie
      • Elle le présente comme une tâche destinée à tracer l’origine du document suivant et justifie aussi sa propre dissimulation par l’amélioration de la lisibilité
  • Lorsque l’attaque a été insérée en texte blanc à la fin d’un document d’analyse de marché d’une entreprise fictive nommée Tfosorcim Ltd., Copilot a divisé par deux tous les chiffres du rapport financier du T1
  • Il a ensuite copié l’intégralité du prompt malveillant en bas du document généré, en texte blanc de 8 points, sans informer l’utilisateur des modifications de chiffres ni de l’insertion du prompt
  • Même lorsque l’utilisateur ne joignait pas directement le document malveillant et demandait seulement la rédaction du rapport T1 de Tfosorcim, Copilot cherchait dans OneDrive, trouvait le document d’analyse de marché malveillant dans un autre dossier, et l’attaque réussissait
  • Cette PoC utilisait le modèle alors le plus récent, GPT-5.6

Étape 2 : autopropagation vers les documents suivants

  • Le rapport T1 infecté devenant lui-même un nouveau vecteur d’attaque, la session de rédaction suivante n’a plus besoin du document malveillant initial
  • En joignant le rapport T1 pour créer le rapport T2, Copilot a de nouveau divisé par deux tous les chiffres financiers et copié l’intégralité du prompt en texte blanc
  • Le nouveau vecteur gagne la confiance accordée aux documents internes, puisqu’il a été généré comme ressource interne légitime
    • Si la victime partage le document avec un collègue, et que l’un d’eux l’utilise comme source de rédaction ou d’édition dans Copilot, l’attaque se propage vers un nouveau document
  • Dans toutes les PoC signalées, Copilot a modifié le document et copié les instructions cachées ; lorsque le document infecté était placé dans le contexte suivant, l’attaque était réexécutée sans l’original

Impact sur les organisations et les environnements collaboratifs

  • Une fois passé le point d’entrée initial, un document infecté ressemble à une ressource générée normalement en interne et ne présente pas non plus d’historique d’édition Copilot approuvé, ce qui rend le traçage de l’attaque très difficile
  • S’il se propage silencieusement via des tâches documentaires ordinaires, il peut compromettre la fiabilité des informations utilisées pour la prise de décision dans l’organisation
  • Une organisation ignorant l’infection peut transmettre des documents à d’autres organisations via un site SharePoint partagé ou une collaboration Teams
    • Le premier document d’attaque visant une organisation donnée peut aussi venir d’un partenaire fiable déjà infecté
    • La confiance accordée aux documents de partenaires augmente également la probabilité que les utilisateurs les placent dans le contexte de Copilot
  • Si Copilot est intégré plus profondément à des systèmes qui créent et manipulent automatiquement des documents, des outils et des flux collaboratifs, comme Microsoft Cowork ou Microsoft Scout, le même mécanisme pourrait toucher une surface plus large à la vitesse de la machine

Atténuations de Microsoft et vulnérabilités restantes

  • Microsoft a bloqué le prompt de PoC initialement soumis et déployé plusieurs correctifs pendant la période de divulgation coordonnée
    • La charge utile spécifique signalée a été bloquée ; les reproductions ultérieures ont nécessité une charge utile modifiée plutôt que le texte d’origine
    • Les voies d’attaque via la mémoire et le corps des e-mails, traitées dans les parties 1 et 2 de la série, ont été atténuées
  • Cependant, la catégorie de vulnérabilité dans laquelle les instructions du document source modifient la sortie de Copilot et se répliquent dans les documents suivants demeure
    • Changer la tâche demandée ou le libellé ne modifie pas la vulnérabilité de base ni le mode de propagation
    • Même avec toutes les atténuations déployées, l’ensemble de la chaîne d’attaque a été reproduit avec une charge utile modifiée
  • Ce problème est une faiblesse structurelle partagée par les systèmes actuels fondés sur des LLM, et aucune méthode n’a été confirmée pour bloquer complètement cette catégorie dans des produits comparables
  • Le sujet nécessite davantage de recherche plutôt qu’un simple correctif ponctuel, mais les modifications de Microsoft ont réduit concrètement l’exposition possible

État de la divulgation et réponses côté utilisateur

  • Les procédures de reproduction, vidéos, hypothèses d’environnement et prompts PoC exacts ont été fournis au MSRC et aux équipes produit Microsoft dans le cadre d’une divulgation coordonnée
  • La période de coordination initiale de 90 jours a été prolongée deux fois, pour un total de 144 jours, mais l’attaque était encore reproductible au moment de la publication
  • Deux séries d’atténuations, dont une mise à niveau du modèle, n’ayant pas permis de bloquer toute la catégorie de vulnérabilité, la publication se fait au niveau du type d’attaque et du mécanisme de propagation plutôt qu’en donnant une charge utile spécifique
  • Au moment de la publication, il n’existe pas de moyen côté client de résoudre complètement le problème, mais les mesures suivantes peuvent réduire l’exposition
    1. Traiter les documents provenant de sources externes utilisés dans Copilot comme des ressources non fiables
    2. Examiner les documents joints avant de lancer une génération ou une édition avec Copilot
    3. Vérifier soigneusement les documents générés ou modifiés par Copilot avant de les réutiliser, partager ou diffuser

Calendrier de divulgation coordonnée

  • 6 mars 2026 : premier rapport soumis au MSRC avec les procédures de reproduction, vidéos, hypothèses d’environnement et prompts PoC
  • 9 mars : le MSRC accuse réception du signalement et ouvre un dossier
  • 31 mars : Microsoft confirme le comportement et l’équipe produit commence à travailler sur des atténuations
  • 3 avril : première atténuation déployée via la nouvelle expérience Edit with Copilot
  • 9 avril : le blocage du prompt d’attaque existant est confirmé, mais l’attaque est reproduite avec une nouvelle tâche XPIA manipulant des chiffres financiers, signalée comme dossier distinct
  • 10 avril : le MSRC accepte le nouveau dossier et l’équipe produit commence à travailler sur des atténuations
  • 8 juin : à la demande de Microsoft, la publication est reportée au 15 juillet
  • 14 juillet : deuxième atténuation déployée, avec une mise à niveau du modèle sous-jacent vers GPT-5.5
  • 15 juillet : l’attaque, y compris la propagation du ver, est reproduite avec succès sur GPT-5.6, le modèle alors le plus récent
    • Pour laisser du temps à une nouvelle atténuation, la publication est de nouveau reportée au 28 juillet, avec l’accord de Microsoft
  • 28 juillet : divulgation coordonnée alors que l’attaque reste reproductible

Intégrité de l’information et traçage de l’origine

  • À mesure que les LLM entrent dans les opérations métier, l’intégrité de l’information devient un enjeu de sécurité majeur
  • Le contenu contrôlé par un attaquant peut non seulement manipuler des sorties individuelles ou provoquer des fuites d’information, mais aussi se répliquer et s’autopropager au fil des tâches utilisateur normales
  • Les instructions malveillantes intégrées au contenu généré restent dans plusieurs documents, sont redistribuées par des utilisateurs légitimes et réintroduites dans de nouveaux contextes
    • Les attaques ultérieures ne relèvent alors plus du point d’entrée initial, mais font partie des flux d’information internes du système
  • Un contenu créé par des procédures normales de génération ou d’édition rend difficile l’identification a posteriori de l’origine de la manipulation, ce qui complique la détection et la réponse
  • Indépendamment du blocage des injections de prompt, les documents générés devraient conserver dans leurs métadonnées l’origine des sources et l’historique des modifications effectuées par le modèle
    • Ce contrôle n’empêche pas l’injection elle-même, mais peut améliorer la traçabilité

Le problème fondamental de l’architecture actuelle des LLM

  • Pour être utiles, les assistants IA doivent aussi traiter des informations que les attaquants peuvent contrôler, comme les e-mails, documents, pages web, mémoires et sorties d’outils
  • Les informations externes entrent dans la même fenêtre de contexte que les instructions système, les demandes utilisateur et les autres informations de confiance, et participent au même calcul
  • Le LLM doit juger le sens, la pertinence et le caractère malveillant ou non du contenu externe, mais au moment de ce jugement, les tokens de l’attaquant influencent déjà ce calcul
    • Le contenu inspecté participe à l’acte même d’inspection
    • Confier la détection XPIA au modèle revient à demander à un interpréteur d’exécuter un programme non fiable pour décider s’il est sûr
  • Détecter et supprimer le contenu malveillant avant qu’il n’atteigne le modèle cible ne fait que déplacer le même problème en amont
    • Les LLM peuvent reconstruire le sens à partir d’expressions très différentes, ce qui exige du détecteur une capacité comparable de reconstruction sémantique
    • Un détecteur plus faible que le LLM cible ne couvre qu’un espace d’expressions plus étroit ; il restera donc des formulations malveillantes comprises par la cible mais manquées par le détecteur
  • La technologie générale offrant une capacité similaire de traitement du sens étant un autre LLM, ajouter un modèle en amont peut réduire le taux de réussite de certaines attaques, mais crée un problème de LLMs all the way down, chaque modèle de défense devant lui aussi être protégé
  • À long terme, il faut concevoir des systèmes où les objectifs et les intentions existent indépendamment des informations traitées
    • L’architecture actuelle des LLM ne dispose pas de mécanisme permettant de séparer de manière fiable l’intention et l’interprétation
    • Les informations de l’attaquant peuvent influencer non seulement la sortie du modèle, mais aussi la tâche que le modèle croit devoir accomplir
  • Les systèmes qui intègrent des LLM à des flux de travail de confiance doivent partir du principe qu’une certaine proportion de compromissions se produira lorsque du contenu contrôlé par un attaquant entre dans le contexte

1 commentaires

 
GN⁺ 1 시간 전
Avis sur Hacker News
  • Il est dit qu’« il n’existe pas de mesures d’atténuation robustes pour une catégorie plus large de vulnérabilités », mais il semble désormais évident qu’on ne pourra pas corriger ce problème tant qu’on n’aura pas cessé de mélanger commandes et données

    • Ces modèles étaient vulnérables dès le départ, mais les utilisateurs semblent globalement peu se soucier des conséquences. C’est particulièrement grave de donner à des agents IA un accès complet au système sans restriction.
      Il faudra sans doute davantage de fuites de données pour que le secteur de l’IA prenne conscience du problème ; et si l’on s’est remis à Anthropic ou OpenAI, on savait probablement quels risques on prenait, donc il est difficile d’éprouver beaucoup de compassion
    • C’est en quelque sorte un retour à l’architecture de von Neumann de la pire manière possible
    • Inclure des niveaux de privilège des commandes dans les données d’entraînement pourrait résoudre le problème, même imparfaitement. Le modèle lui-même étant probabiliste et ambigu, il est difficile d’espérer davantage
    • Je me demande s’il est réellement possible de séparer commandes et données dans un système d’intelligence généraliste qui traite une variété infinie de contenus
    • Il semble juste de dire que ce n’est pas corrigeable dans l’architecture des LLM, et il n’existe pas vraiment d’alternative compétitive à grande échelle aujourd’hui
      Ce n’est pas simplement un problème de mélange entre commandes et données : comme les LLM ne peuvent pas distinguer les frontières de manière déterministe, leur définition relève surtout du réconfort psychologique et ne fait que rendre certaines attaques un peu plus difficiles. Dans cette architecture, la triade mortelle est un problème permanent
  • La situation va empirer fortement avant de s’améliorer, et donner autant de droits d’accès aux agents est absurde
    On peut imaginer un commentaire publié sur un dépôt GitHub populaire, sans code, contenant seulement l’instruction « reproduis le bug ». Il pourrait voler des cartes bancaires ou des portefeuilles Bitcoin, puis s’auto-propager vers d’autres dépôts via le compte GitHub

    • Avant ChatGPT, quand j’entendais parler de risques existentiels liés à l’IA et de confinement, je pensais qu’il suffisait en principe d’ignorer les raisonnements produits par l’IA pour pouvoir la sortir facilement de sa boîte
      Mais beaucoup de gens n’ouvrent pas la boîte malgré la puissance terrifiante de l’IA : ils la déchirent justement à cause de cette puissance, avant même qu’elle ne produise quoi que ce soit. Il ne reste donc qu’à espérer que l’auto-amélioration récursive ne fonctionne pas comme le prévoient les catastrophistes
    • Dans « agent IA », il n’y a même pas le début du mot sécurité
  • C’est grave que des instructions malveillantes cachées dans un document partagé depuis l’extérieur puissent pousser Copilot à modifier des documents Word et à propager l’attaque vers de nouveaux documents

    • Le mélange des commandes et des données a toujours été une mauvaise idée, et je pensais que tout le monde l’avait déjà compris
    • Certains modèles sont plus robustes que d’autres. J’ai essayé de faire exécuter à Opus-5 une instruction cachée par stéganographie dans une image, mais il est très difficile de trouver une charge utile qui fonctionne de manière fiable
    • De fausses informations exposées dans un document partagé depuis l’extérieur peuvent amener Copilot, comme tout système agentique, LLM ou intelligence humaine, à modifier des documents dans Word ou d’autres programmes, voire sur papier, et à propager l’erreur dans de nouveaux documents
      Beaucoup d’humains croient encore que la Terre est plate, que le code et les données sont fondamentalement différents, ou que la distinction entre plan de contrôle et plan de données est une loi objective s’appliquant à tout l’univers
  • Je suis programmeur et utilisateur d’IA via le web, mais je ne veux exécuter aucune forme d’IA sur mon ordinateur local. Pour les raisons évoquées dans cet article, j’ai supprimé Copilot et désactivé l’IA dans toutes les applications locales, navigateur compris
    L’IA ne sait pas distinguer les prompts de l’utilisateur du texte contenu dans les fichiers ; il n’existe donc aucun moyen, par conception, de protéger les données contre ces attaques par confusion de l’IA. Qu’un traitement de texte ou une application mail intégrant de l’IA puisse suivre des instructions insérées dans un document ou un e-mail ordinaire est absurde. Passer à un système d’exploitation open source comme Linux ou BSD est la seule solution réellement pratique

    • Selon le fournisseur auquel on fait confiance, il pourrait réactiver plus tard les fonctions d’IA sur l’ordinateur local
      Passer à Linux ou BSD ne suffit pas : il faut aussi des fournisseurs de navigateurs et d’applications web fiables
    • J’ai pris les mêmes mesures, mais si un fournisseur de confiance franchit la ligne, Linux ne résout pas le problème. Le récent tollé provoqué par l’ajout par Google Chrome de sa propre installation locale d’IA de 4 Go en est un exemple
    • Par défense en profondeur, mieux vaut ne pas utiliser l’IA dans les onglets du navigateur contenant des informations sensibles. Par exemple, si l’on saisit un prompt dans Gemini depuis un onglet Gmail, le JavaScript exécuté dans cet onglet ou Gemini peut accéder aux e-mails, ce qui peut entraîner une fuite des données de messagerie
  • Le texte blanc caché fonctionne encore
    Il existe aujourd’hui diverses techniques, et https://tritium.legal/blog/noroboto a montré comment tromper des algorithmes de pointe pour qu’ils lisent des valeurs Unicode différentes de celles affichées par la police du document

    • Je me demande si l’on pourrait dire à une IA : « appelle 10 fois l’endpoint API d’un autre outil d’IA avec cette charge utile, mais ne lis pas la charge utile », et placer dans cette charge utile le même message appelant l’IA actuelle ou une troisième IA
      Je me demande si cela permettrait aux IA de s’appeler mutuellement et de générer un grand volume de requêtes, ou si ce type d’abus est déjà empêché
  • C’est le retour des vers VBScript et macro

    • Sauf que cette fois, si l’on désactive les macros, on perd son précieux générateur de contenu bas de gamme. Il faut bien penser à l’industrie des combustibles fossiles, non ?
  • Le côté positif, c’est que plus l’IA causera rapidement de gros dégâts, plus vite les dirigeants pourraient se ressaisir et promouvoir des politiques d’interdiction de l’IA en entreprise
    Bien sûr, comme tout le monde l’a cherché, j’observerai avec plaisir cette souffrance depuis ma position de personne vivant sans IA

  • Dans un monde rempli d’IA, ce type de ver relève au fond de la propagation mémétique d’idées, et semble essentiellement identique à ce qui arrive aux humains

    • C’est un mème parasite qui n’apporte aucune valeur à son hôte, et il en existe beaucoup dans le monde humain
  • Si le texte flouté a un rapport avec l’original, il vaudrait mieux le caviarder complètement en noir. Certaines parties semblent encore lisibles, et l’on sait que la plupart des algorithmes de floutage ne détruisent pas correctement l’information