ИИ‑агентов удалось скомпрометировать через файл AGENTS.md в папке «Загрузки»

4 мин
ИИ‑агентов удалось скомпрометировать через файл AGENTS.md в папке «Загрузки»

Исследователи обнаружили вредоносный файл с инструкциями в формате Markdown (под названием AGENTS.md) в папке «Загрузки» (Downloads) на компьютере одного из пользователей. Этот файл заставил ИИ‑агента, предназначенного для написания кода, инсталлировать вредоносный npm‑пакет.

Специалисты воспроизвели эту атаку, используя систему OpenAI Codex, а также продемонстрировали аналогичный способ в отношении Claude Code. В обоих случаях вредоносные инструкции позволили похитить OAuth‑токены и получить контроль над учётной записью.

Файлы в формате Markdown, подобные AGENTS.md, представляют собой текстовые документы, содержащие специфические для проекта инструкции для ИИ‑агентов: в частности, какие инструменты применять, как запускать тесты и каких стандартов написания кода придерживаться.

Исследователи из компании Forever Security, занимающейся мониторингом рисков, связанных с ИИ‑агентами и автономным программным обеспечением, выявили эту тактику на компьютере клиента: ИИ‑агент попытался установить вредоносный npm‑пакет под названием «function‑color».

В ходе расследования выяснилось, что причиной попытки установки вредоносного пакета стал файл AGENTS.md, находившийся в папке ~/Downloads, которая одновременно служила рабочей директорией для ИИ‑агента.

ИИ‑агенты автоматически считывают соответствующие файлы из своей рабочей директории и используют содержащиеся в них инструкции для выполнения задач.

Хотя такие файлы не являются исполняемыми программами, вредоносные инструкции в них могут побудить ИИ‑агента выполнять команды, устанавливать пакеты или изменять настройки, используя доступные ему инструменты и права доступа.

«Здесь нет ничего, что могли бы исправить разработчики из OpenAI или Anthropic. Агент, следующий инструкциям из файла AGENTS.md в своей рабочей папке, просто выполняет ту задачу, для которой он был создан», — отмечают исследователи.

Тестирование подтвердило, что злоумышленник может использовать такой файл, чтобы манипулировать системами OpenAI Codex и Claude Code, заставляя их выполнять произвольный код или похищать учётные информация.

Хотя исследователям не удалось инсталлировать, как именно вредоносный файл попал в папку ~/Downloads на устройстве жертвы, они пояснили изданию BleepingComputer, что для загрузки вредоносного содержимого достаточно просто посетить скомпрометированный веб‑сайт — участие пользователя при этом не требуется.

В отчёте компания Forever Security отмечается: «Папка ~/Downloads — особенная. Это единственная директория, в которую веб‑ресурсы могут самостоятельно записывать файлы». Таким образом, «веб‑страница может незаметно для пользователя скачать файл с именем AGENTS.md в папку „Загрузки“». 

Исследователи создали PoC, чтобы продемонстрировать, как в ходе атаки вредоносный файл может попасть в папку ~/Downloads без ведома пользователя.

При проверке страницы с PoC специалисты BleepingComputer обнаружили, что она инициирует загрузку файла AGENTS.md, содержащего безобидные данные — строки «sensitive data here» («здесь конфиденциальные данные») и «line 2» («строка 2»).

По умолчанию многие популярные браузеры, включая Chrome, Edge и Firefox, сохраняют файлы, загруженные из интернета, в директорию ~/Downloads, не запрашивая у пользователя подтверждение места сохранения для каждого отдельного файла.

В других браузерах, в частности в Brave, пользователю предлагается подтвердить загрузку — это служит своего рода сигналом о том, что на устройство был скачан какой‑либо файл.

Впрочем, Chrome, Edge и Firefox по умолчанию выводят уведомления о загрузках, оповещая пользователя о том, что файл был сохранён на локальном диске.

Чтобы атака сработала, после появления файла в папке «Загрузки» потребитель должен запустить в этой же директории своего ИИ‑агента. В этом случае агент может считать файл с инструкциями и выполнить содержащиеся в нём вредоносные команды.

Исследователь Гал Вайцман рассказал BleepingComputer, что подобная практика встречается довольно часто: пользователи нередко запускают ИИ‑агентов для упорядочивания содержимого папки «Загрузки» или для обработки только что скачанных файлов.

По словам Вайцмана, внутренняя статистика показывает, что сотни пользователей запускают ИИ‑агентов — в том числе Claude Code, OpenAI Codex и Cursor CLI — прямо из папки ~/Downloads. Только в случае с Claude Code из этой директории было запущено более 1300 сессий, отметил исследователь.

Исследователи проверили свою модель атаки на системе Codex, используя безвредную полезную нагрузку, которая просто открывала программа «Калькулятор». Успешный итог был зафиксирован в 90% случаев.

В ходе другого эксперимента они использовали вредоносный файл CLAUDE.md, чтобы перенаправить программный интерфейс‑трафик Claude Code на подконтрольный им хост. Это привело к утечке OAuth‑токена агента, что позволило серверу выдавать себя за модель и отправлять команды (вызовы инструментов), которые в 50% случаев приводили к выполнению произвольного кода.

По мнению исследователей, данный риск обусловлен особенностями работы браузеров и ИИ‑агентов, предусмотренными их разработчиками. В результате вся ответственность за принятие мер предосторожности и защиту ложится непосредственно на пользователя. Пользователям не следует использовать директорию ~/Downloads в качестве рабочей папки для ИИ‑агента, предназначенного для написания кода, поскольку там могут находиться ненадёжные файлы, которые агент способен ошибочно принять за инструкции.

Компания OpenAI и Anthropic рекомендуют запускать своих ИИ‑агентов для написания кода непосредственно из той директории, в которой находится соответствующий проект. Ограничение рабочей директории рамками конкретного проекта помогает обеспечить агента необходимым контекстом и сужает область его действий, что снижает риск обработки им ненадёжных файлов, расположенных в других местах.

В соответствии с общей рекомендации OpenAI и Anthropic, ИИ‑агента для написания кода следует запускать в корневой директории того проекта, над которым он должен работать, а не в каком‑либо другом месте.

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

Пользователям следует прочитать с незнакомыми файлами инструкций AGENTS.md, CLAUDE.md и аналогичными файлами, прежде чем разрешить агенту ИИ следовать им, оставить включенными запросы на подтверждение и защиту в песочнице, а также протестировать потенциально ненадёжный исходник в изолированной среде, прежде чем запускать его на своей главный системе.

Поделиться

TelegramVK