{"id":1252,"date":"2026-04-20T10:07:55","date_gmt":"2026-04-20T08:07:55","guid":{"rendered":"https:\/\/vittrup-graversen.dk\/?p=1252"},"modified":"2026-04-20T10:07:55","modified_gmt":"2026-04-20T08:07:55","slug":"mcp-protokollen-har-en-arkitekturfejl-200-000-servere-i-fare","status":"publish","type":"post","link":"https:\/\/vittrup-graversen.dk\/index.php\/2026\/04\/20\/mcp-protokollen-har-en-arkitekturfejl-200-000-servere-i-fare\/","title":{"rendered":"MCP-protokollen har en arkitekturfejl: 200.000 servere i fare"},"content":{"rendered":"\n<p>Anthropics Model Context Protocol (MCP) har p\u00e5 rekordtid blevet standarden for, hvordan AI-modeller kommunikerer med eksterne v\u00e6rkt\u00f8jer. Over 150 millioner downloads, 7.000 offentligt tilg\u00e6ngelige servere og integration i stort set alle popul\u00e6re AI-udviklingsv\u00e6rkt\u00f8jer. Men en gruppe sikkerhedsforskere fra OX Security har nu afsl\u00f8ret en fundamental designfejl i protokollen, der potentielt s\u00e6tter op mod 200.000 servere i fare for fuld overtagelse.<\/p>\n\n\n\n<p>Og Anthropics reaktion? De kalder det &#8220;forventet adf\u00e6rd.&#8221;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hvad er fejlen, og hvorfor er den alvorlig?<\/h2>\n\n\n\n<p>Kernen i problemet ligger i MCP&#8217;s STDIO-transportmekanisme. N\u00e5r 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\u00e5rlige OS-kommandoer kan eksekveres uden tilstr\u00e6kkelig validering. Protokollen returnerer et &#8220;handle&#8221; n\u00e5r en kommando succesfuldt opretter en STDIO-server, men eksekverer ogs\u00e5 ikke-kompatible kommandoer, f\u00f8r den returnerer en fejl.<\/p>\n\n\n\n<p>Det er ikke en simpel bug i en enkelt implementation. Fejlen sidder i selve arkitekturen af Anthropics officielle MCP SDK&#8217;er p\u00e5 tv\u00e6rs af Python, TypeScript, Java og Rust. Alle sprog. Alle platforme.<\/p>\n\n\n\n<p>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\u00f8j- og kritisk-klassificerede CVE&#8217;er fordelt p\u00e5 popul\u00e6re open source-v\u00e6rkt\u00f8jer og AI-agenter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fire angrebsvektorer, der rammer bredt<\/h2>\n\n\n\n<p>Forskerne identificerede fire distinkte familier af angreb, der alle udnytter den samme underliggende arkitekturfejl:<\/p>\n\n\n\n<p><strong>1. Uautentificeret kommandoinjektion:<\/strong> Direkte eksekvering af bruger-kontrollerede kommandoer uden sanitering. I v\u00e6rkt\u00f8jer som LangFlow (alle versioner) og GPT Researcher (CVE-2025-65720) kan angribere opn\u00e5 fuld systemkompromittering via offentligt tilg\u00e6ngelige brugergr\u00e6nseflader.<\/p>\n\n\n\n<p><strong>2. Omg\u00e5else af sikkerhedsh\u00e6rdning:<\/strong> Selv i &#8220;beskyttede&#8221; milj\u00f8er som Flowise (GHSA-c9gw-hvqq-f33r) kan angribere indirekte injicere kommandoer gennem tilladte kommandoargumenter. Et eksempel er <code>npx -c &lt;kommando&gt;<\/code>, der effektivt omg\u00e5r alle forsvarslag.<\/p>\n\n\n\n<p><strong>3. Zero-click prompt injection:<\/strong> I AI-IDE&#8217;er som Windsurf (CVE-2026-30615) og Cursor p\u00e5virker brugerens prompts direkte MCP JSON-konfigurationen. Det kr\u00e6ver ingen aktiv handling fra offerets side. Ogs\u00e5 Claude Code og Gemini-CLI er s\u00e5rbare over for denne angrebstype.<\/p>\n\n\n\n<p><strong>4. Forgiftning af MCP-markedspladser:<\/strong> Forskerne testede 11 MCP-registre og form\u00e5ede at &#8220;forgifte&#8221; 9 af dem med proof-of-concept-MCP&#8217;er. Det svarer til den type supply chain-angreb, vi kender fra npm og PyPI, men nu rettet mod AI-infrastruktur.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hvem er ramt?<\/h2>\n\n\n\n<p>Listen over s\u00e5rbare projekter er lang og inkluderer mange af de mest brugte AI-udviklingsv\u00e6rkt\u00f8jer: Cursor, Claude Code, Windsurf, Gemini-CLI, GitHub Copilot, LangFlow, GPT Researcher, Upsonic (CVE-2026-30625) og Flowise. Det er v\u00e6rkt\u00f8jer, som hundredtusindvis af udviklere bruger dagligt.<\/p>\n\n\n\n<p>Vi taler alts\u00e5 ikke om obskure nichev\u00e6rkt\u00f8jer. Det er selve rygraden i det agentiske AI-\u00f8kosystem, der er s\u00e5rbar. N\u00e5r <a href=\"https:\/\/vittrup-graversen.dk\/index.php\/2026\/04\/17\/mozilla-thunderbolt-open-source-alternativet-til-enterprise-ai-er-her\/\">MCP bruges som integrationsprotokol<\/a> i alt fra lokale udviklerv\u00e6rkt\u00f8jer til enterprise-setups, bliver angrebsfladen enorm.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Anthropics kontroversielle reaktion<\/h2>\n\n\n\n<p>Det mest opsigtsv\u00e6kkende er m\u00e5ske Anthropics h\u00e5ndtering af sagen. Virksomheden afviste at \u00e6ndre protokollens arkitektur og betegnede adf\u00e6rden som &#8220;forventet.&#8221; I stedet opdaterede de deres sikkerhedsvejledning med en anbefaling om at &#8220;udvise forsigtighed med STDIO-adaptere.&#8221;<\/p>\n\n\n\n<p>Forskerne er ikke imponerede. Som de p\u00e5peger: &#8220;\u00c9n arkitektonisk \u00e6ndring p\u00e5 protokolniveau ville have beskyttet hvert eneste downstream-projekt, hver udvikler og hver slutbruger, der stoler p\u00e5 MCP i dag.&#8221;<\/p>\n\n\n\n<p>Det er en velkendt dynamik i sikkerhedsverdenen. N\u00e5r en protokoldesigner siger &#8220;det er brugerens ansvar at sikre koden,&#8221; skubber de reelt sikkerhedsbyrden ned til tusindvis af individuelle udviklere, der hver is\u00e6r skal genopdage og l\u00f8se det samme grundl\u00e6ggende problem. Det er en strategi, der historisk set aldrig har fungeret.<\/p>\n\n\n\n<p>Til sammenligning: da lignende fundamentale s\u00e5rbarheder blev fundet i andre protokoller og frameworks, var normen at fikse det i selve protokollen. T\u00e6nk p\u00e5 TLS-opdateringer eller Pythons h\u00e5ndtering af XML-parsing-s\u00e5rbarheder. MCP-sagen bryder med den norm.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perspektiv: hvad betyder det for udviklere?<\/h2>\n\n\n\n<p>Hvis du bruger MCP-baserede v\u00e6rkt\u00f8jer i dit udviklingsmilj\u00f8, er der flere ting at overveje:<\/p>\n\n\n\n<p><strong>Gennemg\u00e5 dine MCP-servere.<\/strong> K\u00f8r kun MCP-servere fra kilder, du stoler p\u00e5. Marketplace-forgiftning er reelt, og 9 ud af 11 registre var s\u00e5rbare.<\/p>\n\n\n\n<p><strong>Isol\u00e9r MCP-processer.<\/strong> K\u00f8r dem i sandboxed milj\u00f8er hvor muligt. Docker-containere eller dedikerede brugerkonti med minimale rettigheder kan begr\u00e6nse skadens omfang.<\/p>\n\n\n\n<p><strong>Hold \u00f8je med CVE&#8217;er.<\/strong> De 10 offentliggjorte CVE&#8217;er er formentlig kun toppen af isbjerget. Flere afsl\u00f8ringer vil sandsynligvis f\u00f8lge.<\/p>\n\n\n\n<p><strong>Overvej alternativ transport.<\/strong> Hvor det er muligt, brug HTTP-baseret transport i stedet for STDIO. Det eliminerer ikke alle risici, men fjerner den mest direkte angrebsvektor.<\/p>\n\n\n\n<p>MCP har p\u00e5 kort tid opn\u00e5et en dominerende position som <a href=\"https:\/\/vittrup-graversen.dk\/index.php\/category\/security\/\">integrationsstandard for AI-agenter<\/a>. Men med den position f\u00f8lger et ansvar for at tage sikkerhed alvorligt p\u00e5 protokolniveau. Lige nu l\u00e6gger Anthropic det ansvar fra sig, og det er et problem, der kun vokser, jo flere der adopterer standarden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kilder<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.theregister.com\/2026\/04\/16\/anthropic_mcp_design_flaw\/\" target=\"_blank\" rel=\"noopener\">Anthropic won&#8217;t own MCP &#8216;design flaw&#8217; putting 200K servers at risk<\/a> &#8211; The Register, 16. april 2026<\/li>\n\n\n\n<li><a href=\"https:\/\/www.ox.security\/blog\/the-mother-of-all-ai-supply-chains-critical-systemic-vulnerability-at-the-core-of-the-mcp\/\" target=\"_blank\" rel=\"noopener\">The Mother of All AI Supply Chains: Critical Vulnerability at the Core of MCP<\/a> &#8211; OX Security Research<\/li>\n\n\n\n<li><a href=\"https:\/\/www.techradar.com\/pro\/security\/this-is-not-a-traditional-coding-error-experts-flag-potentially-critical-security-issues-at-the-heart-of-anthropics-mcp-exposes-150-million-downloads-and-thousands-of-servers-to-complete-takeover\" target=\"_blank\" rel=\"noopener\">Experts flag critical security issues at the heart of Anthropic&#8217;s MCP<\/a> &#8211; TechRadar, 16. april 2026<\/li>\n\n\n\n<li><a href=\"https:\/\/www.darkreading.com\/application-security\/microsoft-anthropic-mcp-servers-risk-takeovers\" target=\"_blank\" rel=\"noopener\">Microsoft &amp; Anthropic MCP Servers at Risk of RCE, Cloud Takeovers<\/a> &#8211; Dark Reading<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Sikkerhedsforskere har fundet en kritisk arkitekturfejl i Anthropics MCP-protokol, der s\u00e6tter 200.000 servere i fare. Anthropic kalder det forventet adf\u00e6rd.<\/p>\n","protected":false},"author":1,"featured_media":1251,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[8,19],"tags":[34,108,98],"class_list":["post-1252","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-security","tag-anthropic","tag-cybersecurity","tag-mcp"],"acf":[],"_links":{"self":[{"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/posts\/1252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/comments?post=1252"}],"version-history":[{"count":1,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/posts\/1252\/revisions"}],"predecessor-version":[{"id":1260,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/posts\/1252\/revisions\/1260"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/media\/1251"}],"wp:attachment":[{"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/media?parent=1252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/categories?post=1252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vittrup-graversen.dk\/index.php\/wp-json\/wp\/v2\/tags?post=1252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}