
Зловмисний файл у папці Завантаження намагається змусити AI-агента кодування встановити шкідливе програмне забезпечення
Зловмисний файл AGENTS.md у папці Завантаження розробника намагався змусити AI-агента кодування встановити відомий зловмисний npm-пакет. Forever Security зупинило цю спробу на комп'ютері клієнта.
Зловмисний файл AGENTS.md, що з'явився в папці Завантаження розробника, намагався змусити AI-агента кодування встановити відомий зловмисний npm-пакет. Forever Security повідомила, що зупинила спробу на комп'ютері клієнта до запуску коду, і показала, як веб-сторінка може непомітно підкинути агенту інструкції.
Зловмисний інструкційний файл знайдено у Завантаженнях
Forever Security повідомило, що зловмисний інструкційний файл у папці Завантаження розробника намагався змусити AI-агента кодування встановити відомий зловмисний npm-пакет. Компанія виявила спробу на справжньому комп'ютері клієнта і зупинила агента до запуску будь-якого коду. Вона не змогла встановити, як файл потрапив у папку.
Файлом був AGENTS.md, текстовий файл інструкцій, який агент кодування, такий як Codex від OpenAI, читає при запуску у папці і виконує як настанови. Він був замаскований під звичайні інженерні нотатки. Один розділ наказав агенту додати сервер до власної конфігурації та встановити пакет з назвою function-color з npm. Цей пакет є частиною кампанії зловмисного ПЗ, задокументованої окремо: function-color підключає завантажувач з назвою function-flag, який отримує і запускає корисне навантаження для Windows. Дослідники CloudSEK та Checkmarx, які аналізували кампанію, назвали її MALFEX.
Чому папка має значення
Forever зазначила, що дві нешкідливі речі роблять це можливим. Агент довіряє файлу інструкцій у папці, яку відкриває, і підкоряється йому. Веб-сторінка може зберегти файл у Завантаженнях самостійно, без кліку чи запиту дозволу, обираючи назву та вміст. Разом веб-сторінка може скинути файл, який агент сприймає як накази, у папку, якій агент довіряє.
Дослідники не встановили, що саме так файл потрапив до клієнта. Forever створила сторінку proof-of-concept: відвідайте її, і AGENTS.md завантажиться тихо у Завантаження. Чи використовував реальний атакувальник цей шлях проти клієнта, невідомо.
Тести на Codex та Claude Code
Forever відтворила атаку на двох агентах, щоб показати, що вона не специфічна для одного продукту. Проти Codex файл реального атакуючого наказав Codex зареєструвати сервер у ~/.codex/config.toml і виконати команду, яка встановила пакет. Оскільки ця конфігурація застосовується до кожної сесії Codex на машині, зміна завантажила б сервер атакуючого у будь-якій папці пізніше, а не лише у Завантаженнях. Codex запустив зловмисне ПЗ у більш ніж 90% спроб.
Проти Claude Code розміщений CLAUDE.md спробував змусити Claude записати ANTHROPIC_BASE_URL у файл налаштувань проекту, спрямувавши API-трафік на сервер, керований Forever. Ця зміна розкриває токен входу сесії, що саме по собі є захопленням облікового запису, і дозволяє серверу відповідати так, ніби це модель, і повертати команди, які виконує агент. Claude потребує затвердження для такого запису і часто відмовляється, якщо воно виглядає підозріло; довге оформлення як інженерної документації отримувало затвердження приблизно в половині випадків.
Що робити
Forever зазначила, що OpenAI та Anthropic немає що виправляти, оскільки агент, що слідує файлу інструкцій у своїй папці, робить те, для чого був створений. Компанія порівняла це з браузером, що відображає сторінку фішингу: браузер працює як призначено, а атака лежить у сторінці. «Тут немає нічого, що OpenAI або Anthropic могли б виправити», заявили у Forever.
Forever порадила: не запускайте Codex, Claude Code або будь-який агент у ~/Downloads. Шукайте файли інструкцій, які ви не писали; випадковий AGENTS.md або CLAUDE.md у Завантаженнях або репозиторії, який ви щойно клонували, це і є вся атака. Прочитайте його перед тим, як підпустити до нього агента. Перевірте конфігурацію агента: у ~/.codex/config.toml слідкуйте за блоком server або зміненим base URL, якого ви не додавали; у .claude/settings.json проекту слідкуйте за ANTHROPIC_BASE_URL або іншою API-точкою, яку ви не встановлювали. Залишайте запити на затвердження та пісочниці увімкненими, і будьте обережні з усім, що каже агенту вимкнути їх. Якщо ви знайдете розміщений файл, припустіть, що токен входу витік, і оберніть його.
Телеметрія Forever виявила, що приблизно половина клієнтів запускає агента кодування у Завантаженнях, а приблизно чверть сесій агента відкриває браузер. Це умови, необхідні для атаки.
Джерела: The Hacker News
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.