Wyobraź sobie, że zatrudniasz nowego pracownika. Dajesz mu klucze do biura, hasła do systemów i pełen dostęp do repozytoriów kodu. A potem okazuje się, że wystarczy odpowiednio sformułowany komentarz w zgłoszeniu, żeby ten pracownik posłusznie przekazał wszystkie dane pierwszemu lepszemu oszustowi. Dokładnie tak działają dziś ataki prompt injection na agenty AI zintegrowane z GitHubem – i trzy największe firmy technologiczne świata wolały o tym nie mówić głośno.
Ataki prompt injection – jak badacze przejęli trzy największe agenty AI
Aonan Guan, badacz bezpieczeństwa z Johns Hopkins University, wraz z zespołem (Neil Fendley, Zhengyu Liu, Senapati Diwangkara i Yinzhi Cao) odkryli sposób na przejęcie kontroli nad trzema popularnymi agentami AI działającymi w ekosystemie GitHub Actions: Claude Code Security Review (Anthropic), Gemini CLI Action (Google) i GitHub Copilot Agent (Microsoft). Każdy z tych agentów analizuje kod, przetwarza zgłoszenia lub samodzielnie tworzy pull requesty – i każdy z nich dał się oszukać sprytnie sformułowanymi instrukcjami ukrytymi w zwykłych danych.
Mechanizm jest brutalnie prosty. Agenty AI w GitHub Actions czytają dane z platformy – tytuły pull requestów, treści issues, komentarze – i traktują je jako kontekst do pracy. Guan wpadł na pomysł: co, jeśli zamiast normalnego tytułu PR wklei instrukcje dla agenta? Okazało się, że Claude posłusznie wykonał polecenie uruchomienia komendy systemowej i zwrócił wynik jako „znaleziony problem bezpieczeństwa”. Ironia? Agent do wyszukiwania luk sam stał się luką.
Od ciekawości do kradzieży kluczy API
Pierwszym celem był Claude Code Security Review – narzędzie Anthropica, które automatycznie analizuje zmiany w kodzie pod kątem podatności. Guan zgłosił atak przez platformę HackerOne w październiku 2025 roku. Anthropic poprosił go o eskalację – czy da się wykraść coś więcej niż wynik komendy whoami? Da się. Badacz zademonstrował kradzież tokenów dostępowych GitHuba i klucza API Anthropica.
Schemat ataku wygląda tak: atakujący tworzy pull request ze złośliwą instrukcją w tytule. Agent czyta tytuł, interpretuje go jako polecenie, wykonuje je i publikuje wynik jako komentarz do PR. Atakujący czyta komentarz, kopiuje poświadczenia, zmienia tytuł PR na niewinne „fix typo”, zamyka zgłoszenie i kasuje komentarz bota. Czysto, szybko, praktycznie niewidocznie.
Anthropic wypłacił za to 100 dolarów. Sto. Za lukę ocenioną na 9,4 w skali CVSS (czyli krytyczną). Zamiast publicznego ostrzeżenia firma dodała notatkę w dokumentacji, że narzędzie „nie jest zabezpieczone przed atakami prompt injection i powinno być używane wyłącznie do przeglądania zaufanych PR-ów”.
Gemini i Copilot – ten sam schemat, te same problemy
Po potwierdzeniu podatności w Claude, zespół z Johns Hopkins przetestował Google Gemini CLI Action (integrację Gemini z workflow GitHuba) i GitHub Copilot Agent (autonomicznego agenta Microsoftu, który sam tworzy pull requesty).
W przypadku Gemini ataki prompt injection przebiegały według znanego schematu – złośliwy tytuł plus komentarze z eskalującymi instrukcjami. Badacze wstrzyknęli fałszywą sekcję „Trusted Content Section”, która nadpisała zabezpieczenia Gemini i wymusiła opublikowanie klucza API jako komentarza do issue. Google wypłacił 1337 dolarów bounty.
Copilot okazał się twardszym orzechem. Microsoft dodał trzy warstwy ochrony na poziomie runtime: filtrowanie środowiska, skanowanie sekretów i firewall sieciowy. Guan obszedł wszystkie trzy. Kluczowa różnica polegała na tym, że złośliwe instrukcje trzeba było ukryć w komentarzu HTML – niewidocznym w renderowanym Markdownie. Ofiara, nie widząc ukrytego payloadu, przypisywała issue do Copilota. Agent wykonywał resztę. Microsoft początkowo nazwał to „known issue”, którego nie może odtworzyć, ale ostatecznie wypłacił 500 dolarów bounty w marcu 2026.
„Comment and control” – phishing, ale dla maszyn
Guan nazwał ten typ ataków „comment and control” – gra słów nawiązująca do klasycznego „command and control” z terminologii malware. Różnica wobec tradycyjnego prompt injection jest istotna. Klasyczny atak pośredni jest reaktywny – atakujący podkłada payload na stronie albo w dokumencie i czeka, aż ktoś poprosi AI o jego przetworzenie. Ataki comment and control są proaktywne – samo otwarcie pull requestu lub utworzenie issue automatycznie uruchamia agenta AI w GitHub Actions, bez żadnej akcji ze strony ofiary.
Jedynym częściowym wyjątkiem jest Copilot Agent, gdzie ktoś musi ręcznie przypisać issue do agenta. Ale skoro złośliwe instrukcje są ukryte w niewidocznym komentarzu HTML, osoba przypisująca zadanie nie ma szans ich zobaczyć.
To nie jest teoria. Łącznie badacze wykazali możliwość kradzieży kluczy API Anthropica i Google, wielu tokenów GitHuba oraz dowolnych sekretów przechowywanych w środowisku GitHub Actions – w tym zdefiniowanych przez użytkownika sekretów repozytorium i organizacji.

Cisza zamiast ostrzeżeń – i dlaczego to problem
Wszystkie trzy firmy wypłaciły bounty. Żadna nie przydzieliła numeru CVE. Żadna nie opublikowała publicznego advisory. Guan nie ukrywa frustracji – i trudno mu się dziwić. Część użytkowników ma przypięte starsze, podatne wersje tych narzędzi. Bez oficjalnego ostrzeżenia mogą nigdy nie dowiedzieć się, że ich pipeline CI/CD jest zagrożony.
To szerszy problem branży. Według raportu Cisco State of AI Security z 2026 roku, 83% organizacji planuje wdrożenie agentów AI, ale tylko 29% czuje się gotowych do ich bezpiecznego uruchomienia. OWASP umieścił prompt injection na pierwszym miejscu swojej listy Top 10 zagrożeń dla aplikacji LLM, a nowa lista OWASP Top 10 for Agentic Applications na 2026 rok wprowadza pojęcie „least agency” – minimalnych uprawnień dla agentów AI.
Skala problemu w liczbach? Systematyczna analiza 78 badań opublikowana w styczniu 2026 roku wykazała, że każdy testowany agent programistyczny – Claude Code, GitHub Copilot, Cursor – jest podatny na prompt injection, a skuteczność adaptacyjnych ataków przekracza 85%.
Jak się chronić – i dlaczego agenty AI to pracownicy, nie narzędzia
Rekomendacja Guana brzmi prosto, ale wymaga zmiany myślenia: traktuj agenta AI jak pracownika, nie jak skrypt. Jeśli agent do code review nie potrzebuje dostępu do basha – nie dawaj mu basha. Jeśli jego zadaniem jest podsumowywanie issues – nie potrzebuje uprawnień do zapisu w repozytorium. Zasada need-to-know, znana z bezpieczeństwa informacji od dekad, wreszcie musi trafić do świata AI.
Konkretne kroki? Po pierwsze – sprawdź, jakie uprawnienia mają Twoje agenty AI w GitHub Actions. Usuń każdy dostęp, który nie jest absolutnie niezbędny. Po drugie – jeśli używasz Claude Code Security Review, Gemini CLI Action albo Copilota w automatycznych workflow, upewnij się, że masz najnowszą wersję. Po trzecie – włącz opcję „Require approval for all external contributors” w ustawieniach repozytorium, żeby workflow nie uruchamiały się automatycznie na PR-ach od nieznanych osób. Po czwarte – monitoruj komentarze botów w swoich repozytoriach. Jeśli bot publikuje coś dziwnego w odpowiedzi na PR, to może być właśnie wyciek.
Meta zaproponowała w październiku 2025 roku framework „Rule of Two” – agent może spełniać najwyżej dwa z trzech warunków: (A) przetwarza niezaufane dane wejściowe, (B) ma dostęp do wrażliwych danych, (C) może zmieniać stan zewnętrznych systemów. Jeśli spełnia wszystkie trzy – masz problem. I szczerze? Większość agentów AI w GitHub Actions spełnia wszystkie trzy.
Kiedy zaufanie do automatyzacji staje się ryzykiem
Ta historia odsłania coś więcej niż lukę w trzech narzędziach. Pokazuje fundamentalny problem ery agentów AI – daliśmy maszynom klucze do naszych systemów, zanim nauczyliśmy się zabezpieczać przed ich manipulacją. Modele językowe z definicji nie potrafią odróżnić instrukcji od danych. OWASP przyznaje to wprost – „biorąc pod uwagę stochastyczną naturę generatywnego AI, w pełni skuteczne metody zapobiegania pozostają niejasne”.
Dla polskich zespołów deweloperskich, które coraz częściej korzystają z agentów AI w procesie CI/CD, to sygnał ostrzegawczy. Zwłaszcza że pełne obowiązki wynikające z unijnego AI Act wchodzą w życie 2 sierpnia 2026 roku – a organizacje wdrażające agentów AI będą musiały wykazać zgodność z wymogami bezpieczeństwa. 100 dolarów bounty za krytyczną lukę to żart. Ale prawdziwy żart polega na tym, że użytkownicy tych narzędzi wciąż mogą nie wiedzieć, że ich sekrety były – lub są – zagrożone.
Guan opublikuje pełne szczegóły techniczne ataku w czwartek na swoim blogu. Jeśli korzystasz z agentów AI na GitHubie – nie czekaj na oficjalne ostrzeżenie, które może nigdy nie nadejść:
Źródła
- Agents hooked into GitHub can steal creds – but Anthropic, Google, and Microsoft haven’t warned users
- Comment and Control: Prompt Injection Credential Theft in Claude Code, Gemini CLI, and GitHub Copilot
- OWASP Top 10 for Agentic Applications 2026





