Услужливость как уязвимость: Claude Code обманули без единой строчки вредоносного кода
Исследователи из Mozilla Zero Day Investigative Network (0DIN) продемонстрировали атаку, в которой ИИ-агент для кодинга Claude Code сам запускает вредоносный код — хотя в репозитории нет ни одной вредоносной строки. Это не эксплуатация уязвимости в привычном смысле: ни zero-day, ни обхода аутентификации. Атакующие используют саму логику агента — его привычку, наткнувшись на ошибку, тут же пытаться ее починить.
Достаточно попросить агента развернуть проект из на вид чистого репозитория, и срабатывает цепочка из трех безобидных по отдельности звеньев:
в репозитории лежит Python-пакет, который при установке специально падает с ошибкой и подсказывает выполнить команду инициализации (что-то вроде python3 -m axiom init);
агент воспринимает это как штатную проблему первого запуска, сам выполняет подсказанную команду, а та дергает скрипт;
скрипт читает не URL, который можно просканировать, а DNS TXT-запись на стороне атакующего, получает оттуда строку в base64 и исполняет ее.
Вредоноса в репозитории нет — он подгружается только в момент запуска. Поэтому статические сканеры, SAST и SBOM ничего не находят, а саму нагрузку можно подменять прямо в DNS-записи, не делая ни одного коммита. На выходе атакующий получает reverse shell с правами самого разработчика: доступ к API-ключам, переменным окружения, локальным конфигам и возможность закрепиться в системе. И агент, и человек при этом видят лишь сообщение вроде "окружение готово". "Claude Code не решал открывать шелл. Он решал починить ошибку", — формулируют в 0DIN; обратный шелл оказывается в трех шагах от всего, что агент реально проверял.
Пока это proof-of-concept, в реальных атаках техника не замечена. Но раздавать такие репозитории несложно — через фейковые тестовые задания при найме,
Читать на habr.com
