niedziela, 5 lipca 2026

Nowości

Pozornie czyste repozytorium na GitHubie potrafi przejąć agenta kodującego AI

ProgramowaniePatryk Raba3 lipca 2026

Badacze z zespołu 0DIN Mozilli pokazali, jak repozytorium bez śladu złośliwego kodu nakłania Claude Code, Cursor i Copilota do samodzielnego uruchomienia odwróconej powłoki, wykorzystując ich własną skłonność do automatycznego naprawiania błędów.

Spis treści
  1. Jak działa atak
  2. Dlaczego trudno to wykryć
  3. Skala zagrożenia
  4. Co to oznacza dla polskich zespołów programistycznych

Zespół badawczy 0DIN, należący do Mozilli, opisał technikę ataku, w której repozytorium na GitHubie nie zawiera ani jednej linijki złośliwego kodu, a mimo to potrafi doprowadzić do przejęcia komputera programisty. Ofiarą nie pada człowiek klikający w podejrzany link, tylko agent kodujący AI, który w dobrej wierze próbuje naprawić błąd konfiguracji. Badacze przetestowali scenariusz na Claude Code, ale ostrzegają, że na podobny mechanizm podatne są też Cursor i GitHub Copilot.

Jak działa atak

Cały łańcuch opiera się na trzech pozornie niewinnych elementach. Repozytorium wygląda jak zwyczajny projekt z prostą instrukcją instalacji. Zawarty w nim pakiet Pythona celowo odmawia działania, dopóki użytkownik nie uruchomi konkretnej komendy inicjalizującej, co generuje standardowy komunikat błędu. Trzeci element to skrypt powłoki wywoływany przez tę sugerowaną poprawkę, który pobiera wartość zapisaną w rekordzie DNS TXT kontrolowanym przez atakującego i wykonuje ją jako polecenie systemowe.

Agent kodujący, klonując repozytorium i próbując je uruchomić, natrafia na błąd inicjalizacji i automatycznie sięga po podpowiedziane rozwiązanie, tak jak zrobiłby to każdy pomocny asystent. W efekcie bez żadnej dodatkowej interakcji człowieka na komputerze programisty otwiera się odwrócona powłoka połączona z serwerem atakującego. Badacze z 0DIN podkreślają, że narzędzie AI samo domyka cały łańcuch, włącznie z krokiem, który naśladuje zwykły błąd użytkownika.

Dlaczego trudno to wykryć

Kluczowa różnica względem klasycznych złośliwych paczek polega na tym, że payload nie istnieje w repozytorium w chwili jego publikacji ani przeglądu. Polecenie jest pobierane dynamicznie z DNS dopiero w trakcie wykonania, więc statyczne skanery bezpieczeństwa, audyty zależności i zwykły code review nie mają czego wychwycić. Sam kod źródłowy przez cały czas pozostaje czysty.

To sprawia, że klasyczne praktyki bezpieczeństwa łańcucha dostaw, takie jak sprawdzanie repozytorium przed sklonowaniem, tracą sens w starciu z agentem, który wykonuje polecenia już po przejściu takiej kontroli. Atak wykorzystuje nie lukę w GitHubie czy w konkretnym modelu językowym, tylko samą cechę, która czyni agentów przydatnymi, czyli zdolność do czytania instrukcji i natychmiastowego działania na ich podstawie.

Skala zagrożenia

Gdy powłoka zostanie otwarta, atakujący działa z uprawnieniami zalogowanego programisty. Oznacza to dostęp do zmiennych środowiskowych, kluczy API, lokalnych plików konfiguracyjnych, sesji przeglądarki i haseł zapisanych w menedżerach poświadczeń, a także możliwość zainstalowania dodatkowego złośliwego oprogramowania w celu utrzymania trwałego dostępu. W środowisku firmowym, gdzie ten sam programista ma dostęp do repozytoriów produkcyjnych i systemów wdrożeniowych, skutki mogą wykroczyć daleko poza jedną stację roboczą.

0DIN zaznacza, że opisana metoda jest na razie eksperymentem badawczym, ale ostrzega, że taki sam schemat mógłby zostać rozesłany przez fałszywe oferty pracy, samouczki programistyczne, wpisy na blogach technicznych czy prywatne wiadomości z linkiem do repozytorium. Żaden z tych kanałów nie wzbudza dziś szczególnej czujności wśród programistów przyzwyczajonych do klonowania cudzego kodu kilkanaście razy dziennie.

Co to oznacza dla polskich zespołów programistycznych

Adopcja agentów kodujących w polskich firmach rośnie szybko, a razem z nią rośnie powierzchnia ataku, o której większość zespołów jeszcze nie myśli. Standardowe zasady bezpieczeństwa uczyły programistów nieufności wobec podejrzanych linków i załączników, ale nie uwzględniały scenariusza, w którym to sam asystent AI samodzielnie decyduje o uruchomieniu polecenia naprawczego bez pytania o zgodę.

0DIN rekomenduje, aby agenci kodujący ujawniali pełny łańcuch wykonywanych poleceń konfiguracyjnych, łącznie ze skryptami i kodem pobieranym dynamicznie w czasie działania, zanim cokolwiek zostanie uruchomione. W praktyce oznacza to potrzebę firmowych polityk ograniczających uprawnienia agentów w środowiskach deweloperskich, izolowania sesji klonowania nieznanych repozytoriów w sandboxach oraz monitorowania nietypowego ruchu DNS z maszyn programistów, podobnie jak monitoruje się już ruch sieciowy serwerów produkcyjnych.

Źródła: Clean GitHub repo tricks AI coding agents into running malware (bleepingcomputer.com), AI coding agents can be tricked into installing malware via clean GitHub repositories (tomshardware.com).

Udostępnij: