Файл AGENTS.md в «Загрузках» перехватывает управление Codex и Claude Code

25.10.2026 3 мин 5

Файл AGENTS.md, оставленный в папке «Загрузки» на компьютере клиента, велел работавшему там ИИ-агенту для программирования установить вредоносный npm-пакет. Об этом 22 октября сообщила компания Forever Security. В её собственных тестах тот же приём заставлял Codex от OpenAI выполнять команду атакующего более чем в 90% попыток.

Агенты вроде Codex и Claude Code читают файлы с инструкциями из папки, в которой их запустили, и воспринимают их как правила работы. Браузеры по умолчанию сохраняют скачанное в те же «Загрузки», а запускать агентов оттуда привыкли многие. По данным Forever, примерно половина её клиентов запускает агента для кода именно в «Загрузках», и один только Claude Code открыл там на их компьютерах больше 1300 сессий.

Как подброшенный AGENTS.md захватил агента

Файл весил 13 КБ и выглядел как обычные правила для разработчиков. Ближе к концу в нём стоял шаг «подготовки инструментов» перед задачей пользователя, то есть установка пакета function-color. Защита Forever остановила установку до запуска кода, а сам пакет из npm с тех пор удалили. Как файл попал на компьютер, исследователи установить не смогли. Зато показали, что веб-страница способна без спроса сохранить файл с именем AGENTS.md в «Загрузки»: Chrome, Edge и Firefox кладут туда скачанное по умолчанию и лишь показывают уведомление, а Brave в их тестах спросил разрешения.

Затем Гал Вайцман и Омер Самет повторили атаку в виртуальной машине. В случае Codex файл просил агента добавить сервер MCP в ~/.codex/config.toml, общий конфиг для всех сессий Codex на компьютере, и команда атакующего запускалась бы при каждом старте. С безобидной нагрузкой, которая открывала калькулятор, это срабатывало более чем в 90% попыток.

Для Claude Code исследователи написали CLAUDE.md, который просил агента прописать в настройках проекта адрес якобы внутреннего шлюза. Когда Claude вносил изменение, его запросы к API уходили на сервер исследователей вместе с OAuth-токеном пользователя. Этот сервер мог отвечать вместо модели и присылать агенту команды, так что код удавалось выполнить примерно в половине тестов. Через субагента выполнение внутри той же сессии получалось примерно в каждом пятом случае.

Исправлять производителям нечего

«Ни OpenAI, ни Anthropic тут нечего исправлять», - пишут исследователи. Агент, который следует AGENTS.md из своей папки, делает ровно то, для чего его создали, поэтому риск в том, где агента запускают. OpenAI и Anthropic советуют запускать агентов из папки проекта, комментариев к исследованию ни одна из компаний не дала. В августе другая уязвимость в Claude Code позволила сообщению на GitHub добраться до ключей сборки, и в основе обоих случаев одна и та же проблема: агент не отличает указания пользователя от текста, который просто читает.

Что проверить в Codex и Claude Code

  • Рабочая папка: запускайте агентов в корне конкретного проекта, а не в «Загрузках» и не в домашней папке.
  • Файлы с инструкциями: прочитайте любой AGENTS.md или CLAUDE.md, который писали не вы, прежде чем им воспользуется агент.
  • Codex: посмотрите в ~/.codex/config.toml, нет ли там незнакомых блоков [mcp_servers.*] или изменённого chatgpt_base_url.
  • Claude Code: проверьте .claude/settings.json проекта на неожиданный адрес API, например ANTHROPIC_BASE_URL.
  • Подтверждения: не отключайте запросы на подтверждение и песочницу и настораживайтесь, если файл просит агента их выключить.

Если агент мог уже выполнить такой файл, удалить его мало: изменённые агентом настройки останутся. Уберите их вручную и замените токены, потому что утёкший токен работает как действующий вход в аккаунт. По словам Forever, если среди установленных пакетов есть function-color, компьютер стоит считать заражённым.

claude codecodexopenaianthropicии-агентыпромпт-инъекциявредоносное поnpmforever securityцепочка поставоккибербезопасностьбраузер

Читайте также