Claude Code запускает вредоносный код из «чистого» репозитория GitHub: демонстрация атаки от 0DIN

Исследователи платформы 0DIN компании Mozilla показали, как внешне безобидный репозиторий GitHub может заставить ИИ-помощника по программированию Claude Code запустить вредоносный код на машине разработчика. Полезная нагрузка не хранится в самом репозитории, а подгружается во время выполнения из DNS-записи, поэтому её не видят ни сканеры, ни сам агент. Атака пока продемонстрирована как концепт.

Исследователи Zero Day Investigative Network (0DIN) — платформы по безопасности ИИ, входящей в Mozilla, — продемонстрировали технику, при которой внешне «чистый» репозиторий GitHub способен скомпрометировать машину разработчика, использующего ИI-помощников по программированию. В качестве примера выбран Claude Code — агент компании Anthropic для работы с кодом.

Суть приёма в том, что в самом репозитории нет вредоносного кода, подозрительных shell-команд или иных признаков, которые обычно привлекают внимание систем безопасности и ревьюеров. Атака злоупотребляет тем, как агентные инструменты автоматически устраняют проблемы при настройке проекта.

По описанию исследователей, сценарий выглядит так. Репозиторий содержит обычные инструкции по установке. Специально подготовленный Python-пакет намеренно отказывается запускаться до «инициализации» и выводит ошибку, предлагающую пользователю выполнить команду вида python3 -m axiom init. Claude Code воспринимает это как рядовую проблему настройки и сам выполняет рекомендованную команду, пытаясь устранить ошибку.

Эта команда запускает скрипт, который считывает значение из DNS-записи TXT, контролируемой атакующим, и исполняет его как команду. Поскольку полезная нагрузка подгружается динамически из DNS, а не лежит в репозитории, многие традиционные методы сканирования её не замечают. По словам исследователей, в случае успеха атакующий получает интерактивную оболочку с правами пользователя-разработчика, что открывает доступ к переменным окружения, API-ключам, локальным конфигурационным файлам и другим учётным данным и секретам.

Исследователи подчёркивают, что речь идёт о демонстрации концепции, а не о зафиксированной атаке «в дикой природе». При этом они предупреждают, что злоумышленники могли бы распространять подобные репозитории через поддельные вакансии, обучающие материалы, записи в блогах или личные сообщения, нацеленные на разработчиков. Подвержен такому классу атак, по оценке 0DIN, не только Claude Code, но и другие агентные инструменты.

Для снижения риска в 0DIN рекомендуют, чтобы ИИ-агенты показывали разработчику полную цепочку выполняемых при настройке команд — включая скрипты и код, подгружаемые во время выполнения, — до их запуска, а сами разработчики не доверяли незнакомому проекту как заведомо безопасному. Подробности приведены в материале The Decoder.

Источник: the-decoder.com

Связь с редакцией