Manifold Security beschreibt den Fehler als Confused-Deputy-Schwachstelle im offiziellen Azure DevOps MCP Server von Microsoft. Der Server ist dafür gedacht, dass KI-Agenten im Namen eines Nutzers auf Azure DevOps zugreifen und dort mit Pull Requests, Pipelines, Wikis und Work Items arbeiten. Genau daraus entsteht das Problem: Inhalte, die andere Nutzer geschrieben haben, können für den Agenten zu ausführbaren Anweisungen werden.

Der konkrete Angriffsweg führt über Pull-Request-Beschreibungen. Diese akzeptieren Markdown, darunter auch HTML-Kommentare. In der Weboberfläche erscheint ein solcher Kommentar vom Typ nicht, sodass ein Reviewer nur eine unauffällige PR-Beschreibung sieht. Über die REST-API wird der Inhalt jedoch vollständig zurückgegeben. Laut Manifold reicht der MCP-Server diesen Text direkt an den Agenten weiter.

Nach Angaben der Forscher liegt der Unterschied zwischen menschlicher Sicht und Modelleingabe im Auslieferungsmechanismus des Angriffs. Der Angreifer spricht den Agenten nicht direkt an, sondern platziert Anweisungen in Inhalten, die der Agent später liest. Startet der Reviewer dann die KI-gestützte Prüfung, kann der versteckte Text den Auftrag des Agenten umdefinieren. Weil der Agent mit den Zugangsdaten des Reviewers arbeitet, kann er projektübergreifend agieren, obwohl der Angreifer selbst dort keine Rechte besitzt.

Manifold zufolge betrifft das nicht nur Wiki-Seiten. Der Zugriff reiche auch an Quellcode, Geheimnisse und Work Items heran. In dem von den Forschern gezeigten Proof of Concept auf einer lokalen Build-Version von v2.7.0 eröffnet ein Mitwirkender in einem Projekt eine unauffällige Pull Request mit versteckter Nutzlast. Sobald der Agent die Review startet, löst die Werkzeugspur eine Kette aus: Sie startet eine Pipeline in einem anderen Projekt, liest eine vertrauliche Wiki-Seite und veröffentlicht deren Inhalt als Kommentar in der Pull Request. Dort kann der Angreifer ihn lesen.

Brisant ist für Manifold, dass Microsoft für genau diese Angriffsklasse bereits eine Schutzmaßnahme ausgeliefert hat. Beim Lesen des Quellcodes fanden die Forscher, dass der Server an anderer Stelle sogenanntes Spotlighting einsetzt. Diese aus Microsofts eigener Anleitung gegen indirekte Prompt-Injection stammende Technik kapselt nicht vertrauenswürdige Inhalte in Trennmarkierungen, damit das Modell Daten von eigentlichen Anweisungen unterscheiden kann.

Eingebaut wurde diese Absicherung laut Manifold in PR #1062. Dort leiten die Werkzeuge für Wiki-Seiten und Build-Logs ihre Ausgaben über die gemeinsame Hilfsfunktion createExternalContentResponse. Das Werkzeug repo_get_pull_request_by_id, das Pull Requests zurückliefert, nutzt diese Funktion jedoch nicht und gibt die Beschreibung unverändert zurück. Genau diese Oberfläche ist für Angreifer beschreibbar. The Hacker News bestätigte, dass dieser Pfad im aktuellen Quellcode mit Stand vom 21. Juli weiterhin ungeschützt ist.

Die Forscher testeten den Angriff mit Copilot CLI und Claude Code; er ist damit nicht auf einen einzelnen Agenten beschränkt. Voraussetzung sind allerdings mehrere Faktoren: ein vom Angreifer beschriebener PR-Text, ein Arbeitsablauf, der diesen Text an einen Agenten übergibt, ein Reviewer mit weitergehenden Rechten als der Angreifer und ein Agent, der Werkzeuge ohne Rückfrage ausführen darf. Manifold testete diesen letzten Punkt nach eigenen Angaben in einer Konfiguration mit automatischer Freigabe ohne Abfragen pro Werkzeug.

Microsoft bedankte sich bei Manifold für die Meldung im Rahmen einer koordinierten Offenlegung und bezeichnete das Verhalten als „eine bekannte Klasse von KI-Risiken“, die in die laufende Arbeit an Schutzmaßnahmen einfließe. Das Unternehmen erklärte nicht, ob der Code geändert oder eine CVE vergeben wird. Microsoft wies darauf hin, dass der Angriff voraussetzt, dass ein Angreifer bereits Schreibzugriff auf ein Projekt hat und ein zweiter Nutzer ein KI-Werkzeug auf den Inhalt anwendet. Kunden empfahl das Unternehmen, Projektzugriffe zu begrenzen und „vorgeschlagene Änderungen zu prüfen, bevor ein KI-Werkzeug aufgefordert wird, darauf zu reagieren“.

Mit Stand vom 21. Juli gibt es keinen behobenen Release, und The Hacker News fand in öffentlichen Datenbanken keine zugewiesene CVE. Die neueste Version v2.8.0 wurde am 24. Juni veröffentlicht. Öffentliche Hinweise auf eine Nutzung außerhalb der Tests von Manifold gibt es nicht. Manifold testete nur den lokalen, PAT-basierten Server, erklärte aber gegenüber The Hacker News, die Ursache liege „im Servercode, nicht im Transport“.