Manifold Security ujawniło osiem luk w siedmiu agentach AI do programowania, w których ustawienia git samego folderu powodują, że agent wykonuje polecenie na komputerze programisty, poinformował The Hacker News 2 września. Badanie nosi nazwę GitSpawn. W kilku agentach polecenie jest wykonywane, zanim narzędzie zapyta, czy folder jest zaufany.
Tło
Gdy agent do programowania otwiera projekt, uruchamia polecenia git, aby ustalić bieżącą gałąź i zmienione pliki. Git ma ustawienie wydajnościowe core.fsmonitor, które wskazuje program uruchamiany przez git w celu znalezienia zmienionych plików. Jeśli ustawienie pochodzi z pliku .git/config samego repozytorium, to repozytorium wybiera ten program [1].
Co opisuje doniesienie
Manifold ustaliło, że spreparowany plik .git/config może wskazać dowolne polecenie, które następnie działa z uprawnieniami programisty, poza piaskownicą agenta i bez monitu o zatwierdzenie. Według doniesienia wykorzystanie luki wymaga folderu, który nadal zawiera katalog .git, na przykład dostarczonego jako archiwum, na dysku współdzielonym lub na pamięci USB, a nie zwykłego klonu [1].
Moment wykonania zależy od agenta. Polecenie uruchamia się przed pytaniem o zaufanie do obszaru roboczego w Claude Code i Hermes Agent, przed uwierzytelnieniem w Qwen Code oraz po pierwszym naciśnięciu klawisza w Grok Build [1].
Doniesienie wymienia goose (wersja 1.44.0 i nowsze), Cursor i Codex jako załatane, a Claude Code jako częściowo załatany od wersji 2.1.196. Hermes Agent, Qwen Code i Grok Build figurują jako niezałatane, podobnie jak druga ścieżka w Claude Code, którą Manifold potwierdziło w wersji 2.1.252. Według doniesienia nie zaobserwowano wykorzystania luk, a zgłoszenie dotyczące Hermes Agent nie zostało rozpatrzone mimo wielokrotnych prób kontaktu z dostawcą [1].
Znaczenie dla użytkowników Maca
Narażeni są programiści, którzy otwierają w jednym z wymienionych agentów foldery projektów otrzymane od innych, zwłaszcza skopiowane, a nie sklonowane. Doniesienie nie wskazuje ograniczenia do konkretnego systemu operacyjnego, więc Mac używany do programowania również się w nim mieści [1].
Zalecenia
- Przed otwarciem folderu otrzymanego jako archiwum, z dysku współdzielonego lub z pamięci USB przeczytaj jego plik .git/config.
- Szukaj wpisów core.fsmonitor, core.hooksPath i filter, które doniesienie wskazuje jako ustawienia do sprawdzenia.
- Zamiast kopiować cały folder, wykonaj nowy git clone z pierwotnego hosta.
- Zaktualizuj używanego agenta i sprawdź w informacjach dostawcy wymienione wyżej poprawki.
Związek z FireAI
FireAI nie odczytuje ustawień git i nie powstrzymuje uruchomienia lokalnego polecenia. Jest zaporą sieciową: jeśli polecenie rozpoczyna pobieranie lub wysyła pliki, połączenie z procesu bez reguły wywołuje monit w trybie Alert, a mapa świata pokazuje, dokąd zmierzało. W trybie Under attack łączyć się mogą tylko aplikacje z jawną regułą zezwalającą.
Ograniczenia
Ten opis opiera się na jednym doniesieniu. Nie podaje ono, ilu programistów korzystało z podatnych wersji, a lista poprawek mogła się zmienić od 2 września. Doniesienie nie wyjaśnia, czym częściowo załatana ścieżka w Claude Code różni się od niezałatanej.
Wypróbuj FireAI od HisnLabs za darmo przez 17 dni.