Der Schwachpunkt lag in der Datei ~/.kiro/settings/mcp.json. Aus ihr liest Kiro die Liste der Model Context Protocol Server sowie die genauen Befehle, mit denen diese gestartet werden. Wenn sich die Datei ändert, lädt Kiro sie neu und führt aus, was darin beschrieben ist — direkt auf dem Host und mit den Berechtigungen des Entwicklers. Zum Zeitpunkt der Untersuchung konnte Kiro diese Datei mit seinem Werkzeug fsWrite selbst beschreiben, ohne dass dafür eine Freigabe nötig war.

Damit war der Weg zur Codeausführung vergleichsweise kurz: Wer den Inhalt von mcp.json beeinflussen konnte, konnte einen Server eintragen, dessen Startbefehl beliebigen Code ausführt. Laut Intezer war der einfachste Einstieg, Text in Kiros Kontext einzuschleusen. Das Werkzeug übernimmt externe Inhalte, wenn ein Entwickler es etwa eine URL abrufen, Dokumentation lesen oder im Web suchen lässt. Im Proof of Concept platzierten die Forscher ihre Anweisungen als ein Pixel kleinen weißen Text auf einer ansonsten unauffälligen API-Dokumentationsseite.

Für den Entwickler blieb die Seite optisch sauber. Kiro interpretierte den versteckten Block jedoch als Einrichtungsaufgabe, schrieb den bösartigen Server in mcp.json und lud die Konfiguration neu. Innerhalb von Sekunden startete laut Intezer der präparierte Server, und der Code des Angreifers lief. In der Demo sendete die Nutzlast lediglich Hostname, Benutzername und Plattform des Systems alle zehn Sekunden an localhost zurück, um die Ausführung nachzuweisen. Intezer betont zugleich, dass keine Ausnutzung bei realen Nutzern beobachtet wurde.

Ganz zuverlässig war die Kette nach Angaben der Forscher nicht, weil das Modell nicht deterministisch arbeitet und den versteckten Block auch ignorieren konnte. In ihren Tests funktionierte der Angriff aber nach ein oder zwei Versuchen. Teilweise zeigte Kiro zwar ein Dialogfenster an, das auf eine geänderte MCP-Konfiguration hinwies und um Zustimmung bat. Das half jedoch nicht: Die Konfiguration wurde laut Bericht unabhängig von der Auswahl des Entwicklers neu geladen. Tatsächlich freigegeben wurde damit nur das Abrufen der URL.

Neu war die Grundidee nicht. Bereits am Veröffentlichungstag von Kiro im Juli 2025 zeigte Johann Rehberger von Embrace The Red denselben Mechanismus: Eine Prompt-Injection schrieb benutzerdefinierten Code in eine MCP-Einstellungsdatei und führte ihn beim Speichern aus. Rehberger beschrieb zudem einen zweiten Weg über .vscode/settings.json, um Shell-Befehle auf eine Erlaubnisliste zu setzen. AWS reagierte damals mit Kiro 0.1.42 und ergänzte für solche Schreibzugriffe einen Freigabedialog — allerdings nur im Modus Supervised. Der standardmäßige Modus Autopilot schrieb die Datei weiterhin selbstständig; genau diesen Modus nutzte die von Intezer 2026 dokumentierte Kette. Auch damals wurde keine CVE vergeben.

Verwandte Probleme meldeten weitere Forscher. Cymulate berichtete, dass Kiro Code aus .vscode/tasks.json automatisch ausführen konnte, wenn ein Ordner geöffnet wurde. AWS vergab dafür CVE-2026-10591 mit 8,8 nach CVSS 3.1 und 8,6 nach CVSS 4.0 und behob das Problem in der 0.11-Serie.

Intezer zufolge war die mcp.json-Kette auf Kiro 0.9.2 für macOS und 0.10.16 für Ubuntu noch ausnutzbar, als das Unternehmen sie im Februar 2026 meldete. Bestätigt behoben wurde sie in v0.11.130. AWS verlagerte die Kontrolle daraufhin aus dem Modell in die Plattform: mcp.json, .vscode/tasks.json, das .git-Verzeichnis und weitere sensible Dateien gelten nun als geschützte Pfade und erfordern vor jedem Schreibzugriff eine ausdrückliche Freigabe. Intezer bestätigte, dass der Angriff in 0.11.130 scheiterte und die Prüfung nun sowohl im Autopilot- als auch im Supervised-Modus greift.

Intezer meldete die Schwachstelle am 11. Februar 2026 über HackerOne; AWS erklärte am 3. April, dass die Korrektur in der aktuellen Veröffentlichung enthalten sei, nannte aber keine Versionsnummer. Die Forscher bestätigten die Behebung selbst in v0.11.130. Eine CVE existiert nach Angaben von The Hacker News weiterhin nicht; in der National Vulnerability Database fand sich bis zum 21. Juli 2026 kein Eintrag. AWS veröffentlichte zudem keine vollständige Liste betroffener Builds. Die Tests von Intezer bezogen sich auf die Kiro IDE; ob auch die getrennten Kiro-CLI- oder Web-Versionen denselben Fehler teilen, wurde nicht festgestellt.