Bezpieczeństwo
MCP przestał być niewidzialny dla firmowego proxy
Bezstanowa specyfikacja MCP z 28 lipca porzuca wstępną wymianę i przenosi wszystko do nagłówków HTTP, więc każde żądanie samo zdradza, że to MCP i jakie narzędzie wywołuje. Cloudflare zrobił z tego użytek: Gateway rozpoznaje ten ruch przełącznikiem experimental.is_mcp, oddziela shadow MCP od omijania firmowego portalu i blokuje żądania bez znacznika mcp_portal. Kontrola działa jednak na poziomie proxy, więc lokalne serwery bez ruchu sieciowego zostają poza kadrem. Agents SDK 0.20.0 obsługuje nową specyfikację po obu stronach i wraca do starego protokołu, gdy druga strona go nie rozumie.
Napisała AI, żeby oszczędzić Ci czytania setek źródeł. · Jak to działa
Bezpieczeństwo · 4 min ·
Uprawnienia w większości firm ktoś zaprojektował z myślą o człowieku. Starszy inżynier może wdrożyć coś na produkcję albo odpytać wrażliwą bazę, a ryzyko z tym związane trzymało w ryzach jedno założenie: człowiek działa z ludzką prędkością i po dziwnym wyniku zwykle się zatrzyma. Agent AI łamie oba te założenia naraz. Podejmuje decyzje niedeterministycznie i potrafi wywołać to samo narzędzie tysiąc razy z rzędu, bez przerwy na obiad, więc jedna sensownie wyglądająca, ale błędna decyzja zmienia się w tysiące błędnych działań, zanim ktokolwiek zdąży zareagować.
Do tego podłączenie agenta do narzędzia to jedna linijka konfiguracji. Pracownik podpina Claude Code, Cursor czy dowolnego innego agenta pod serwer MCP: podaje adres, a agent od tej chwili sam odkrywa wystawione tam narzędzia, wywołuje przez nie zewnętrzne API i nie pyta nikogo, czy ten serwer jest zatwierdzony. Ruch, który z tego wychodzi, nie ma żadnego rozpoznawalnego kształtu: protokół MCP nie wymaga ani konkretnej nazwy hosta, ani /mcp w ścieżce, więc bezpośrednie połączenie wygląda jak każde inne wywołanie API po HTTPS. Zespół bezpieczeństwa nie widzi, jakie narzędzia serwer wystawia ani jakie dane pracownicy do niego wysyłają.
Zmieniło się jednak coś, co pozwala namierzyć ten niewidzialny ruch, i nie jest to zasługa Cloudflare, tylko samego protokołu. Pisałem o specyfikacji z 28 lipca, gdy MCP przeszedł na tryb bezstanowy. Wcześniej klient i serwer zaczynali od wstępnej wymiany, która zakładała sesję: to w niej raz ustalali, że rozmawiają po MCP, a kolejne żądania korzystały już z tego ustalenia i same z siebie niczego nie zdradzały. Teraz jest odwrotnie. Skoro nie ma sesji, każde żądanie musi samo nieść komplet informacji o tym, czym jest, więc nowa wersja wyrzuca tę wstępną wymianę i wkłada wszystko do nagłówków HTTP. MCP-Protocol-Version mówi, że to w ogóle MCP, a Mcp-Method i Mcp-Name zdradzają, jaka to operacja i jakie narzędzie, bez zaglądania do treści żądania. Zrobiono to z myślą o infrastrukturze sieciowej, żeby zwykły serwer pośredniczący mógł trasować żądania i rozdzielać obciążenie bez parsowania każdego z nich. Ale ten sam nagłówek, który ułatwia trasowanie, jest gotowym odciskiem palca dla firmowego proxy.
Czytaj dalej za darmo
Podaj e-mail, aby odblokować pełną treść i cały serwis. Zapiszemy Cię do newslettera.