poniedziałek, 7 września 2026

Nowości

GhostApproval: luka w sześciu asystentach kodujących AI pozwala oszukać ekran zgody

ProgramowaniePatryk Raba
GhostApproval: luka w sześciu asystentach kodujących AI pozwala oszukać ekran zgody
Fot. Tima Miroshnichenko, Pexels (Pexels License)
Spis treści
  1. Jak działa atak
  2. Luka w ekranie zgody
  3. Spór z Anthropic
  4. Co to znaczy dla deweloperów

Badacze z Wiz Research opisali systematyczną lukę bezpieczeństwa nazwaną GhostApproval, która dotyka sześciu czołowych asystentów kodujących opartych na sztucznej inteligencji. Mechanizm pozwala złośliwemu repozytorium doprowadzić do zapisania danych atakującego w newralgicznym pliku systemowym, na przykład z kluczami SSH, mimo że deweloper widzi na ekranie prośbę o zgodę na edycję zupełnie innego, niegroźnego pliku.

Jak działa atak

Metoda opiera się na starej sztuczce znanej z systemów uniksowych, czyli dowiązaniu symbolicznym, w skrócie symlinku. Atakujący przygotowuje repozytorium, w którym plik o niewinnej nazwie, na przykład project_settings.json, w rzeczywistości jest symlinkiem wskazującym na plik z kluczami autoryzacyjnymi SSH ofiary albo na plik startowy powłoki, taki jak .zshrc.

Plik README w repozytorium instruuje agenta AI, by dopisał linijkę konfiguracji do pozornie zwykłego pliku. Agent podąża za symlinkiem i zapisuje treść dostarczoną przez atakującego, na przykład jego publiczny klucz SSH, w rzeczywistym pliku docelowym. Efektem jest dostęp zdalny do maszyny dewelopera bez potrzeby podawania hasła.

Luka w ekranie zgody

Najpoważniejszym elementem GhostApproval nie jest sam symlink, lecz sposób, w jaki narzędzia informują użytkownika o planowanej operacji. Okno potwierdzenia pokazuje nazwę pliku widoczną w repozytorium, a nie rzeczywistą ścieżkę docelową, do której trafi zapis. Deweloper klikający Zatwierdź w przekonaniu, że zgadza się na nieszkodliwą zmianę w pliku konfiguracyjnym projektu, w praktyce autoryzuje modyfikację pliku poza całym katalogiem roboczym.

Badacze Wiz nazwali to obejściem świadomej zgody. W przypadku części narzędzi, w tym Amazon Q i Windsurf, problem był jeszcze poważniejszy, ponieważ zapis do pliku następował, zanim w ogóle pojawiało się okno z prośbą o potwierdzenie, co całkowicie omijało model bezpieczeństwa oparty na człowieku w pętli decyzyjnej. Augment wykonywał zarówno odczyt, jak i zapis przez symlink bez jakiegokolwiek mechanizmu zgody.

The value of AI coding assistants is simple and straightforward: the agent proposes an action, then you approve - Maor Dokhanian, Wiz Research

Spór z Anthropic

Producenci zareagowali różnie. Amazon, Google i Cursor wydały łatki i podziękowały badaczom za współpracę. Augment i Windsurf potwierdziły problem, ale w momencie publikacji raportu nie miały jeszcze gotowej poprawki. Anthropic jako jedyna firma zakwestionowała klasyfikację zgłoszenia jako podatności.

This falls outside our current threat model - Anthropic, w odpowiedzi na zgłoszenie Wiz Research

Anthropic argumentowało, że skoro użytkownik świadomie zaufał katalogowi na starcie sesji i osobno zatwierdził konkretną edycję, to decyzja i odpowiedzialność leżą po jego stronie. Firma zwróciła też uwagę, że ostrzeżenie o symlinkach w oknie zgody na edycję i zapis trafiło do Claude Code w wersji 2.1.32 już 5 lutego 2026 roku, dziewięć dni przed formalnym zgłoszeniem od Wiz.

Co to znaczy dla deweloperów

Problem dotyczy scenariusza, który w codziennej pracy programistycznej jest bardzo częsty: klonowania cudzego repozytorium i uruchomienia w nim agenta AI, by ten skonfigurował projekt, zainstalował zależności albo wprowadził poprawki wskazane w dokumentacji. Symlinki jako wektor ataku są znane od dekad, jednak w klasycznych narzędziach programistycznych ryzyko ograniczał fakt, że to człowiek fizycznie wykonywał każdą komendę. Agent AI działający na polecenia z pliku README zaciera tę granicę.

Dla firm korzystających z agentów kodujących wniosek jest praktyczny: samo istnienie ekranu z prośbą o zatwierdzenie zmiany nie gwarantuje, że użytkownik wie, co faktycznie zostanie zmodyfikowane. Zespoły bezpieczeństwa powinny traktować klonowanie nieznanych repozytoriów z aktywnym agentem AI na tych samych zasadach co uruchamianie nieznanego kodu, w tym rozważyć pracę w izolowanych środowiskach i weryfikację, czy dane narzędzie rozwiązuje symlinki przed zapisem.

Wiz opisało też mechanizmy wykrywania tego typu ataków we własnym produkcie Wiz Sensor, obejmujące moment klonowania repozytorium, moment zapisu do wrażliwych plików oraz kontekst działania agenta AI jako sygnał podwyższonego ryzyka. Sprawa GhostApproval pokazuje, że wraz z przyznawaniem agentom AI coraz większej autonomii w dostępie do plików, granice zaufania między użytkownikiem, agentem i systemem plików wymagają jaśniejszego zdefiniowania niż dotychczas.

Udostępnij: