Новый метод атаки на ИИ-агентов в GitHub позволяет красть токены
Работающие с GitHub Actions ИИ-агенты оказались уязвимы к новому методу атаки, который выявили исследователи безопасности из Университета Джонса Хопкинса. В ходе эксперимента они атаковали Claude Code Security Review от Anthropic, Gemini CLI Action от Google и GitHub Copilot от Microsoft. Специалисты сообщили о найденных багах, и получили за них вознаграждение по программе Bug Bounty («Вознаграждение за уязвимость»). Однако сами проблемы не получили CVE, а компании не опубликовали рекомендации по их исправлению. Специалисты скомпрометировали три популярных агента и получили API-ключи с токенами доступа.
Первой была найдена уязвимость в Claude Code Security Review. Это инструмент от Anthropic, который через Claude проверяет код и запросы на проблемы в безопасности. Один из исследователей выяснил, что все такие агенты работают по одной схеме — читают данные из GitHub, обрабатывают их как контекст и выполняют действия.
Чтобы использовать уязвимость, исследователи создали запрос на вытягивание и внедрили команды в заголовок. Claude выполнил whoami через bash и вернул результат в комментарии. После демонстрации на HackerOne Anthropic попросила показать кражу более серьёзных данных, например токенов GitHub и API-ключей. Для этого атакующий пишет payload в заголовок, бот публикует данные в комментарий, а пользователь читает их. В ноябре Anthropic выплатила нашедшему уязвимость 100 долларов и обновила документацию.
После успеха с Claude исследователи проверили данный метод на Google Gemini CLI Action и GitHub Copilot Agent. Для Gemini внедрили фейковый раздел доверенного контента, минуя таким образом защитные инструкции. API-ключ попал в комментарий. Google заплатил исследователям 1337 долларов.
Добиться подобного результата с Copilot оказалось сложнее — GitHub добавил три дополнительных слоя защиты. Однако все их удалось миновать, внедрив инструкции в HTML-комментарий. GitHub выплатил за эту брешь 500 долларов.
Новый тип атак получил название comment-and-control. Все действия выполняются внутри GitHub без внешней инфраструктуры. Эксперты подчёркивают отличие от классической промпт-инъекциеи. Традиционный метод реактивный — атакующий ждёт, пока жертва попросит ИИ обработать данные. Новая техника проактивна — механизм запускается автоматически. Для запуска агента может быть достаточно просто открыть пулл-реквест.
Нашедшие уязвимость исследователи рекомендовали думать о промпт-инъекциях как о фишинге для машин и применять принцип минимальных привилегий — давать агентам только необходимые инструменты.