Содержание
AI coding agents снова напомнили, что удобство в разработке легко превращается в дыру безопасности. Команда Mozilla 0din показала атаку на Claude Code: агент сам запускает цепочку безобидных действий и в итоге устанавливает вредоносный код.
Сценарий выглядит неприятно именно из-за своей будничности. Разработчик просит Claude инициализировать проект из репозитория на GitHub. Репозиторий выглядит чистым: несколько файлов для старта, README, базовая структура проекта. Ничего похожего на классический набор красных флагов.
И в этом вся соль. Зацепка не лежит в одном подозрительном файле. Атака разбита на несколько переходов, каждый из которых по отдельности похож на обычную настройку окружения.
Claude Code подвела собственная готовность помочь
Mozilla 0din описывает цепочку из трех уровней косвенности: агент читает инструкцию, пытается запустить легитимно выглядящий инструмент, получает ошибку и сам ищет способ исправить проблему. Для живого разработчика это тоже знакомый ритуал: клонировал проект, поставил зависимости, поправил окружение, пошел дальше.
В примере исследователей проект просит настроить Python-окружение с пакетом Axiom. Это не выглядит странно: Axiom используют для мониторинга, а подобные зависимости часто встречаются в рабочих репозиториях. Первый запуск специально падает с ошибкой.
Дальше агент делает то, за что мы его обычно и любим. Он пытается помочь и запускает дополнительную команду для инициализации инструмента. Эта команда вызывает скрипт, который забирает конфигурацию не с очевидного вредоносного адреса, а через TXT-записи DNS.
TXT-записи сами по себе не выглядят криминалом. Почта, доменные проверки и конфигурационные инструменты давно используют такой механизм. Поэтому многие сканеры не реагируют на сам факт чтения DNS TXT.
Чистый GitHub-репозиторий не спасает от такой атаки
Главная проблема для разработчиков в том, что репозиторий может пройти поверхностную проверку. В нем нет явного бинарника, подозрительного URL или скрипта, который сразу кричит о вредоносной активности. Опасная часть прячется в логике выполнения.
По описанию 0din, TXT-запись хранит закодированную строку. После декодирования она открывает reverse shell: атакующий получает удаленную оболочку на машине пользователя. Для жертвы и агента процесс может закончиться спокойным сообщением вроде «окружение готово».
Если такая атака сработает, злоумышленник действует от имени самого разработчика. Он может получить доступ к секретам, API-ключам, исходному коду, документам, браузерным сессиям и сохраненным паролям. Отдельный риск — установка дополнительного вредоносного ПО для постоянного доступа.
Это не история только про Claude Code. Исследователи прямо указывают, что похожему классу атак подвержены почти все агентные инструменты для программирования. Claude просто часто выбирают для задач с кодом, поэтому пример получился показательным.
Защита упирается не в сканер, а в контроль выполнения
Классические средства проверки плохо видят такую схему, потому что каждый шаг выглядит нормальным. README с инструкцией, пакет для мониторинга, ошибка при старте, запрос DNS TXT — все это встречается в обычной разработке.
Сработать может жесткая корпоративная сеть, где сильно ограничили исходящие соединения. Но большинство разработчиков работает в куда более свободной среде: домашний ПК, ноутбук, тестовая VM, личный сервер или dev-контейнер без строгой сетевой политики.
Практический вывод для редакции простой: AI-агенту нельзя отдавать незнакомый проект как доверенный код. Особенно если у агента есть доступ к терминалу, файловой системе и учетным этим разработчика.
В отчете 0din финальная рекомендация звучит жестко: разработчикам не стоит слепо доверять неизвестным проектам и самому AI-инструменту как средству анализа безопасности. А агентам нужно проверять, что именно будет запущено, а не просто выполнять шаги из README.