Manifold Security розкрила вісім вразливостей у семи ШІ-агентах для програмування, за яких власні налаштування git у теці змушують агента виконати команду на комп’ютері розробника, повідомило The Hacker News 2 вересня. Дослідження має назву GitSpawn. У кількох агентах команда виконується ще до того, як інструмент запитає, чи довіряти теці.
Передумови
Відкриваючи проєкт, агент для програмування виконує команди git, щоб дізнатися поточну гілку і які файли змінено. У git є параметр продуктивності core.fsmonitor, що вказує програму, яку git запускає для пошуку змінених файлів. Якщо цей параметр задано у власному .git/config репозиторію, програму обирає сам репозиторій [1].
Що описує звіт
Manifold виявила, що спеціально підготовлений .git/config може вказати будь-яку команду, яка потім виконується з привілеями розробника, поза пісочницею агента і без запиту на схвалення. За звітом, для експлуатації потрібна тека, що досі містить свій каталог .git, наприклад отримана як архів, зі спільного диска чи з USB-накопичувача, а не звичайний клон [1].
Момент виконання залежить від агента. Команда виконується до запиту про довіру до робочого простору в Claude Code і Hermes Agent, до автентифікації в Qwen Code і з першим натисканням клавіші в Grok Build [1].
Звіт називає виправленими goose (версія 1.44.0 і новіші), Cursor і Codex, а Claude Code — частково виправленим починаючи з версії 2.1.196. Hermes Agent, Qwen Code і Grok Build значаться невиправленими, як і другий шлях у Claude Code, який Manifold підтвердила на версії 2.1.252. У звіті сказано, що експлуатації не спостерігалося і що повідомлення щодо Hermes Agent не розглянуто попри неодноразові спроби зв’язатися з розробником [1].
Наслідки для користувачів Mac
Під загрозою розробники, які відкривають у котромусь із названих агентів теки проєктів, отримані від інших, особливо скопійовані, а не клоновані. Звіт не обмежує ризик певною операційною системою, тож Mac, що використовується для розробки, також підпадає під нього [1].
Рекомендації
- Перш ніж відкрити теку, отриману як архів, зі спільного диска чи з USB-накопичувача, прочитайте її файл .git/config.
- Шукайте записи core.fsmonitor, core.hooksPath і filter, які звіт називає параметрами для перевірки.
- Віддавайте перевагу свіжому git clone з початкового хоста замість копіювання всієї теки.
- Оновіть агента, яким користуєтеся, і перевірте примітки розробника щодо наведених вище виправлень.
Стосунок до FireAI
FireAI не читає налаштувань git і не зупиняє виконання локальної команди. Це мережевий фаєрвол: якщо команда починає завантаження чи надсилає файли назовні, з’єднання від процесу без правила викликає запит у режимі Сповіщення, а мапа світу показує, куди воно прямувало. У режимі Під атакою з’єднуватися можуть лише застосунки з явним правилом дозволу.
Обмеження
Цей виклад ґрунтується на одному звіті. Він не повідомляє, скільки розробників користувалися ураженими версіями, а його перелік виправлень міг змінитися після 2 вересня. Він не пояснює, чим частково виправлений шлях у Claude Code відрізняється від невиправленого.
Спробуйте FireAI від HisnLabs безкоштовно 17 днів.