Nowości

Luka GhostApproval pozwala agentom AI pisać pliki poza sandboksem

ProgramowaniePatryk Raba1
Fot. Tima Miroshnichenko, Pexels (Pexels License)
Spis treści
  1. Jak działa oszustwo w oknie zatwierdzenia
  2. Podzielone reakcje dostawców
  3. Co to oznacza dla programistów

Firma badawcza Wiz opisała podatność nazwaną GhostApproval, która dotyczy sześciu z najpopularniejszych asystentów kodujących opartych na sztucznej inteligencji. Błąd wykorzystuje kilkudziesięcioletnią funkcję systemów uniksowych, linki symboliczne, w połączeniu z sposobem, w jaki narzędzia AI wyświetlają użytkownikowi prośby o zatwierdzenie zmian w plikach.

Mechanizm ataku opiera się na tym, że złośliwe repozytorium zawiera plik będący w rzeczywistości linkiem symbolicznym, czyli wskaźnikiem do zupełnie innej lokalizacji na dysku. Badacze Wiz zademonstrowali atak, tworząc plik o niewinnie brzmiącej nazwie project_settings.json, który w rzeczywistości wskazywał na plik ~/.ssh/authorized_keys, odpowiedzialny za autoryzację dostępu przez SSH.

Jak działa oszustwo w oknie zatwierdzenia

Najbardziej niepokojącym elementem odkrycia jest to, że wewnętrzne rozumowanie agenta AI poprawnie rozpoznaje, iż docelowy plik jest wrażliwy, ale okno dialogowe pokazywane użytkownikowi ukrywa tę informację. Deweloper widzi prośbę o edycję pozornie nieszkodliwego lokalnego pliku konfiguracyjnego, podczas gdy w rzeczywistości zatwierdza modyfikację pliku systemowego, na przykład ~/.zshrc lub listy autoryzowanych kluczy SSH. Wiz sklasyfikował problem jako połączenie CWE-61, dotyczącego linków symbolicznych, oraz CWE-451, dotyczącego wprowadzającego w błąd interfejsu.

W praktycznym scenariuszu ataku plik README złośliwego repozytorium instruuje agenta, by zaktualizował rzekomy plik ustawień o klucz publiczny SSH. Ponieważ plik jest w rzeczywistości symlinkiem do listy autoryzowanych kluczy, operacja daje atakującemu trwały dostęp SSH do maszyny ofiary, a użytkownik nigdy nie dowiaduje się, co faktycznie zaakceptował.

Podzielone reakcje dostawców

Reakcje firm objętych raportem znacząco się różnią. Amazon, Google i Cursor uznały zgłoszenie za realną podatność i między majem a czerwcem 2026 roku wdrożyły poprawki, a Cursor formalnie zarejestrował błąd jako CVE-2026-50549. Augment i Windsurf potwierdziły otrzymanie raportu, ale nie wydały jeszcze łatek.

Anthropic zajęło odmienne stanowisko, twierdząc, że zachowanie Claude Code nie stanowi luki bezpieczeństwa. Firma podkreśla, że użytkownik, który na starcie sesji potwierdza zaufanie do katalogu roboczego, bierze na siebie odpowiedzialność za konsekwencje zatwierdzanych działań agenta.

This falls outside our current threat model. When the user first starts Claude Code in a directory, they must confirm that they trust the directory prior to starting the session - Anthropic, w odpowiedzi na zgłoszenie Wiz

Mimo formalnego odrzucenia klasyfikacji jako podatności, Anthropic wprowadziło w lutym 2026 roku, dziewięć dni przed otrzymaniem raportu od Wiz, ostrzeżenia dotyczące linków symbolicznych w wersji 2.1.32 Claude Code, określając je jako proaktywne wzmocnienie zabezpieczeń, a nie reakcję na konkretne zgłoszenie.

Co to oznacza dla programistów

Odkrycie GhostApproval przypomina, że narzędzia AI budowane na starych fundamentach systemów operacyjnych dziedziczą też ich stare słabości. Dla zespołów programistycznych w Polsce korzystających z Cursora, Claude Code czy Amazon Q praktyczna rekomendacja jest prosta: należy aktualizować narzędzia do najnowszych wersji, ograniczać otwieranie agentów AI na niezaufanych repozytoriach i nie traktować okna zatwierdzenia zmiany jako pełnego opisu tego, co faktycznie robi agent.

Sprawa uwidacznia też szerszy problem branży, brak jednolitych standardów bezpieczeństwa dla agentów kodujących, które zyskują coraz szersze uprawnienia do modyfikowania systemu plików dewelopera. Rozbieżne podejścia dostawców, od szybkich łatek po odrzucenie zgłoszenia, pokazują, że definicja tego, co stanowi lukę bezpieczeństwa w erze autonomicznych agentów AI, wciąż nie jest ustalona.

Źródła: Wiz (wiz.io), The Hacker News (thehackernews.com), SecurityWeek (securityweek.com)

Udostępnij: