Badacze bezpieczeństwa w firmie Wiz udokumentowali nietypowy przypadek sztucznej inteligencji, która utworzyła tę samą lukę, którą następnie znalazł i wykorzystał inny system sztucznej inteligencji: zautomatyzowana poprawka GitHub Copilot wprowadziła poważną lukę polegającą na wstrzykiwaniu skryptu do repozytorium open source Snowflake, a autonomiczny Czerwony Agent Wiz odkrył błąd, użył go i pobrał dane uwierzytelniające z wewnętrznych systemów Snowflake – a wszystko to w ciągu kilku dni od wylądowania wadliwego kodu.
Odkrycia, opublikowane w poniedziałek na blogu Wiz Research, szybko trafiły na pierwszą stronę Hacker News, gdzie programiści debatowali nad tym, co to oznacza dla rosnącej praktyki umożliwienia asystentom kodowania AI wprowadzania zmian bezpośrednio do repozytoriów produkcyjnych. Odcinek ten jest odczytywany jako ostrzeżenie przed pośpiechem branży w kierunku kodu tworzonego przez sztuczną inteligencję. Więcej artykułów na temat narzędzi zmieniających rozwój oprogramowania znajdziesz w naszych aktualnościach dotyczących sztucznej inteligencji.
Jak automatyczna naprawa AI stworzyła lukę w zabezpieczeniach
Według Wiz problem zaczął się 18 czerwca 2026 r., kiedy żądanie ściągnięcia w publicznym repozytorium `snowflake-connector-net` zaktualizowało przepływ pracy GitHub Actions o nazwie `jira_issue.yml`. Zatwierdzenie, którego współautorem jest funkcja Autofix w GitHub Copilot, zastąpiło bezpieczny wzorzec kodowania — taki, który przepuszczał tytuły niezaufanych problemów przez zmienną środowiskową i tworzył ładunki JSON za pomocą `jq` — bezpośrednią interpolacją szablonu danych wejściowych kontrolowanych przez użytkownika do skryptu powłoki.
Przepływ pracy był uruchamiany za każdym razem, gdy dowolny użytkownik GitHub otworzył problem w repozytorium. Ponieważ tytuł problemu został interpolowany bezpośrednio w bloku „run:”, pojedynczy cudzysłów w spreparowanym tytule wystarczył, aby wyjść z polecenia powłoki i wykonać dowolny kod w modułach wykonawczych Actions GitHuba.
Warunkowe sprawdzenie przepływu pracy, które wyglądało na bramkę bezpieczeństwa, okazało się nieskuteczne: w przypadku zdarzeń związanych z problemami kontekst `github.event.pull_request` ma zawsze wartość null, więc warunek ma wartość true dla każdego użytkownika. W praktyce każdy użytkownik GitHuba może uruchomić przepływ pracy.
Wiz twierdzi, że bezpieczny wzorzec usunięty przez asystenta AI został celowo wdrożony, aby zapobiec dokładnie tej klasie wtryskiwania pocisków – jest to kontekst historyczny, o którym automatyczny asystent nie miał pojęcia.
Czerwony Agent znalazł to i nie zawiódł
Sprawa jest niezwykła, ponieważ wada została odkryta. Czerwony agent Wiza, autonomiczny ofensywny agent bezpieczeństwa, skanował organizację GitHub firmy Snowflake za pomocą funkcji analizy CI/CD, gdy oznaczył przepływ pracy jako podatny na wstrzyknięcie skryptu.
Gdy agent próbował wykorzystać tę lukę, jego pierwszy ładunek — który wykorzystywał znak komentarza do obcięcia polecenia powłoki — nie powiódł się z powodu błędu składni basha. Zamiast się zatrzymać, jak napisali badacze, Red Agent autonomicznie przeanalizował błąd, dostosował swój ładunek, aby prawidłowo zamknąć składnię powłoki, i pomyślnie wydobył dane uwierzytelniające Jira do pozapasmowego serwera wywołań zwrotnych. Wywołanie zwrotne nadeszło od modułu uruchamiającego GitHub Actions, zawierającego dane uwierzytelniające w formie zakodowanej w formacie base64.
Eksfiltrowany token należał do konta z dostępem do odczytu w zakresie projektów inżynieryjnych Snowflake, zgodności z bezpieczeństwem i śledzenia nagród za błędy w Jira.
Pięć dni od wstrzyknięcia do poprawki
Harmonogram ujawnień opublikowany przez Wiz szybko się zmienia:
- 18 czerwca 2026 r. — wzorzec luki został wprowadzony w wyniku zatwierdzenia, którego współautorem jest Copilot Autofix
- 23 czerwca 2026 r. — Wiz identyfikuje, wykorzystuje i zgłasza usterkę firmie Snowflake za pośrednictwem HackerOne
- 23 czerwca 2026 r. — Snowflake poprawia przepływ pracy tego samego dnia, przywracając bezpieczną zmienną `env:` i wzorzec analizowania `jq`
- 24 czerwca 2026 – odsłonięty token Jira zostaje unieważniony i obrócony
- 25 lipca 2026 r. – skoordynowane podanie do wiadomości publicznej
Snowflake powiedział Wizowi, że dochodzenie nie znalazło dowodów na nieuprawniony dostęp. „Ujawnienie informacji otrzymaliśmy 23 czerwca 2026 r., natychmiast je zbadaliśmy i naprawiono, a nasze dochodzenie nie wykazało żadnych dowodów na nieuprawniony dostęp” – stwierdziła firma w oświadczeniu, dodając, że współpracuje z firmą Wiz, aby podzielić się zdobytą wiedzą z szerszą branżą.
Większa lekcja: kod sztucznej inteligencji wymaga analizy na poziomie ludzkim
Wiz wyciągnął z tego zdarzenia trzy wnioski, które wykraczają daleko poza Snowflake.
Po pierwsze, żądania ściągnięcia generowane przez sztuczną inteligencję muszą przejść tę samą analizę statyczną i kontrolę bezpieczeństwa, co kod ludzki. Asystenci kodowania przewidują kod na podstawie wzorców probabilistycznych, co oznacza, że mogą po cichu ponownie wprowadzić przestarzałe lub niepewne konstrukcje, które repozytorium już wyeliminowało.
Po drugie, okna odkrywania zapadają się. Luka istniała zaledwie pięć dni, zanim automatyczny agent ją znalazł i zweryfikował – w tempie, które zakłada, że atakujący skanujący za pomocą podobnych narzędzi mogliby działać równie szybko. Szybkie cykle poprawek i krótkotrwałe referencje stają się wymaganiami podstawowymi.
Po trzecie, organizacje potrzebują barier ochronnych, które powstrzymują asystentów AI przed zastąpieniem parserów danych strukturalnych bezpośrednią interpolacją ciągów znaków – dokładnie w tej regresji, która miała miejsce w tym przypadku.
Incydent ma miejsce w momencie szerszej introspekcji branży na temat kodu generowanego przez sztuczną inteligencję. Szereg ostatnich badań i przypadków z życia codziennego pokazało, że narzędzia do kodowania AI mogą z pewnością wprowadzać błędy, luki w zabezpieczeniach i problemy związane z konserwacją, a także zwiększać produktywność. Tym, co wyróżnia przypadek Snowflake, jest zamknięta pętla: sztuczna inteligencja, która spowodowała problem, i sztuczna inteligencja, która go wyłapała, działały autonomicznie, a ludzie analizowali jego następstwa.
Dla zespołów zajmujących się bezpieczeństwem wiadomość od Wiza jest bez ogródek. Pytaniem nie jest już, czy kod napisany przez sztuczną inteligencję będzie zawierał luki w zabezpieczeniach – chodzi o to, czy Twój proces wykrywania, ludzki lub zautomatyzowany, będzie w stanie je znaleźć szybciej niż czyjś agent.
Wyprzedź krzywą sztucznej inteligencji
Narzędzia do kodowania AI i autonomiczni agenci zmieniają bezpieczeństwo oprogramowania w czasie rzeczywistym. Dodaj do zakładek AI Buzz Wire, aby uzyskać codzienne raporty na temat branży sztucznej inteligencji.
Przeczytaj więcej aktualności o sztucznej inteligencji →