Nowości
Fałszywe zgłoszenie błędu potrafi przejąć kontrolę nad agentem kodującym AI
Posłuchaj tego artykułu

Badacze z firmy Tenet Security pokazali, że jeden spreparowany raport błędu w Sentry wystarczy, by przejąć kontrolę nad Claude Code, Cursorem i Codexem i wykonać dowolny kod na komputerze programisty. Atak, nazwany agentjackingiem, dotknął ponad 2300 organizacji.
Wystarczy jeden spreparowany raport błędu, żeby agent kodujący AI zaczął wykonywać polecenia atakującego zamiast dewelopera. Badacze z firmy Tenet Security opisali technikę, którą nazwali agentjackingiem, i pokazali, że działa ona na trzech najpopularniejszych asystentach programistycznych naraz.
Jak działa atak
Cały mechanizm opiera się na Sentry, popularnym narzędziu do monitorowania błędów aplikacji, podłączonym do agentów kodujących przez Model Context Protocol. Atakujący, dysponując publicznym kluczem DSN danego projektu, wysyła do Sentry fałszywy raport błędu zawierający w sekcji z sugerowanym rozwiązaniem ukryte polecenie. Gdy deweloper prosi swojego agenta AI o naprawienie nierozwiązanych błędów w Sentry, agent odczytuje ten raport jako zaufane dane i wykonuje zawartą w nim komendę z pełnymi uprawnieniami dewelopera.
Problem leży w samej naturze agentów: nie potrafią odróżnić danych, które czytają, od instrukcji, które mają wykonać. Telemetria, zgłoszenia błędów, logi i wyniki narzędzi, które nikt wcześniej nie traktował jako powierzchnię ataku, stały się kanałem wstrzykiwania poleceń.
Skala problemu
W kontrolowanych testach badacze przejęli w ten sposób Claude Code, Cursora i Codexa ze skutecznością 85 procent. Namierzyli 2388 organizacji narażonych na atak, od firmy wartej 250 miliardów dolarów po pojedynczych niezależnych programistów, wśród nich nawet dostawcę zabezpieczeń chmurowych. Ponieważ agent działa z uprawnieniami zalogowanego dewelopera, każdy krok ataku jest formalnie autoryzowany, więc systemy IAM, EDR czy kontrola sieci nie mają czego oznaczyć jako podejrzane.
Wśród danych, które atakujący mógłby wykraść, badacze wymieniają zmienne środowiskowe, klucze dostępowe AWS, tokeny GitHub, poświadczenia git, klucze SSH oraz sekrety wykorzystywane w pipeline'ach CI/CD. W realnym ataku oznaczałoby to przejęcie pełnej infrastruktury projektu, nie tylko pojedynczego repozytorium.
Reakcja Sentry i branży
Sentry potwierdziło zgłoszenie i wprowadziło globalny filtr treści blokujący konkretny ciąg znaków użyty w demonstracyjnym ataku badaczy. Firma przyznała jednak, że luka na poziomie przyjmowania danych jest, jak to ujęto, nie do obronienia technicznie, bo Sentry nie jest w stanie odróżnić złośliwego ładunku od legalnego zgłoszenia błędu zawierającego fragmenty kodu i sugestie naprawy.
Tenet Security, startup zajmujący się bezpieczeństwem agentów AI, dopiero niedawno wyszedł z trybu stealth, a agentjacking jest jego pierwszym głośnym ujawnieniem. Podobne ryzyko dotyczy w praktyce każdej integracji agenta kodującego z zewnętrznym źródłem danych przez Model Context Protocol, nie tylko Sentry - podobnie narażone mogą być połączenia z Datadogiem czy PagerDuty.
Co to znaczy dla programistów
Dla zespołów programistycznych w Polsce, które coraz częściej podłączają Claude Code, Cursor czy Codex do systemów monitoringu błędów, wniosek jest konkretny: każde źródło danych czytane przez agenta trzeba traktować jak dane niezaufane, nawet jeśli pochodzi z wewnętrznego narzędzia firmy. Ograniczenie uprawnień agenta, przegląd tego, co faktycznie ma prawo wykonywać bez potwierdzenia człowieka, i rotacja kluczy DSN w Sentry to najprostsze kroki, które można wdrożyć od razu.
Sprawa pokazuje też szerszy problem branży agentowej AI: tempo wdrożeń wyprzedziło opracowanie standardów bezpieczeństwa dla tego typu integracji. Kolejne podobne ujawnienia są niemal pewne, dopóki narzędzia takie jak Sentry, Datadog czy systemy ticketowe nie zaczną same odróżniać treści przeznaczonej do odczytu przez agenta od treści, która ma prawo wydawać mu polecenia.
Źródła: The Next Web (thenextweb.com), The New Stack (thenewstack.io).

