Разработчик запускает AI-помощника для кода, тот клонирует свежий GitHub-репозиторий, ставит зависимости и натыкается на «обычную» ошибку установки. Через минуту агент сам подсказывает команду для исправления, а вместе с ней — запускает вредоносную цепочку, которую не заметил ни человек, ни сканер.
Именно так исследователи Mozilla 0DIN описали новый способ атаки на agentic coding tools — инструменты, которые не только пишут код, но и сами выполняют команды в окружении разработчика.
Что произошло и почему это важно
Суть атаки проста: злоумышленник публикует на GitHub* репозиторий, который выглядит чисто и даже полезно. Внутри — стандартные инструкции по установке, а сама вредоносная часть прячется не в исходниках, а в поведении при запуске.
Такой сценарий опасен именно для AI-агентов. Они не просто читают код, а пытаются довести установку до конца, автоматически исправляют ошибки и доверяют подсказкам, которые видят в консоли. Это делает их удобной мишенью: агент принимает вредоносный шаг за рутинную настройку.
Как работает атака
Исследователи описали цепочку из трех элементов. Сначала жертва клонирует безобидный на вид репозиторий с инструкциями вроде установки зависимостей и инициализации проекта. Потом пакет специально отказывается запускаться, пока пользователь не выполнит предложенную команду.
AI-агент воспринимает это как нормальную проблему и сам запускает совет из сообщения об ошибке. Дальше сценарий уходит еще глубже: команда вызывает shell-скрипт, который достает значение из DNS TXT-записи под контролем атакующего, а затем выполняет его как команду.
Итог — на машине разработчика появляется интерактивная оболочка с его правами. Это дает доступ к переменным окружения, API-ключам, локальным конфигам и, в некоторых случаях, к закреплению в системе. Похожую логику обмана AI-анализаторов уже показывали и в разборе вредоноса для macOS, где атака тоже строилась на доверии к «ошибке».
Почему сканеры и люди могут это пропустить
Здесь нет явного вредоносного файла в репозитории. Нет и очевидной команды, которую можно сразу пометить как опасную. Снаружи все выглядит как обычная установка проекта, а вредоносная часть появляется только во время выполнения — через цепочку из ошибок, скриптов и динамически подгружаемых данных.
Именно поэтому классические проверки слабеют. Статический анализ видит чистый код. Человек видит стандартный README. AI-агент видит ошибку, которую нужно исправить, и идет по пути, который ему кажется логичным.
Похожий принцип уже использовали и в других атаках на веб-сервисы: например, в материале про поддельные CAPTCHA злоумышленники тоже маскировали вредоносный шаг под привычное действие пользователя.
Как понять, что это касается вас
Риск выше всего у тех, кто уже поручает AI-ассистентам установку проектов, запуск тестов или подготовку окружения. Если инструмент сам выполняет команды из README, сам пытается «починить» сбой и сам открывает доступ к сети, он попадает в зону риска.
Особенно опасны репозитории, которые пришли не из знакомого источника, а из вакансии, рассылки, блога или личного сообщения. Исследователи 0DIN прямо указывают: такие наборы легко распространять под видом тестового задания, туториала или полезного шаблона.
Если вы работаете с кодом на домашнем ноутбуке, риск упирается не только в проект. В опасности могут оказаться токены, личные ключи, конфиги облачных сервисов и даже учетные данные, которые лежат в переменных среды.
Как защититься
0DIN советует раскрывать весь путь выполнения setup-команд — от первой инструкции до скриптов и данных, которые подтягиваются в процессе. Для команд разработки это значит одно: AI-агенту нельзя бездумно доверять автозапуск и «умное» исправление ошибок.
Практика здесь проста. Сначала проверяйте репозиторий вручную, потом запускайте его в изолированной среде, а все команды из README сверяйте отдельно. Если агент предлагает что-то выполнить сам, не пускайте это на автопилоте.
Для удаленной работы и фриланса полезно шифровать трафик на личных устройствах через защиту трафика для удаленной работы, но это лишь один слой. Он не отменяет проверку исходников, контроль зависимостей и запрет на хранение ключей в открытом виде.
Чек-лист для разработчика и команды
- Не давайте AI-агенту автоматически запускать команды из непроверенного репозитория.
- Проверяйте README, setup-скрипты и все команды инициализации вручную.
- Запускайте новые проекты в изолированной среде, а не на рабочей машине с ключами.
- Не храните API-ключи и токены в переменных среды на постоянной основе.
- Следите за репозиториями, которые пришли из писем, чатов, вакансий и блогов.
- Ограничьте права учетной записи, под которой работает AI-инструмент.
- Проверьте, умеет ли ваш стек показывать полную цепочку выполненных команд.
- Пересмотрите правила для автоматического запуска зависимостей и скриптов.
Комментарии (0)
Будьте уважительны. Спам и ссылки на сторонние сервисы скрываются модерацией.
Пока комментариев нет. Вы можете быть первым.