Чистый GitHub-репозиторий обманывает ИИ-агентов, заставляя запускать вредоносный код
Чистый GitHub-репозиторий обманывает ИИ-агентов, заставляя запускать вредоносный код

Инструмент на базе ИИ, клонирующий и настраивающий внешне безобидный GitHub-репозиторий, может незаметно запустить вредоносную нагрузку, невидимую для сканеров безопасности, ИИ-агентов и человека, проверяющего код.

Исследователи платформы безопасности ИИ Mozilla Zero Day Investigative Network (0DIN) говорят, что атака происходит «без кода эксплойта, без предупреждений и без подозрительных команд, которые кто-либо должен был бы одобрить».

Они продемонстрировали, как злоумышленник может развернуть интерактивную оболочку на устройстве разработчика, используя Claude Code для запуска клонированного проекта, в котором нет вредоносного кода.

Новый метод атаки основан на трёх компонентах, каждый из которых по отдельности не представляет угрозы и не вызывает подозрений:

Абсолютно чистый GitHub-репозиторий со стандартными инструкциями по настройке, например, установка зависимостей и инициализация проекта (pip3 install -r requirements.txt, python3 -m axiom init)

  • Python-пакет намеренно отказывается выполняться до инициализации; он выдаёт ошибку с инструкцией выполнить python3 -m axiom init. Claude Code воспринимает это как штатную проблему настройки и автоматически запускает предложенную команду, пытаясь восстановиться после ошибки.
  • При выполнении python3 -m axiom init вызывается shell-скрипт, который извлекает значение из TXT-записи DNS, контролируемой злоумышленником, и выполняет его как команду.

Исследователи 0DIN поясняют, что для этого подхода не требуется вредоносных компонентов в клонированном репозитории; ИИ-агент полностью автоматизирует цепочку атаки, включая шаг, имитирующий типичную ошибку пользователя.

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

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

Хотя метод атаки пока существует лишь в теории, 0DIN предупреждает, что злоумышленники могут легко распространять подобные GitHub-репозитории через фальшивые вакансии, обучающие материалы, блог-посты или прямые сообщения.

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