Sztuczna inteligencja miała wyręczać programistów w nudnej robocie, a okazuje się, że potrafi też narobić niezłego bałaganu. Agenci AI, działający między innymi w Claude Code, Cursorze i Codex CLI, samodzielnie instalują przestarzałe oprogramowanie, którego autorzy dawno zakończyli rozwój. Gorzej, że część pakietów zawiera poważne luki bezpieczeństwa, a użytkownik często nawet nie wie, co jego agent dorzucił do systemu.

Sprawę nagłośnili badacze z Glow Labs, którzy opisali problem nazwany MCPhantom. Przeanalizowali rzeczywiste sesje pracy agentów AI i odkryli, że automatyzacja potrafi prowadzić prosto do instalacji porzuconych serwerów MCP. Według ich ustaleń aż 98% przypadków instalowania przestarzałych pakietów dotyczyło sytuacji, w których agent samodzielnie wybierał oprogramowanie, prawdopodobnie kierując się wiedzą wyniesioną z treningu modelu.

Pozostałe 2% wynikało z bezpośrednich poleceń użytkowników. Ważne jednak, żeby nie pomylić statystyk - 98% odnosi się do analizowanych przypadków instalacji porzuconych pakietów, a nie wszystkich operacji wykonywanych przez Claude, Cursora czy Codexa.

Ponad 17 milionów pobrań. Software porzucony, zainteresowanie zostało

Serwery MCP (Model Context Protocol) pozwalają podłączać modele AI do zewnętrznych narzędzi, baz danych czy serwisów internetowych. Dzięki nim agent może grzebać w repozytoriach GitHuba, wykonywać operacje na bazie PostgreSQL, obsługiwać przeglądarkę i realizować bardziej rozbudowane zadania bez ciągłego klikania przez użytkownika.

Cały problem zaczyna się przy wyborze odpowiedniego pakietu. Zamiast sprawdzić, czy projekt nadal żyje, agent potrafi wyciągnąć z własnej wiedzy nazwę starego serwera, pobrać go z npm i bez większych ceregieli dorzucić do środowiska. Dla AI zadanie zostało wykonane, ale dla bezpieczeństwa komputera podobna nadgorliwość może skończyć się kiepsko.

Badacze Glow Labs ustalili, że 12 porzuconych pakietów MCP pobrano łącznie ponad 17 mln. razy od 10 lipca 2025 roku. Najpopularniejszy server-github zanotował ponad 5,26 mln pobrań, server-postgres przekroczył 4,31 mln, a server-slack osiągnął 3,19 mln. Kolejny, server-puppeteer, został pobrany ponad 1,48 mln razy.

Co ciekawe, pięć porzuconych pakietów trafiło nawet do pierwszej setki najpopularniejszych serwerów MCP w npm. Oczywiście liczba pobrań nie oznacza identycznej liczby użytkowników ani udanych włamań, lecz zainteresowanie oprogramowaniem bez dalszego wsparcia jest wyraźnie widoczne.

Prompt injection i RCE, czyli AI może wykonać coś, czego nie chcesz

Podczas analizy wykryto cztery podatności wysokiego ryzyka w nieutrzymywanych serwerach MCP. Szczególne zastrzeżenia wzbudził Puppeteer, wykorzystywany do automatycznego sterowania przeglądarką. Jedna z opisanych luk pozwala na RCE, czyli zdalne wykonywanie poleceń w środowisku, w którym działa podatny serwer.

Do wykorzystania problemu może posłużyć prompt injection. W praktyce napastnik umieszcza złośliwą instrukcję w treści odczytywanej przez agenta, a model może potraktować ją jako polecenie do wykonania. Zamiast zwykłej operacji w przeglądarce dochodzi wtedy do uruchomienia niepożądanego procesu.

Najbardziej niepokojące jest wykorzystanie wcześniej przyznanych uprawnień. Użytkownik zezwala agentowi na określone działania, a podatny serwer może umożliwić wykonanie operacji wykraczających poza pierwotne zadanie. Autorzy jednego ze zgłoszonych projektów poinformowali badaczy, że repozytorium zostało zarchiwizowane w maju 2025 roku i nie otrzyma już poprawek.

Glow Labs nie potwierdziło wykorzystania opisanych podatności w rzeczywistych atakach. Ryzyko pozostaje jednak konkretne, najbardziej w środowiskach, gdzie agent AI ma szeroki dostęp do lokalnych plików i narzędzi systemowych.

Claude, Cursor i Codex też potrafią zaliczyć wpadkę

Nieprawidłowości odnotowano podczas pracy z Claude Code, Claude Cowork, Claude Chat, Cursorem oraz Codex CLI. Problem występował przy wykorzystaniu modeli Anthropic, OpenAI i xAI, dlatego trudno zrzucić odpowiedzialność na jednego dostawcę.

Jeden z ciekawszych przypadków dotyczył agenta, który sprawdził pakiet w npm i otrzymał informację o zakończeniu wsparcia. Mimo wyraźnego ostrzeżenia dokończył instalację, nie informując użytkownika o problemie. No cóż, zadanie odhaczone, bezpieczeństwo może poczekać.

Przy rosnącej popularności vibe codingu, czyli tworzenia aplikacji głównie za pomocą promptów, podobne sytuacje zasługują na uwagę. Coraz więcej osób pozwala agentom samodzielnie konfigurować środowisko, instalować zależności i uruchamiać kod. Bez kontroli nad instalowanymi paczkami nawet prosty projekt może niepotrzebnie zwiększać ryzyko ataku.

Korzystasz z MCP? Sprawdź, co agent zainstalował

Jeśli używasz Claude Code, Cursora lub Codexa z dodatkowymi serwerami MCP, dobrze jest zajrzeć do konfiguracji. Sprawdź nazwy pakietów, ich źródła, daty ostatnich aktualizacji i status repozytoriów na GitHubie. Szczególną uwagę poświęć starszym serwerom z przestrzeni @modelcontextprotocol, ponieważ część oficjalnych projektów została już wycofana.

Nie musisz rezygnować z automatyzacji. Lepiej ograniczyć agentowi możliwość instalowania dowolnych zależności bez zatwierdzenia i wybierać aktywnie rozwijane serwery MCP, najlepiej udostępniane przez dostawców obsługiwanych usług.

Cała sprawa przypomina o jednej słabości obecnych agentów AI - potrafią błyskawicznie wykonać zadanie, lecz nadal popełniają błędy przy ocenie bezpieczeństwa wykorzystywanych narzędzi. Pełna swoboda działania agentów AI potrafi mocno ułatwić pracę, jednak bez kontroli nad instalowanym oprogramowaniem łatwo dorobić się problemów z bezpieczeństwem, których późniejsze usunięcie zajmie znacznie więcej czasu niż ręczna konfiguracja.

Źródła: Glow Labs (MCPhantom), Help Net Security, Secure.com.