Новости
GitSpawn: вредоносный .git/config запускает код в Claude Code, Codex и Cursor
Manifold Security раскрыла 8 уязвимостей в 7 AI-агентах. Файл .git/config, переданный в ZIP-архиве, запускает код атакующего до подтверждения доступа.
Специалисты Forever Security обнаружили на компьютере клиента текстовый файл AGENTS.md в папке «Загрузки» — внутри были инструкции, замаскированные под инженерные рекомендации, которые убедили ИИ-агента подготовить «рабочее окружение» установкой вредоносного npm-пакета function-color. Атаку остановили до выполнения кода, но в лабораторных тестах она срабатывала более чем в 90% попыток.

Коротко: обычный Markdown-файл AGENTS.md, оставленный в папке «Загрузки», содержал скрытые вредоносные инструкции внутри текста, похожего на скучные инженерные рекомендации. Когда ИИ-кодинг-агент запускался в этой папке, он принимал файл за легитимное рабочее задание и пытался установить npm-пакет function-color под видом настройки окружения. В тестах Forever Security атака срабатывала у Codex в более чем 90% попыток с безвредной нагрузкой и примерно в 50% — при перенаправлении API-трафика и попытке выполнить произвольный код. Уязвимы также Claude Code и Cursor CLI.
Компания Forever Security, которая занимается мониторингом рисков ИИ-агентов, обнаружила на компьютере клиента файл AGENTS.md — обычный текстовый файл с правилами для кодинг-агента, который принято класть в корень проекта. Найденный экземпляр лежал не в проекте, а прямо в папке «Загрузки» (~/Downloads), и внутри длинного документа, внешне похожего на типовые инженерные рекомендации, были спрятаны инструкции для атаки.
Когда ИИ-агент запускался в этой директории — например, пользователь просил его «разобраться, что в загрузках» или «подготовить окружение», — он читал файл как контекст работы и воспринимал чужие инструкции как легитимное задание.
Формат AGENTS.md придуман для того, чтобы разработчик мог заранее описать агенту правила работы с проектом: какие команды разрешены, как собирать зависимости, какой стиль кода использовать. Агенты доверяют содержимому таких файлов почти по умолчанию — это часть их штатного поведения.
Атакующие воспользовались этим доверием: вредоносные инструкции были оформлены как «подготовка рабочего окружения» и побуждали агента установить сторонний npm-пакет function-color. Пакет был протестирован исследователями отдельно, в изолированной виртуальной машине — большинство экспериментов проводили с безвредной заменой полезной нагрузки, чтобы не подвергать риску боевые системы.
Туда попадают файлы из почты, мессенджеров и браузера без какой-либо проверки содержимого. Если агент запускается именно в этой директории, он в первую очередь «видит» и исполняет контекст из файлов, которые пользователь никогда не создавал сам.
В тестах Forever Security атака сработала против нескольких популярных инструментов для ИИ-разработки:
| Инструмент | Результат теста |
|---|---|
| OpenAI Codex | Свыше 90% успешных попыток с безвредной нагрузкой; около 50% — с перенаправлением API-трафика и выполнением произвольного кода |
| Claude Code | Подтверждена уязвимость к сценарию с файлом AGENTS.md в «Загрузках» |
| Cursor CLI | Подтверждена уязвимость к сценарию с файлом AGENTS.md в «Загрузках» |
Это не уязвимость конкретного продукта, а класс проблемы: любой агент, который безоговорочно доверяет файлам конфигурации из недоверенной папки, рискует выполнить чужие инструкции вместо инструкций пользователя.
Исследователи и профильные СМИ, разбиравшие инцидент, сходятся в нескольких практических рекомендациях для тех, кто пользуется ИИ-кодинг-агентами:
~/Downloads как в рабочей директории — используйте для этого корень конкретного проекта.AGENTS.md, CLAUDE.md и похожие — вручную, не доверяя их обработку агенту «вслепую».Нашли в папке «Загрузки» файл AGENTS.md, CLAUDE.md или аналогичный, который вы сами не создавали? Прочитайте его целиком перед тем, как разрешать агенту работать в этой папке — одна строка посреди «скучных» рекомендаций может быть командой на установку вредоносного пакета. Подробнее о том, что вообще такое Markdown-файлы и чем их открыть, — в нашем гайде чем открыть MD-файл.
Схема, при которой безобидный на вид текстовый или конфигурационный файл заставляет ИИ-агента выполнить чужие команды, встречается всё чаще. Ранее мы писали о GitSpawn — классе уязвимостей, где файл .git/config в репозитории, полученном как ZIP-архив, запускал произвольный код в Claude Code, Codex и Cursor. Принцип в обоих случаях один: атакующий использует легитимный механизм (файл конфигурации или файл правил для агента) как канал доставки команд, обходя обычные диалоги подтверждения.
Подробнее о типичных угрозах в разработке и способах от них защититься — в нашем материале кибербезопасность в разработке.
По теме: безопасность файлов на Loadfile — как проверять загрузки и настраивать защиту.