Дыра в AWS Kiro: спрятанный на веб-странице текст запускал чужой код на машине разработчика

Исследователи из Intezer и Kodem Security нашли серьёзную дыру в Kiro — агентной среде разработки от AWS. Уязвимость позволяла обойти механизм подтверждений и выполнить произвольный код на машине разработчика через невидимый текст, спрятанный на веб-странице.

Как это работало

Слабое место — то, как Kiro читает свои настройки. Инструмент подхватывает параметры MCP-серверов из файла ~/.kiro/settings/mcp.json и автоматически запускает всё, что там прописано. Атакующий мог дописать в этот файл вредоносные инструкции, и агент их исполнял без единого запроса на подтверждение.

В демонстрации исследователи вписали скрытые инструкции белым текстом размером в один пиксель (color:#fff;font-size:1px) прямо в обычную страницу с документацией API. Стоило разработчику попросить Kiro пересказать эту страницу, как агент вычитывал невидимый текст, правил конфиг и за считаные секунды запускал код атакующего.

Версии и хронология

  • Уязвимые версии: 0.9.2 (macOS) и 0.10.16 (Ubuntu);
  • исправлено: версия 0.11.130;
  • текущий релиз на 21 июля 2026 года — 1.0.165.

Что залатали

AWS ввела понятие «защищённых путей» — это чувствительные файлы, менять которые агент теперь может только с явного разрешения. В релизе 1.0 появились разрешения по возможностям: на доступ к ранее ничем не ограниченным функциям теперь требуется согласие. Правила действуют в обоих режимах — и в Autopilot, и в Supervised.

Не в первый раз

Это уже третья похожая дыра. Ещё в день запуска Kiro в июле 2025-го Йоханн Ребергер показал точно такую же эксплуатацию mcp.json. Позже в Cymulate сообщили об уязвимостях через .vscode/tasks.json (CVE-2026-10591, CVSS 8.8/8.6).

Любопытная деталь: несмотря на подтверждённую возможность эксплуатации, номер CVE этой конкретной дыре так и не присвоили.