MCP-protokollen har en arkitekturfejl: 200.000 servere i fare

2 min read

Anthropics Model Context Protocol (MCP) har på rekordtid blevet standarden for, hvordan AI-modeller kommunikerer med eksterne værktøjer. Over 150 millioner downloads, 7.000 offentligt tilgængelige servere og integration i stort set alle populære AI-udviklingsværktøjer. Men en gruppe sikkerhedsforskere fra OX Security har nu afsløret en fundamental designfejl i protokollen, der potentielt sætter op mod 200.000 servere i fare for fuld overtagelse.

Og Anthropics reaktion? De kalder det “forventet adfærd.”

Hvad er fejlen, og hvorfor er den alvorlig?

Kernen i problemet ligger i MCP’s STDIO-transportmekanisme. Når en AI-applikation starter en MCP-server som en underproces, bruger den standard input/output (STDIO) til kommunikation. Det lyder uskyldigt nok, men i praksis betyder det, at vilkårlige OS-kommandoer kan eksekveres uden tilstrækkelig validering. Protokollen returnerer et “handle” når en kommando succesfuldt opretter en STDIO-server, men eksekverer også ikke-kompatible kommandoer, før den returnerer en fejl.

Det er ikke en simpel bug i en enkelt implementation. Fejlen sidder i selve arkitekturen af Anthropics officielle MCP SDK’er på tværs af Python, TypeScript, Java og Rust. Alle sprog. Alle platforme.

OX Security-teamet, ledet af forskerne Moshe Siman Tov Bustan, Mustafa Naamnih, Nir Zadok og Roni Bar, har siden november 2025 arbejdet sig igennem mere end 30 opdagelser (responsible disclosures). Resultatet er mindst 10 høj- og kritisk-klassificerede CVE’er fordelt på populære open source-værktøjer og AI-agenter.

Fire angrebsvektorer, der rammer bredt

Forskerne identificerede fire distinkte familier af angreb, der alle udnytter den samme underliggende arkitekturfejl:

1. Uautentificeret kommandoinjektion: Direkte eksekvering af bruger-kontrollerede kommandoer uden sanitering. I værktøjer som LangFlow (alle versioner) og GPT Researcher (CVE-2025-65720) kan angribere opnå fuld systemkompromittering via offentligt tilgængelige brugergrænseflader.

2. Omgåelse af sikkerhedshærdning: Selv i “beskyttede” miljøer som Flowise (GHSA-c9gw-hvqq-f33r) kan angribere indirekte injicere kommandoer gennem tilladte kommandoargumenter. Et eksempel er npx -c <kommando>, der effektivt omgår alle forsvarslag.

3. Zero-click prompt injection: I AI-IDE’er som Windsurf (CVE-2026-30615) og Cursor påvirker brugerens prompts direkte MCP JSON-konfigurationen. Det kræver ingen aktiv handling fra offerets side. Også Claude Code og Gemini-CLI er sårbare over for denne angrebstype.

4. Forgiftning af MCP-markedspladser: Forskerne testede 11 MCP-registre og formåede at “forgifte” 9 af dem med proof-of-concept-MCP’er. Det svarer til den type supply chain-angreb, vi kender fra npm og PyPI, men nu rettet mod AI-infrastruktur.

Hvem er ramt?

Listen over sårbare projekter er lang og inkluderer mange af de mest brugte AI-udviklingsværktøjer: Cursor, Claude Code, Windsurf, Gemini-CLI, GitHub Copilot, LangFlow, GPT Researcher, Upsonic (CVE-2026-30625) og Flowise. Det er værktøjer, som hundredtusindvis af udviklere bruger dagligt.

Vi taler altså ikke om obskure nicheværktøjer. Det er selve rygraden i det agentiske AI-økosystem, der er sårbar. Når MCP bruges som integrationsprotokol i alt fra lokale udviklerværktøjer til enterprise-setups, bliver angrebsfladen enorm.

Anthropics kontroversielle reaktion

Det mest opsigtsvækkende er måske Anthropics håndtering af sagen. Virksomheden afviste at ændre protokollens arkitektur og betegnede adfærden som “forventet.” I stedet opdaterede de deres sikkerhedsvejledning med en anbefaling om at “udvise forsigtighed med STDIO-adaptere.”

Forskerne er ikke imponerede. Som de påpeger: “Én arkitektonisk ændring på protokolniveau ville have beskyttet hvert eneste downstream-projekt, hver udvikler og hver slutbruger, der stoler på MCP i dag.”

Det er en velkendt dynamik i sikkerhedsverdenen. Når en protokoldesigner siger “det er brugerens ansvar at sikre koden,” skubber de reelt sikkerhedsbyrden ned til tusindvis af individuelle udviklere, der hver især skal genopdage og løse det samme grundlæggende problem. Det er en strategi, der historisk set aldrig har fungeret.

Til sammenligning: da lignende fundamentale sårbarheder blev fundet i andre protokoller og frameworks, var normen at fikse det i selve protokollen. Tænk på TLS-opdateringer eller Pythons håndtering af XML-parsing-sårbarheder. MCP-sagen bryder med den norm.

Perspektiv: hvad betyder det for udviklere?

Hvis du bruger MCP-baserede værktøjer i dit udviklingsmiljø, er der flere ting at overveje:

Gennemgå dine MCP-servere. Kør kun MCP-servere fra kilder, du stoler på. Marketplace-forgiftning er reelt, og 9 ud af 11 registre var sårbare.

Isolér MCP-processer. Kør dem i sandboxed miljøer hvor muligt. Docker-containere eller dedikerede brugerkonti med minimale rettigheder kan begrænse skadens omfang.

Hold øje med CVE’er. De 10 offentliggjorte CVE’er er formentlig kun toppen af isbjerget. Flere afsløringer vil sandsynligvis følge.

Overvej alternativ transport. Hvor det er muligt, brug HTTP-baseret transport i stedet for STDIO. Det eliminerer ikke alle risici, men fjerner den mest direkte angrebsvektor.

MCP har på kort tid opnået en dominerende position som integrationsstandard for AI-agenter. Men med den position følger et ansvar for at tage sikkerhed alvorligt på protokolniveau. Lige nu lægger Anthropic det ansvar fra sig, og det er et problem, der kun vokser, jo flere der adopterer standarden.

Kilder

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *