Plugin4Shell: nowa luka w agentach AI do kodowania

Badacze bezpieczeństwa z firmy Air, specjalizującej się w ochronie korporacyjnych agentów AI, ujawnili lukę określaną jako Plugin4Shell. Pozwala ona na zdalne wykonanie kodu bez żadnej interakcji ze strony użytkownika – wystarczy, że zainstalowana wtyczka zostanie podmieniona w zaufanym repozytorium. Problem dotyczy wszystkich głównych agentów kodujących: Claude Code od Anthropic, Codex od OpenAI, Gemini CLI od Google oraz Copilot od Microsoftu.

Eksploatacja tej podatności daje napastnikowi dostęp do każdego zasobu i danych, do których sięga agent – a więc potencjalnie do całego środowiska pracy programisty. Zdaniem zespołu Air to pierwszy w historii atak na łańcuch dostaw w ekosystemie AI, który może dotknąć miliony maszyn jednocześnie.

Na czym polega atak Plugin4Shell

Kluczowym elementem jest mechanizm SHA-pinningu, stosowany w marketplace’ach wtyczek do agentów AI. Jego zadaniem jest przypisanie konkretnej wtyczki do niezmiennego skrótu commita, zamiast do ruchomego odwołania, takiego jak tag wersji czy nazwa gałęzi. Dzięki temu, nawet jeśli publiczne repozytorium zostanie przejęte, agent powinien nadal uruchamiać sprawdzony kod.

Badacze wykazali jednak, że mechanizm ten można obejść. Agent pobiera wskazany commit, ale nigdy nie weryfikuje, czy rzeczywiście trafił do właściwego miejsca. Napastnik kontrolujący repozytorium wtyczki może sprawić, że pobranie rozwiąże się do złośliwego kodu, podczas gdy pin wciąż wygląda na nienaruszony. Efektem jest zdalne wykonanie kodu bez kliknięcia.

Dwie ścieżki ataku

Zespół Air opisuje dwa scenariusze wykorzystania luki. W pierwszym napastnik publikuje nieszkodliwą wtyczkę w zaufanym marketplace, przechodzi ona proces weryfikacji, a następnie jej zawartość zostaje podmieniona na złośliwą. W drugim dochodzi do przejęcia repozytorium legalnego autora i wypchnięcia szkodliwej wersji do wszystkich agentów, które mają ją zainstalowaną.

Kluczowe znaczenie ma automatyczna aktualizacja wtyczek. Zarówno Claude, jak i Codex domyślnie odświeżają zainstalowane pluginy, co sprawia, że atak nie wymaga żadnej akcji ze strony ofiary. Badacze wcześniej demonstrowali podobne techniki w proof-of-conceptach nazwanych SkillJacking i RepoJacking.

Którzy producenci załatali lukę

Air zgłosiło problem wszystkim czterem dostawcom w czerwcu. Sytuacja wygląda różnie w zależności od producenta.

  • Anthropic – wydało poprawkę w wersji Claude Code 2.1.179.
  • OpenAI – naprawiło podatność w Codex 0.146.0.
  • Google – uznało Gemini CLI za przestarzałe i odmówiło łatania, sugerując migrację do nowszego środowiska Antigravity, które jest odporne na ten atak.
  • Microsoft – nie naprawiło luki w Copilot.

Rzecznik GitHuba przekazał, że ataki Plugin4Shell nie dotyczą tej platformy, ponieważ nie pozwala ona tworzyć nazw gałęzi ani tagów przypominających skróty commitów. Badacze z Air nie zgadzają się z tym stanowiskiem. Jak wyjaśniają, marketplace’y mogą być hostowane również na innych platformach, takich jak Bitbucket, a Microsoft Copilot obsługuje takie źródła – co pozostawia go podatnym na exploit.

Zespół Air przyznał, że nie otrzymał odpowiedzi od Microsoftu, tłumacząc to dużą liczbą zgłoszeń bezpieczeństwa, jakie trafiają obecnie do firmy. Redmond nie skomentował sprawy na czas publikacji.

Co to oznacza dla użytkowników agentów AI

Badacze podkreślają, że jedynym skutecznym środkiem zaradczym jest aktualizacja samego agenta – poprawka musi zostać dostarczona wraz z narzędziem. Tam, gdzie producent jej nie wydał, nie istnieje pełne zabezpieczenie.

Szczególnie niepokojący jest fakt, że atak nie wymaga interakcji użytkownika. Automatyczne aktualizacje wtyczek, które mają zwiększać wygodę pracy, stają się w tym przypadku wektorem infekcji. Każda zainstalowana wtyczka pochodząca z marketplace’u może potencjalnie zostać przejęta, jeśli napastnik zdobędzie kontrolę nad jej repozytorium.

Dla zespołów korzystających z agentów AI do kodowania oznacza to konieczność weryfikacji, czy używane narzędzia zostały zaktualizowane do wersji zawierających poprawkę. W przypadku Gemini CLI i Copilot sytuacja pozostaje otwarta – Google zachęca do migracji na Antigravity, a Microsoft nie odniósł się do zarzutów badaczy.

Szerszy problem z bezpieczeństwem ekosystemu AI

Plugin4Shell pokazuje, że mechanizmy zabezpieczeń wypracowane w tradycyjnym świecie oprogramowania nie zawsze działają w ekosystemie agentów AI. SHA-pinning, zaprojektowany właśnie po to, by chronić przed atakami na łańcuch dostaw, okazał się niewystarczający, gdy implementacja w agencie nie weryfikuje faktycznego miejsca pobrania kodu.

Badacze z Air opisują cały łańcuch ataku jako sprawdzony od początku do końca – przejęcia repozytoriów zdarzają się na dużą skalę, a Plugin4Shell obchodzi mechanizm stworzony, by je powstrzymać. To sygnał ostrzegawczy dla całej branży: wraz z rosnącą popularnością agentów AI, którzy mają dostęp do kodu, danych i systemów produkcyjnych, powierzchnia ataku rośnie szybciej niż zabezpieczenia.

Dla organizacji wdrażających narzędzia takie jak Copilot czy Claude Code oznacza to konieczność traktowania agentów AI nie jako wygodnych asystentów, lecz jako pełnoprawnych uczestników łańcucha dostaw oprogramowania – z wszelkimi konsekwencjami dla zarządzania ryzykiem.

Źródło