Claude Code podatny na atak przez uprzejmość – jak działa exploit?

Narzędzia AI, które same wykonują kod na naszych komputerach, mają ogromny potencjał, ale i ciemną stronę. Badacze z zespołu Mozilla 0din udowodnili, że Claude Code – agent wspomagający programistów od Anthropic – można oszukać w zaskakująco prosty sposób. Wystarczyło jedno fałszywe polecenie w pliku Markdown, by narzędzie samo uruchomiło niebezpieczną komendę, która dała atakującemu zdalny dostęp do maszyny.

Jak zwykła instrukcja konfiguracji zamieniła się w zagrożenie

Eksperyment rozpoczął się od pozornie niewinnego pliku README w repozytorium. Opisywał on instalację pakietu o nazwie Axiom – popularnego narzędzia do monitorowania. Plik wyglądał normalnie i przeszedłby każdą standardową recenzję kodu. W całym projekcie nie znajdował się żaden jawnie złośliwy kod.

Gdy użytkownik uruchomił narzędzie bez inicjalizacji, pojawił się standardowy błąd z prośbą o wykonanie konkretnej komendy setup. To właśnie ta komenda – na pierwszy rzut oka typowa procedura naprawcza – uruchomiła cały łańcuch ataku. Claude Code, chcąc pomóc, automatycznie wykonało tę instrukcję, traktując ją jak zwykłe odzyskiwanie po błędzie.

Jedna komenda uruchamia sekwencję zdarzeń

To, co stało się potem, rozwijało się w kilku krokach:

  • Komenda uruchomiła ukryty skrypt, który wykonał zapytanie DNS do rekordu tekstowego (TXT).
  • Rekord DNS był w pełni kontrolowany przez zdalnego atakującego.
  • Zwracany rekord zawierał zakodowaną w base64 komendę, która uruchomiła reverse shell – czyli zdalną powłokę na komputerze ofiary.
  • Atakujący mógł następnie zainstalować klucz SSH lub dodać ukryte zadanie cron, uzyskując stały dostęp do systemu.

Co istotne, żaden z kroków sam w sobie nie wyglądał podejrzanie. Zapytanie DNS jest normalną operacją, a wykonanie skryptu instalacyjnego – rutynowym działaniem. Dopiero połączenie ich w sekwencję tworzyło zagrożenie.

Dlaczego standardowe zabezpieczenia zawiodły na całej linii

Tradycyjne narzędzia bezpieczeństwa nie miały szans wykryć tego ataku. Antywirusy i firewalle rejestrowały jedynie normalną komunikację DNS – nic nie wskazywało na złośliwą aktywność. Skanery statyczne kodu widziały tylko rutynowe odwołanie do adresu, a agent AI traktował całą operację jako wcześniej autoryzowaną konfigurację.

Badacze z 0din podkreślają, że problem leży głębiej – narzędzia takie jak Claude Code muszą przed wykonaniem dokładnie sprawdzić, co dany skrypt faktycznie zrobi. W obecnej formie agent ufa instrukcji bez weryfikacji jej rzeczywistych konsekwencji. Zespół zaleca, by nigdy nie zakładać, że repozytorium jest bezpieczne, nawet jeśli jego pliki konfiguracyjne wyglądają zwyczajnie.

Co ten atak mówi o przyszłości agentów AI

Ta podatność nie dotyczy wyłącznie Claude Code. Większość systemów agentowych opartych na dużych modelach językowych (LLM) ma podobną słabość – są wrażliwe na pośrednie wstrzykiwanie poleceń (indirect prompt injection). Atakujący nie musi umieszczać złośliwego kodu w widocznym miejscu, wystarczy, że uda mu się nakłonić model do wykonania pozornie nieszkodliwej akcji, która w tle odpala niebezpieczne operacje.

Dla programistów i firm korzystających z agentów AI oznacza to jedno – potrzebne są znacznie silniejsze mechanizmy ochrony w czasie wykonania. Dopóki narzędzia nie będą w stanie samodzielnie ocenić, co dana komenda faktycznie robi, podobne ataki będą trudne do zablokowania. Zespół Mozilla 0din sugeruje, że najskuteczniejszą obroną pozostaje zdrowy sceptycyzm wobec nieznanych repozytoriów i automatyzacji.

W erze, w której agenci AI mają dostęp do całego środowiska deweloperskiego, każde „pomocne” działanie może stać się wektorem ataku. Czy jesteśmy gotowi na nową generację cyberzagrożeń, które nie wykorzystują błędów w kodzie, tylko… cechy bycia pomocnym?

Źródło