Разработчик запускает 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-инструмент.
  • Проверьте, умеет ли ваш стек показывать полную цепочку выполненных команд.
  • Пересмотрите правила для автоматического запуска зависимостей и скриптов.
Поделиться: