22 октября компания Forever Security, которая отслеживает риски автономных программ, сообщила об атаке на кодового ИИ-агента через файл с проектными инструкциями. На компьютере клиента агент попытался установить вредоносный npm-пакет function-color, следуя командам из AGENTS.md в папке «Загрузки». Защита остановила установку до запуска вредоносного кода.
Как файл попал на компьютер, установить не удалось. Однако журналисты BleepingComputer проверили демонстрационную страницу исследователей: она сохранила в «Загрузки» безвредный AGENTS.md. Chrome, Edge и Firefox обычно показывают уведомление о загрузке, а Brave запросил подтверждение.
Посещения страницы для атаки недостаточно. Пользователь должен затем запустить ИИ-агента из той же папки. Агент может принять AGENTS.md или CLAUDE.md за правила проекта и выполнить записанные в них команды с доступными ему правами.
Читайте также
Так работают сами инструменты. Согласно документации OpenAI, Codex CLI находит файлы с инструкциями и добавляет их в контекст модели. Claude Code также загружает CLAUDE.md и умеет использовать AGENTS.md. Поэтому текстовый файл становится опасным, когда агент воспринимает его содержимое как указание к действию.
Forever Security повторила сценарий на OpenAI Codex с безопасной командой, открывавшей калькулятор: она сработала в 90% попыток. В другом тесте вредоносный CLAUDE.md перенаправлял трафик Claude Code на сервер исследователей и раскрывал OAuth-токен. Сервер мог выдавать себя за модель и отправлять агенту команды, которые примерно в половине испытаний привели к выполнению кода. Эти показатели получены в экспериментах исследователей.
Атака использует штатное поведение браузера и агента: первый сохраняет файл, второй читает локальные инструкции. Риск возникает, если папка с непроверенными загрузками становится рабочей и агенту разрешено выполнять команды.
OpenAI и Anthropic рекомендуют запускать кодовых агентов из корня конкретного проекта, а не из «Загрузок», домашней или общей папки. Незнакомые AGENTS.md и CLAUDE.md следует проверять, запросы на подтверждение и песочницу оставлять включёнными, а недоверенный код и пакеты запускать в изолированной среде. В Claude Code действия можно отдельно разрешать, запрещать или отправлять на ручное подтверждение.
