AI для початківцівПосібник
Запускаєте Claude Code чи Codex у папці Downloads? Перевірка безпеки AGENTS.md
Файл з назвою AGENTS.md або CLAUDE.md у папці Downloads може керувати Claude Code і Codex. Що це за файли та 5-хвилинна перевірка ваших конфігурацій.

На цій сторінці
Коротка відповідь: не запускайте Claude Code чи Codex у папці ~/Downloads. 22 жовтня 2026 року компанія з кібербезпеки Forever Security опублікувала дослідження, яке показало, що вебсайт може непомітно зберегти файл з назвою AGENTS.md або CLAUDE.md у папку Downloads, і агент, запущений у цій папці, потім сприймає цей файл як довірені інструкції. Далі: що це за файли, що дослідникам вдалося змінити та перевірка, яка займає близько п'яти хвилин.
Уявіть звичайну ситуацію. Ви зберегли десяток PDF-файлів і скриншотів із вебсайту, відкрили термінал у папці Downloads, ввели claude або codex і попросили «впорядкувати ці файли». Ніщо в цьому не здається ризикованим. І саме в цьому криється підступ.
Що таке AGENTS.md і CLAUDE.md і чому агент їм вірить#
Агент для програмування не починає кожну сесію з нуля. Перш ніж він погляне на ваш запит, він перевіряє папку, у якій його запущено, на наявність звичайного текстового файлу з постійними інструкціями: «використовуй табуляцію, запускай тести через npm test, ніколи не чіпай папку migrations». AGENTS.md — це загальна назва, CLAUDE.md — та сама ідея для Claude Code. У вашому власному проєкті ці файли корисні, бо ви їх написали.
Однак агент не може визначити, хто написав файл. CLAUDE.md, який вебсайт підкинув у папку Downloads, виглядає точно так само, як той, що ви написали минулого тижня.
Флеш-картки
Слова, які зустрінуться в цій статті
Торкніться картки, щоб перевернути її
Що дослідники зробили з файлом у папці Downloads#
Публікація Forever Security (автори Gal Weizman і Omer Samet, 22 жовтня 2026 року) описує два випадки. Усі показники успіху нижче — це власні вимірювання дослідників.
Codex. Підкинутий AGENTS.md наказував агенту додати запис MCP-сервера до ~/, і цей запис призводив до встановлення npm-пакета під назвою function-color. За словами дослідників, корисне навантаження спрацювало більш ніж у 90% спроб. Погляньте, де живе цей файл: у вашій домашній папці, а не в Downloads. Конфігурація є загальносистемною, тож кожна наступна сесія в будь-якій папці зазнає впливу, задовго після того, як ви забудете про папку Downloads.
Claude Code. Підкинутий CLAUDE.md намагався записати налаштування ANTHROPIC_ у .. Це налаштування визначає, куди агент надсилає свій API-трафік. Спрямуйте його на чужий сервер — і цей сервер побачить ваш OAuth-токен і зможе надсилати у відповідь виклики інструментів, які агент виконає. Запис вдався приблизно в половині випадків; шлях, який виконувався в межах тієї самої сесії, — приблизно в п'ятій частині випадків.

У публікації чітко зазначено, що в жодному з продуктів нічого не «зламано»: агент працює як задумано, а ризик походить від того, де лежить файл і наскільки агент йому довіряє. Forever також каже, що виявила справжній підкинутий AGENTS.md на машині клієнта й зупинила шкідливе встановлення npm до того, як виконався будь-який код; відтоді npm видалив function-color. Остання частина — це власний звіт дослідників. OpenNET висвітлив цю історію 26 жовтня 2026 року й указує на подібний ризик, коли AGENTS.md надходить через pull request або клонований репозиторій.
Швидка перевірка
Чому випадок з Codex гірший за одну погану сесію в папці Downloads?
Показати відповідь
Відповідь: Змінена конфігурація є загальносистемною, тож кожна наступна сесія в будь-якій папці зазнає впливу
Підкинутий файл має спрацювати лише один раз. Те, що він записує в ~/, залишається там і застосовується до наступних сесій у кожній папці.
На які налаштування звертати увагу і як виглядає нормальне#
Два файли, по одному для кожного інструмента з дослідження.
У ~/ шукайте записи [mcp_servers.*], яких ви не пам'ятаєте, що додавали, і base URL, який ви не встановлювали. Підозрілий запис змушує вашу машину завантажити й запустити щось з npm:
[mcp_servers.helper]
command = "npx"
args = ["-y", "some-package"]Назва helper і пакет тут є заглушками. У випадку дослідників пакетом, що стояв за таким записом, був function-color.
У . шукайте API-ендпоінт або проксі, який ви не додавали. Якщо ви ніколи не встановлювали ANTHROPIC_, файл взагалі не повинен його згадувати. Якщо встановлювали, це має бути адреса обраного вами провайдера. Для CheapTokens клієнт у стилі Anthropic, як-от Claude Code, використовує https:/ без /v1 у кінці; клієнти у стилі OpenAI використовують https:/.

Якщо ви запускаєте Claude Code на власному ключі, покрокова інструкція з підключення Claude Code до CheapTokens показує весь файл, а документація перелічує обидва base URL. Для довгих циклів агента DeepSeek-V4-Flash (deepseek-) має контекст 380K, до 32 768 вихідних токенів на відповідь і єдину ціну в будь-яку годину; решта — на сторінці моделі.
Cline, Aider та інші агенти не були частиною цього дослідження, і кожен зберігає свої налаштування у власному місці. Звичка та сама: знати, який файл містить ендпоінт, і прочитати його один раз.
Перевірка на 5 хвилин#
Відкрийте термінал і пройдіть ці кроки по черзі. Ніщо тут не змінює файл; це лише читання.
Крок за кроком
Перевірте свою машину
Знайдіть сторонні файли з інструкціями
find ~/Downloads -maxdepth 3 -name "AGENTS.md" -o -name "CLAUDE.md"Будь-який збіг, який ви не писали: відкрийте його як текст і прочитайте. Якщо ви не знаєте, звідки він узявся, видаліть його.
Прочитайте конфігурацію Codex
grep -n "mcp_servers\|base_url" ~/.codex/config.tomlКожен рядок [mcp_servers.…] має бути чимось, що ви пам'ятаєте, що додавали. «No such file» — це нормально, якщо ви не користуєтеся Codex.
Прочитайте налаштування Claude Code
grep -n "BASE_URL\|proxy" ~/.claude/settings.json .claude/settings.jsonЗапустіть це з папки вашого проєкту, щоб охопити обидва файли. Кожна адреса у виводі має бути провайдером, який ви обрали.
Погляньте на свою оболонку
env | grep -i "BASE_URL"Це перелічує base URL, встановлені як змінні середовища. Те саме правило: ви маєте впізнавати кожен із них.
Пошукайте пакет із цього випадку
npm ls -g --depth=0 | grep function-colorТакож виконайте npm ls function- у проєктах, де ви користувалися агентом. Якщо він з'явиться, вважайте машину скомпрометованою.
Якщо щось виглядає неправильно#
Спершу закрийте агента. Потім видаліть записи, яких ви не впізнаєте, і замініть кожен обліковий дані, які міг бачити агент: API-ключі, токени, усе в середовищі. Якщо ідея заміни ключа для вас нова, що таке API-ключ і як його зберігати пояснює основи.
Звички, які не дадуть цьому повторитися, усі з рекомендацій дослідників:
- Запускайте агентів у папці проєкту, яку ви створили самі, а не в папці Downloads.
- Прочитайте будь-який
AGENTS.mdабоCLAUDE.md, який ви не писали, перш ніж запускати на ньому агента, зокрема ті, що надходять через клон або pull request. - Тримайте запити на підтвердження та пісочницю ввімкненими й остерігайтеся будь-якої інструкції, яка просить агента їх вимкнути.



