Recherche-Report · maierzone
Der Agenten-Perimeter
Ein Jahr Model Context Protocol — von 1.862 offenen Servern zur statelosen Spec
§ 01
Die Lage in Zahlen
MCP ist in zwanzig Monaten von einem Anthropic-Nebenprojekt zur De-facto-Steckdose zwischen Modellen und Systemen geworden. Die Sicherheitsarbeit hinkt der Verbreitung um etwa ein Jahr hinterher — und das ist keine Metapher, das lässt sich an den Spec-Revisionen ablesen.
Die 1,3 % aus der Registry-Studie klingen beruhigend, bis man die zweite Zahl danebenlegt: Die Cloud Security Alliance schätzt den Radius des im April 2026 offengelegten STDIO-Designfehlers auf rund 200.000 verwundbare Instanzen entlang einer Lieferkette von über 150 Millionen Paket-Downloads. Der Unterschied ist wichtig — die Studie zählt schlecht geschriebene Server, die CSA zählt Server, die korrekt nach SDK-Default gebaut wurden.
Q2 2026 gemessen (9.400 Server über vier große Registries, +58 % QoQ im dritten Quartal in Folge). Die drei vorangehenden Quartale sind aus dieser Rate zurückgerechnet, der Balken für Q4 2026 ist die Prognose-Basislinie (Band 14.800–22.000). Kein gemessener Wert außer Q2 2026.
§ 02
Chronik der Vorfälle
Vierzehn öffentlich zugeordnete Vorfälle zwischen April 2025 und April 2026. Auffällig ist nicht die Menge, sondern die Wiederholung: derselbe Fehler, andere Verpackung.
Q2 2026 zählt als ein Eintrag, umfasst aber zehn CVEs — der systemische STDIO-Befund gegen mehrere Produkte gleichzeitig.
Eigene Klassifikation der vierzehn Einträge. Kommando-Injektion führt, Prompt Injection ist seltener dokumentiert — vermutlich, weil sie schwerer nachweisbar ist.
| Datum | Betroffen | CVE | CVSS | Ursache |
|---|---|---|---|---|
| 2026-04 | Offizielle MCP-SDKs, LettaAI, LangFlow, Windsurf | 10 CVEs | — | STDIO-Transport reicht Konfiguration ungeprüft an die Shell |
| 2026-03 | nginx-ui | CVE-2026-33032 | 9.8 | Message-Endpoint führt Kommandos ohne Authentifizierung aus |
| 2026-02 | Oura MCP (geklont) | — | — | Lieferketten-Angriff, StealC-Malware über gefälschtes Repo |
| 2026-01 | gemini-mcp-tool | CVE-2026-0755 | 9.8 | execAsync mit unvalidierter Nutzereingabe |
| 2025-10 | Figma / Framelink MCP | CVE-2025-53967 | — | child_process.exec auf ungeprüfter Eingabe |
| 2025-10 | Smithery (MCP-Hosting) | — | — | Path Traversal in smithery.yaml, Zugriff aufs Home-Verzeichnis |
| 2025-09 | Flowise | CVE-2025-59528 | — | Umgehung der Schutzmechanismen über denselben STDIO-Designfehler |
| 2025-09 | Postmark MCP Server | — | — | Bösartiges Paket, BCC jeder Agenten-Mail an Angreiferdomain |
| 2025-08 | Anthropic Filesystem MCP | CVE-2025-53109/-53110 | — | Sandbox-Ausbruch und Symlink-Umgehung |
| 2025-07 | mcp-remote | CVE-2025-6514 | — | Präpariertes authorization_endpoint landet in der Shell |
| 2025-06 | Anthropic MCP Inspector | CVE-2025-49596 | — | Unauthentifizierte RCE über den Inspector-Proxy |
| 2025-06 | Asana MCP Server | — | — | Fehler in der Zugriffslogik, mandantenübergreifende Sicht |
| 2025-05 | GitHub MCP Server | — | — | Prompt Injection nutzt zu weite PAT-Scopes aus |
| 2025-04 | WhatsApp MCP | — | — | Tool Poisoning: umgeschriebene Tool-Beschreibung exfiltriert Daten |
§ 03
Fünf Fehlerklassen
Reduziert man die Chronik auf ihre Mechanik, bleiben fünf Muster übrig. Vier davon sind Protokoll-eigen — sie entstehen dadurch, wie MCP gebaut ist, nicht dadurch, dass jemand schlampig programmiert hat.
-
F1 kritisch Konfiguration ist ein KommandopfadDer STDIO-Transport übergibt Konfigurationsparameter ohne Sanitisierung an die Shell des Hosts. Das ist kein Bug in einem einzelnen Produkt, sondern ein Default in den offiziellen SDKs für Python, TypeScript, Java und Rust. Wer eine MCP-Server-Konfiguration schreiben darf, darf Code ausführen. Sieben bestätigte High/Critical-CVEs bis Mai 2026, darunter MCP Inspector, Cursor IDE, LiteLLM, LibreChat und Windsurf.
-
F2 kritisch Metadaten sind PromptEine Tool-Beschreibung ist kein Kommentar, sondern Modell-Eingabe. Wer sie kontrolliert, kontrolliert die Absicht des Agenten — und der Host führt das Ergebnis ohne unabhängige Prüfung aus. Die Registry-Studie nennt das den Kern des Problems: angreiferkontrollierte Metadaten formen die Schlussfolgerung des Modells. Codefehler sind dafür nicht nötig, sie verstärken nur.
-
F3 hoch Registries prüfen nichtSchwache Aufnahmeprüfung und Eigentümerkontrolle lassen feindliche oder übernommene Server in die Hosts. Der Postmark-Fall ist das Lehrstück: Das Paket verhielt sich korrekt, bestand das Review, und änderte sein Verhalten erst in einer späteren Version. Versionspinning ist hier keine Kür.
-
F4 hoch Token ohne AdressatVor Juni 2025 kannte MCP keine Bindung eines Access Tokens an einen bestimmten Server. Ein bösartiger Server konnte ein Token erhalten und anderswo einlösen. Die Antwort steht seit 2025-06-18 in der Spec: RFC 8707 Resource Indicators auf Client-Seite, RFC 9728 Protected Resource Metadata auf Server-Seite. Beides MUST, beides in der Praxis nur schleppend umgesetzt.
-
F5 mittel Zu weite Rechte, zu langeDer GitHub-Vorfall brauchte keinen Exploit — ein Personal Access Token mit großzügigen Scopes plus eine Prompt Injection genügten. Die Umkehrung der üblichen Richtung verschärft das: Bei MCP fragt und handelt der Server für den Client, nicht umgekehrt. Die üblichen Nachvollziehbarkeitspfade greifen dort nicht.
§ 04
Die Spec zieht nach
Fünf Revisionen in zwanzig Monaten. Die Sicherheitsarbeit beginnt sichtbar mit 2025-06-18 — also nach den ersten schweren Vorfällen, nicht davor.
- 2024-11-05 Erstveröffentlichung. STDIO und HTTP+SSE als Transporte. Kein Autorisierungskapitel. Basis
- 2025-03-26 Streamable HTTP. OAuth 2.1 erstmals im Text — als Rahmen, noch ohne die harten Bindungspflichten. Auth v1
- 2025-06-18 Der Sicherheits-Release. MCP-Server sind offiziell OAuth-2.0-Resource-Server. RFC 9728 Protected Resource Metadata wird Pflicht, RFC 8707 Resource Indicators für Clients ebenfalls. Dazu ein eigenes Best-Practices-Dokument zu Token-Validierung und Ressourcen-Isolation. Außerdem: strukturierte Tool-Ausgaben und Elicitation. Wendepunkt
- 2025-11-25 Zum ersten Geburtstag. Tasks als experimentelles Primitiv (call-now, fetch-later), ein formalisiertes Extensions-Framework und darauf aufbauend Authorization Extensions. Struktur
- 2026-07-28 Stateless. Der größte Bruch bisher — eigener Abschnitt unten. aktuell
§ 05
Der Bruch: 2026-07-28
Der Release Candidate wurde am 21. Mai 2026 eingefroren, die finale Spec ist seit dem 28. Juli 2026 draußen — also seit gut einer Woche. Sie entfernt die Maschinerie, um die herum die meisten Server gebaut wurden.
Der Kern: Sessions sind weg. Kein Mcp-Session-Id-Header, kein initialize-Handshake, keine notifications/initialized. Jeder Request darf auf jeder Instanz landen. Statt Verbindungszustand geben Server jetzt explizite Handles aus, die als gewöhnliche Tool-Argumente zurückkommen. Protokollversion und Fähigkeiten liest der Server aus _meta jedes einzelnen Requests, Discovery läuft über den neuen server/discover-RPC.
| Was | Vorher | Ab 2026-07-28 | Bricht? |
|---|---|---|---|
| Session | Mcp-Session-Id + Sticky Routing | server-vergebene Handles als Tool-Argument | ja |
| Handshake | initialize | server/discover + _meta je Request | ja |
| Routing | Deep Packet Inspection am LB | Header Mcp-Method, Mcp-Name Pflicht | neu |
| Serverfrage an Client | gehaltener SSE-Stream | InputRequiredResult mit requestState | ja |
| Listen | pro Verbindung variabel | ttlMs + cacheScope Pflicht | neu |
| HTTP+SSE | Transport | deprecated, ≥ 12 Monate Frist | Frist |
| Roots, Sampling, Logging | Kernfeatures | deprecated — Tool-Parameter, direkter LLM-Zugang, stderr/OpenTelemetry | Frist |
| Client-Registrierung | Dynamic Client Registration | deprecated zugunsten Client ID Metadata Documents | Frist |
| OAuth | ohne iss-Prüfung | iss-Validierung nach RFC 9207, application_type, Credentials je Issuer | härtet |
| Fehlercode | -32002 für fehlende Ressource | Standard-JSON-RPC -32602 | klein |
Sicherheitlich ist das ein Gewinn, auch wenn die Motivation Skalierung war: Kein Session-Zustand heißt kein Session Hijacking und keine Session-Verwechslung zwischen Servern — beides stand vorher explizit auf der Mängelliste. Sechs Autorisierungs-SEPs schärfen zusätzlich die OAuth-/OIDC-Ausrichtung nach. Was bleibt, ist F1 und F2: Der Kommandopfad und die Metadaten-als-Prompt-Frage werden von dieser Revision nicht angefasst.
§ 06
Was das für einen selbst gehosteten Stack heißt
Sieben Punkte, gegen die maierzone-Setup gespiegelt. Die Bewertung rechts ist eine Einschätzung aus der veröffentlichten Selbstbeschreibung des Publishers, keine Prüfung des Quellcodes.
F1 trifft den Pfad Konfiguration → Shell. HTTP-Transport hinter Keycloak umgeht ihn strukturell. Kritisch wird es dort, wo lokal MCP-Server aus fremden Registries per npx gestartet werden — das ist der Entwicklerrechner, nicht der VPS.
RFC 8707: Das Bearer-Token muss für diesen Resource Server ausgestellt sein. Bei Keycloak heißt das aud-Claim gegen die eigene Client-ID validieren, nicht nur Signatur und Ablauf. Dazu RFC 9728 unter /.well-known/oauth-protected-resource ausliefern.
Sie gehören ins eigene Repo, versioniert und reviewt — nie dynamisch aus Fremddaten zusammengesetzt. Die Beschreibungstexte von publishArtifact & Co. sind Teil der Angriffsfläche, nicht Dokumentation.
overwrite=false als Default plus Versionshistorie mit rollbackArtifact ist genau die richtige Form: Ein per Prompt Injection fehlgeleiteter Agent kann einen Slug nicht stillschweigend überschreiben, und wenn doch, ist der Vorzustand da.
Der reachability-Rückcheck über die öffentliche URL nach dem Publish ist ein hübsches Muster: Der Server glaubt seinem eigenen Schreibvorgang nicht, sondern misst das Ergebnis von außen. Genau das fehlt dem Ökosystem an vielen Stellen.
Postmark und Oura waren beides Lieferketten-Fälle. Für jeden fremden MCP-Server: exakte Version festnageln, Änderungsalarm setzen, Herkunft dokumentieren. Für gepinnte Frontend-Libs (three@0.170.0, chart.js@4.4.6) macht der Publisher das bereits vor.
Wer heute Sessions hält, hat zwölf Monate. Der Umbau lohnt vorgezogen: Handles als Tool-Argumente sind explizit, auditierbar und lassen sich einzeln entziehen — Verbindungszustand ist keines davon. Nebeneffekt: horizontale Skalierung ohne Sticky Sessions.
Die gefährlichste Eigenschaft von MCP ist nicht ein CVE, sondern die Erwartung, ein Protokoll könne Vertrauen ersetzen. Ein Agent, der einem fremden Server-Katalog folgt, tut das mit deinen Rechten. Die Spec härtet den Transport — wer wem was sagen darf, bleibt eine Betriebsentscheidung.
§ 07
Quellen
Primärquellen zuerst. Bei den Marktzahlen gilt: Sie stammen aus kommerziellen Trackern, weichen je nach Zählweise erheblich voneinander ab (2.000 bis 10.000+ Server, je nach Registry-Auswahl) und sind entsprechend zurückhaltend zu lesen.
- Model Context Protocol Blog — The 2026-07-28 MCP Specification Release Candidate Primärquelle. Stateless-Architektur, Deprecations, Extensions, RC-Freeze 21.05.2026.
- Model Context Protocol — Authorization, Spec 2025-06-18 Primärquelle. Resource-Server-Klassifikation, RFC 9728, RFC 8707.
- arXiv:2510.16558 — A First Look at the Security Issues in the Model Context Protocol Ecosystem Empirie. 67.057 Server über sechs Registries, 833 verwundbar, 18 verdächtige Beschreibungen.
- Cloud Security Alliance Labs — MCP Security Crisis: Systemic Design Flaws in AI Agent Infrastructure (04.05.2026) STDIO-Designfehler, ~200.000 Instanzen, 150 Mio. Downloads, 1.862 offene Server, sieben CVEs, Maßnahmenkatalog.
- authzed — A Timeline of Model Context Protocol (MCP) Security Breaches Grundlage der Chronik in § 02, inklusive CVE-Nummern und CVSS-Werten.
- Stacktree — MCP 2026-07-28 spec: what changed, what breaks Bruchstellen-Tabelle in § 05: Header, server/discover, Caching-Felder, DCR-Deprecation.
- WorkOS — MCP 2025-11-25: async Tasks, better OAuth, extensions Inhalt der November-Revision.
- Model Context Protocol Blog — One Year of MCP: November 2025 Spec Release Primärquelle zur 2025-11-25-Revision.
- Wiz Academy — Understanding Model Context Protocol Security (2026) Einordnung der Vektoren: vergiftete Tool-Beschreibungen, manipulierte Tool-Ausgaben, Session-Bindung.
- MDPI J. Cybersecur. Priv. — Model Context Protocol Threat Modeling and Analysis of Vulnerabilities to Prompt Injection with Tool Poisoning Bedrohungsmodell zu F2.
- digitalapplied — MCP Ecosystem H1 2026 Retrospective / Adoption Statistics 2026 Marktzahlen: 9.400 Server Q2 2026, +58 % QoQ, Prognoseband, 97 Mio. SDK-Downloads, Registry-Stand 24.05.2026. Kommerzieller Tracker — mit Vorbehalt.
- NSA — Cybersecurity Information Sheet: Model Context Protocol (PDF) Existiert und ist einschlägig, war beim Abruf für diesen Report aber nicht erreichbar (HTTP 403) — deshalb hier nicht als Beleg verwendet, nur als Weiterlesen.
Recherchiert am 6. August 2026 über Websuche und direkten Seitenabruf. Zahlen ohne ausgewiesene Primärquelle sind Tracker-Angaben. Die Ursachen-Klassifikation in § 02 und die Bewertung in § 06 sind eigene Einordnung, nicht Zitat.