
Wprowadzenie do problemu / definicja
Badacze bezpieczeństwa ujawnili poważną słabość architektoniczną w ekosystemie Model Context Protocol (MCP), czyli standardu wykorzystywanego do łączenia modeli AI z narzędziami, usługami i źródłami danych. Problem dotyczy sposobu użycia transportu STDIO, w którym klient uruchamia serwer MCP jako lokalny proces podrzędny i komunikuje się z nim przez standardowe wejście oraz wyjście.
W praktyce oznacza to, że jeśli implementacja dopuszcza niebezpieczne mapowanie konfiguracji na komendy systemowe, może dojść do wykonania dowolnych poleceń w systemie operacyjnym. To nie jest klasyczna pojedyncza luka w jednym produkcie, lecz wada wynikająca z przyjętego wzorca projektowego, który został powielony w wielu bibliotekach i integracjach.
W skrócie
- Wada ma charakter architektoniczny i dotyczy sposobu implementacji transportu STDIO w MCP.
- Skutkiem może być zdalne wykonanie kodu oraz uruchamianie arbitralnych poleceń systemowych.
- Ryzyko obejmuje wyciek sekretów, historii rozmów, danych aplikacyjnych i poświadczeń chmurowych.
- Problem może propagować się przez SDK, zależności i narzędzia, tworząc zagrożenie dla łańcucha dostaw AI.
- Najbardziej zagrożone są środowiska deweloperskie i serwerowe z szerokim dostępem do repozytoriów, tokenów i usług wewnętrznych.
Kontekst / historia
MCP w ostatnich kwartałach stał się istotnym elementem nowoczesnych integracji AI. Protokół upraszcza łączenie modeli językowych z lokalnymi narzędziami, usługami HTTP, repozytoriami danych oraz komponentami automatyzacji. Dzięki temu agenci AI mogą wykonywać zadania wykraczające poza samą analizę tekstu i wchodzić w interakcję z realnym środowiskiem pracy.
Jednocześnie to właśnie ta wygoda integracyjna doprowadziła do zatarcia granicy między legalnym uruchomieniem serwera narzędzi a wykonaniem nieautoryzowanej komendy systemowej. Gdy takie założenie projektowe zostaje skopiowane do wielu SDK, frameworków i wdrożeń, pojedynczy problem urasta do rangi zagrożenia systemowego. W efekcie nie chodzi już wyłącznie o błąd w jednym komponencie, ale o wzorzec, który może być dziedziczony przez cały ekosystem.
Analiza techniczna
Technicznie transport STDIO zakłada, że klient uruchamia serwer MCP jako subprocess i rozmawia z nim przez stdin/stdout. Sam mechanizm nie musi być niebezpieczny, jeśli proces uruchamiany jest w sposób z góry określony, zaufany i odporny na manipulację. Ryzyko pojawia się w chwili, gdy parametry startowe, komenda, argumenty lub źródło konfiguracji mogą być kontrolowane bez odpowiedniej walidacji.
W podatnych implementacjach dane konfiguracyjne lub pośrednio sterowane wejście mogą prowadzić do uruchomienia dowolnego polecenia systemowego. Nawet jeśli końcowo interfejs klienta zgłosi błąd albo nie nawiąże prawidłowej komunikacji z serwerem MCP, sama komenda może już zostać wykonana. To otwiera drogę do klasycznych scenariuszy command injection oraz RCE.
Badacze opisują kilka klas nadużyć. Obejmują one wstrzyknięcie poleceń w scenariuszach nieuwierzytelnionych i uwierzytelnionych, nadużycie bezpośredniej konfiguracji STDIO z pominięciem utwardzeń, modyfikację konfiguracji MCP przez prompt injection oraz wymuszenie ukrytych konfiguracji przez marketplace’y i żądania sieciowe. Oznacza to, że podatność może zostać aktywowana przez wiele wektorów jednocześnie: lokalną konfigurację, dane z narzędzi, treść promptów czy zewnętrzne katalogi serwerów MCP.
W praktyce skutkiem może być przejście od manipulacji konfiguracją do wykonania poleceń na hoście. Na stacji deweloperskiej taki host zwykle ma dostęp do repozytoriów kodu, plików konfiguracyjnych, sekretów, lokalnych baz danych, tokenów CI/CD i poświadczeń chmurowych. W środowiskach serwerowych scenariusz może rozszerzyć się o przejęcie kontenera, ruch lateralny w sieci oraz dalsze wykorzystanie pozyskanych danych uwierzytelniających.
Konsekwencje / ryzyko
Największe zagrożenie wynika z tego, że wada może być reprodukowana w całym łańcuchu zależności. Jeżeli niebezpieczny wzorzec został przyjęty w wielu bibliotekach i narzędziach, każdy kolejny projekt dziedziczy powierzchnię ataku razem z funkcjonalnością. To klasyczny problem supply chain, tyle że tym razem dotyczący szybko rosnącego ekosystemu AI.
- zdalne wykonanie kodu na stacji roboczej lub serwerze,
- kradzież kluczy API, tokenów i innych sekretów,
- wyciek historii rozmów oraz danych przetwarzanych przez narzędzia AI,
- dostęp do usług wewnętrznych, baz danych i zasobów sieciowych,
- kompromitację pipeline’ów deweloperskich i środowisk build,
- dalsze ataki z użyciem zaufanych integracji AI.
Szczególnie niebezpieczne są wdrożenia, w których agenci AI działają z wysokimi uprawnieniami lub mają dostęp do zasobów o dużej wartości biznesowej. W takim modelu pozornie lokalna funkcja uruchamiania serwera narzędzi może stać się punktem wejścia do szerokiej kompromitacji organizacji.
Rekomendacje
Organizacje korzystające z MCP powinny traktować wszystkie zewnętrzne konfiguracje serwerów, marketplace’y narzędzi i dane wejściowe wpływające na komendy uruchomieniowe jako niezaufane. Kluczowe jest wyeliminowanie dynamicznego składania poleceń z danych, które nie zostały ściśle zweryfikowane.
- walidować ścieżki, komendy i argumenty przed uruchomieniem subprocessów,
- uruchamiać serwery MCP w sandboxie, kontenerze lub innym izolowanym środowisku,
- stosować zasadę najmniejszych uprawnień dla agentów AI i procesów pomocniczych,
- monitorować wywołania narzędzi MCP oraz operacje tworzenia nowych procesów,
- utrzymywać rejestr wykorzystywanych serwerów MCP, ich źródeł i wersji,
- instalować wyłącznie zweryfikowane komponenty i ograniczać użycie nieznanych marketplace’ów,
- oddzielać sekrety od środowisk uruchomieniowych agentów AI,
- wdrożyć alertowanie dla nietypowych komend, odwołań do powłoki i anomalii konfiguracyjnych.
Dla zespołów deweloperskich szczególnie ważna jest zmiana założenia, że lokalny transport STDIO jest z natury bezpieczny. Taki model można uznać za akceptowalny wyłącznie wtedy, gdy uruchamiany proces jest z góry zdefiniowany, niezmienny i odseparowany od danych pochodzących z zewnątrz.
Podsumowanie
Ujawniona wada MCP pokazuje, że w systemach AI rośnie znaczenie ryzyk wynikających nie z pojedynczych błędów kodu, lecz z decyzji architektonicznych replikowanych w całym ekosystemie. Połączenie modelu językowego, zewnętrznych narzędzi i mechanizmów uruchamiania procesów tworzy nową, atrakcyjną powierzchnię ataku.
Dla organizacji oznacza to potrzebę pilnego przeglądu wszystkich wdrożeń MCP, oceny zaufania do źródeł konfiguracji oraz wzmocnienia izolacji agentów AI. Bez takich działań narzędzia mające zwiększać produktywność mogą stać się nowym i trudnym do wykrycia wektorem kompromitacji.
Źródła
- The Hacker News — https://thehackernews.com/2026/04/anthropic-mcp-design-vulnerability.html
- OX Security — The Mother of All AI Supply Chains: Technical Deep Dive — https://www.ox.security/blog/the-mother-of-all-ai-supply-chains-technical-deep-dive/
- Model Context Protocol — Transports — https://modelcontextprotocol.io/specification/2025-03-26/basic/transports
- Model Context Protocol — Architecture overview — https://modelcontextprotocol.io/docs/concepts
- Model Context Protocol — Authorization — https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization