Microsoft Threat Intelligence предупредила о рискованном сценарии в Claude Code GitHub Action — инструменте Anthropic для автоматизации задач в GitHub через ИИ-агента. Проблема позволяла атакующему влиять на поведение агента через обычный пользовательский текст: issue, комментарий к pull request или описание PR.
Главная опасность возникала, когда агент читал недоверенный текст из GitHub, имел доступ к инструментам внутри CI/CD-раннера и работал рядом с секретами сборочного процесса. В такой конфигурации обычная фраза в комментарии могла стать инструкцией для модели.
Claude Code GitHub Action используется для автоматического ревью кода, ответов на вопросы в issues, создания исправлений и pull request. Инструмент запускается в GitHub Actions и работает внутри раннера — временной среды, где выполняется workflow. В этой среде часто лежат токены GitHub, API-ключи облачных сервисов, ключи пакетных реестров, переменные окружения и другие данные, нужные для сборки, тестов и деплоя.
Microsoft нашла разрыв в модели изоляции. Команды Bash в Claude Code Action проходили через песочницу Bubblewrap с очищенным окружением. Это снижало риск чтения секретов через shell-команды. Инструмент Read работал иначе: он выполнял чтение файлов внутри процесса и не проходил через тот же защитный слой.
Из-за этого агент мог обратиться к /proc/self/environ. В Linux это специальный файл псевдофайловой системы /proc, где процесс видит собственные переменные окружения. В CI/CD такие переменные могут содержать ключи доступа. В тестовом сценарии Microsoft агент получил ANTHROPIC_API_KEY и потенциально мог прочитать другие секреты, доступные раннеру.
Атака строилась через внедрение вредной инструкции в обычный GitHub-контент. Вредный текст можно было спрятать в HTML-комментарии: человек в веб-интерфейсе его не видит, но модель получает сырой Markdown и обрабатывает скрытую команду как часть входных данных.
Исследователи Microsoft проверяли сценарий в лабораторной среде. Вредная инструкция маскировалась под легитимную задачу, чтобы обойти отказ модели на прямую просьбу вывести секретный ключ. Дополнительно результат изменялся так, чтобы его не распознал сканер секретов GitHub.
Дальше у атакующего появлялось несколько каналов вывода данных. Ключ мог попасть в лог workflow, комментарий к issue, сетевой запрос или другой разрешенный канал, зависящий от конфигурации конкретного репозитория. Workflow-файлы GitHub обычно лежат в .github/workflows/, поэтому атакующий часто может заранее увидеть, какие события запускают автоматизацию и какие инструменты доступны агенту.
Anthropic получила сообщение об уязвимости 29 апреля 2026 года через HackerOne. Исправление вышло 5 мая 2026 года в Claude Code 2.1.128. В новой версии Read-инструмент безусловно блокирует доступ к ряду чувствительных файлов в /proc/, чтобы предотвратить чтение переменных окружения и других данных процесса.
Microsoft предлагает правило, которое удобно запомнить как «правило двух для агентов». Один workflow не должен одновременно иметь все три свойства: читать недоверенный пользовательский ввод, иметь доступ к секретам и выполнять внешние действия или менять состояние. Две возможности еще можно контролировать. Три вместе дают слишком широкий коридор для атаки.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.
Читайте также
Один символ в названии — и в проект прилетает RAT: в PyPI нашли вредоносный пакет parsimonius
Фейковые Ghidra и dnSpy добрались до верхних строк поиска: как поддельные сайты для ИБ-специалистов вели к стилерам и криптоклипперу