NSA: MCP is Geen Security Boundary — Bouw een Zero Trust Control Plane
Security & InfrastructuurDe National Security Agency publiceerde op 20 mei 2026 een Cybersecurity Information Sheet dat de beveiliging van het Model Context Protocol onder de loep neemt. MCP is in krap anderhalf jaar uitgegroeid tot de de facto standaard voor communicatie tussen AI-agents en tools, data en API's. De NSA maakt één ding glashelder: MCP is op dit moment geen security boundary. Het is een interoperabiliteitsprotocol dat alleen veilig kan worden gebruikt als organisaties er een afzonderlijke Zero Trust control plane omheen bouwen.
Het document is uitzonderlijk als waarschuwing. De NSA beschrijft zes concrete exploits die in het wild zijn aangetroffen, van tool parameter injection tot WhatsApp-exfiltratie, en legt de architectuurfout bloot die al deze aanvallen mogelijk maakt. Het is minder compleet als implementatiestandaard: het beschrijft wat organisaties moeten beveiligen, maar niet precies hoe identiteit, autorisatie, policy enforcement en transactieveiligheid technisch gerealiseerd moeten worden.
MCP verandert niet alleen het aanvalsoppervlak, maar het aanvalsmodel
De kernobservatie van de NSA is fundamenteel: MCP koppelt probabilistische besluitvorming aan deterministische tools, data, API's en uitvoeringsomgevingen. Een foutieve interpretatie, promptinjectie of gecompromitteerde toolbeschrijving kan daardoor direct leiden tot datalekken, ongeautoriseerde transacties of code-uitvoering.
Bij klassieke API-integratie bepaalt applicatiecode vooraf welke endpoint met welke parameters wordt aangeroepen. Bij MCP kan een LLM tijdens runtime:
- een tool selecteren
- parameters genereren
- context combineren
- outputs interpreteren
- vervolgstappen initiëren
- acties doorgeven aan andere agents of tools
De control flow is gedeeltelijk dynamisch en probabilistisch. De NSA wijst specifiek op dynamic tool invocation, impliciete vertrouwensrelaties, en gedeelde of overlappende context als systemische risico's. Een fout in één schakel kan zich door een volledige agentketen verspreiden.
Dit betekent dat beveiliging verder moet gaan dan de API-call zelf. Je moet kunnen verantwoorden: waarom de tool werd gekozen, welke context die keuze beïnvloedde, namens welke identiteit de actie plaatsvindt, welke bevoegdheid is gedelegeerd, en welke downstream-effecten mogelijk zijn.
De rode draad: zes exploits, één architectuurfout
De NSA beschrijft zes real-world aanvallen. Niet hypothetisch, gedocumenteerd door HiddenLayer, Invariantlabs, Microsoft, en bevestigd via CVE-2025-49596.
| Exploit | Mechanisme | Impact |
|---|---|---|
| Tool parameter injection | Ongevalideerde parameters via MCP-berichten | RCE, file access |
| Tool invocation path confusion | Naming collisions tussen registries en lokale modules | Actor-controlled code |
| GitHub MCP exploit | Blanket access over private én publieke repos | Ongeautoriseerde exfiltratie |
| WhatsApp MCP exploit | Malafide server naast vertrouwde server; maskeert intentie | Chat-exfiltratie zonder notice |
| Output poisoning | Cascading prompt injection over multi-agent chains | Control-flow hijacking |
| MCP-Inspector RCE (CVE-2025-49596) | Ongevalideerde input in testtool | Remote code execution |
De rode draad is geen programmeerfout. Het is een architectuurpatroon:
Broad authority + dynamic discovery + implicit trust + weak validation + insufficient observability = high-impact compromise
Wat het NSA-document goed ziet
1. Tooloutput is onbetrouwbare input. De NSA maakt expliciet dat de output van een vertrouwde tool niet automatisch vertrouwd mag worden door de volgende agent. Tooloutput kan verborgen instructies, semantische manipulatie of indirecte promptinjectie bevatten. In multi-agent-workflows leidt dit tot cascaderende aanvallen.
Dit is Zero Trust toegepast op informatie-uitwisseling. Elke overgang in de agentketen vereist validatie:
User input → validate
LLM output → validate
Tool arguments → validate and authorize
Tool result → sanitize and classify
Agent interpretation → policy check
Downstream action → approve if high-impact
2. Identity en access control zijn structureel zwak. MCP koppelt sessies niet verplicht aan identiteiten. Authenticatie is optioneel. RBAC is niet protocolbreed afdwingbaar. OAuth bearer tokens bieden bezit-gebaseerde toegang, maar modelleren niet de volledige besliscontext: eindgebruiker, agent, tenant, resource, delegatieketen.
3. MCP-servers kunnen heimelijk van karakter veranderen. Een goedgekeurde MCP-server kan na installatie capabilities wijzigen zonder dat de gebruiker opnieuw toestemming geeft. De NSA beschrijft hoe een malafide server zichzelf bij eerste gebruik als onschuldig presenteert en pas bij tweede aanroep het kwaadaardige gedrag activeert.
Waar het document tekortschiet
De NSA-analyse is sterk als waarschuwing maar onvolledig op vijf punten:
Identity en delegatie. Het document signaleert het probleem maar biedt geen uitwerking van delegated authority. Voor enterprise MCP zijn minimaal nodig: OIDC voor gebruikers, workload identity voor agents, token exchange voor gedelegeerde toegang, audience-restricted access tokens, en sender-constrained tokens.
Policy-based access control. RBAC is te grof voor dynamische agentworkflows. Toegang hangt af van gebruiker, agent, tool, resource, tenant, dataclassificatie, doel, tijd, locatie, risicoscore, en workflowstatus. Daarom is policy-based access control met engines als OPA of Cedar nodig, per toolaanroep een geautomatiseerd besluit.
Human approval. Een "allow/deny"-dialoog is geen adequate mitigatie. Bij frequente prompts ontstaat approval fatigue. Approval moet transaction-specifiek zijn, na parameterresolutie plaatsvinden, en cryptografisch gekoppeld aan de uiteindelijke actie. Een bruikbaar prompt is niet "GitHub access toestaan?" maar: "Publiceer architecture.md vanuit private repository X naar publieke repository Y, met workload identity Z."
Supply-chain. De NSA zegt "gebruik ondersteunde projecten." Dat is onvoldoende voor high-assurance omgevingen. Een MCP-server is uitvoerbare software met directe systeemtoegang. Nodig zijn: signed manifests, verified publishers, immutable tool identifiers, versie-pinning, SBOM, provenance attestations, en dependency scanning.
Transactieveiligheid. Het document noemt idempotency maar werkt rollback, compensating transactions en partial failure niet uit. Als een agent meerdere acties uitvoert en stap drie faalt, moet het systeem weten of stap één en twee teruggedraaid moeten worden.
Aanbevolen doelarchitectuur
De NSA stelt dat MCP alleen veilig is met een externe control plane. Die architectuur ziet er in de praktijk als volgt uit:
User/Agent (OIDC identity + device context)
↓
AI Gateway (rate limits, DLP, context policy)
↓
MCP Security Gateway (tool allowlisting, schema validation, message verification, output sanitation, trace)
↓
Policy Decision Point (RBAC + ABAC + ReBAC, data/action classification, risk policy)
↓
Capability Broker (short-lived credentials, token exchange, delegation controls)
↓
Isolated MCP Execution Zone (container/microVM, default-deny network, ephemeral FS, resource quotas)
↓
Approved tools
De MCP Security Gateway is de kerncomponent. MCP-clients verbinden niet rechtstreeks met MCP-servers. De gateway fungeert als Policy Enforcement Point en valideert identiteit, toolmanifest, parameterbeleid, dataclassificatie, approval, egress en observability.
Minimale toelatingscriteria voor productie
Voordat een MCP-use-case naar productie mag, moeten deze 15 voorwaarden aantoonbaar zijn ingevuld:
- Iedere gebruiker, agent, server en tool heeft een unieke identiteit
- Iedere toolaanroep wordt onafhankelijk geautoriseerd
- Tools krijgen alleen kortlevende, taakgebonden credentials
- Toolnamen worden niet dynamisch naar ongeverifieerde code geresolved
- Alle parameters worden syntactisch én semantisch gevalideerd
- Iedere tool draait geïsoleerd en met minimale netwerktoegang
- Muterende acties zijn idempotent of hebben compensating controls
- Outputs worden als onbetrouwbare input behandeld
- High-impact acties vereisen transaction-bound approval
- De volledige causale keten is auditbaar
- Er bestaat een inventory van servers, tools, versies, owners en datarechten
- Er is een kill switch en incidentresponsprocedure
- Toolupdates worden opnieuw beoordeeld op capabilities en rechten
- Er zijn limieten voor recursion, runtime, kosten en resourcegebruik
- Promptinjectiedetectie is niet de primaire beveiligingsbarrière
Implementatieroadmap
| Fase | Tijdlijn | Acties |
|---|---|---|
| Fase 1 | 30 dagen | Inventariseer MCP-clients en -servers. Blokkeer ongeautoriseerde MCP-servers. Classificeer tools op data- en actierisico. Schakel write-capabilities standaard uit. Implementeer centrale logging en trace IDs. Patch bekende kwetsbaarheden. Verbied token passthrough. |
| Fase 2 | 30-90 dagen | Bouw MCP Security Gateway. Integreer OIDC en workload identity. Implementeer policy-as-code. Introduceer sandboxing en default-deny egress. Voeg transaction-bound approvals toe. Richt interne registry met signed manifests in. SIEM-detectieregels. |
| Fase 3 | 90-180 dagen | Cryptografisch ondertekende request envelopes. Proof-of-possession tokens. Context- en output-classificatie. Automatiseer SBOM en provenance. Agent budgets en circuit breakers. Red teaming op toxic flows. Compensating transactions. |
Eindbeoordeling
| Dimensie | Score |
|---|---|
| Strategische relevantie | 9/10 |
| Dreigingsbeeld | 8/10 |
| Technische diepgang | 7/10 |
| Identity en autorisatie | 5/10 |
| Supply-chainbeveiliging | 6/10 |
| Operationele toepasbaarheid | 7/10 |
| Bruikbaarheid voor bestuurders | 8/10 |
| Bruikbaarheid als technische standaard | 6/10 |
De strategische implicatie
De belangrijkste conclusie uit het NSA-document is niet dat MCP onveilig is. Het is dat MCP in de huidige vorm afhankelijk blijft van implementatiediscipline en onvoldoende protocolgaranties biedt voor high-assurance omgevingen. Organisaties moeten geen losse MCP-servers toelaten, maar een beheerd MCP-platform bouwen waarin identiteit, capabilities, beleid, sandboxing, dataclassificatie, observability en supply-chainbeveiliging centraal worden afgedwongen.
Zonder zo'n control plane verandert MCP van "USB-C voor AI" in een universele privilege-escalatie- en data-exfiltratielaag.
Voor de Nederlandse overheid, die met BIO2 en NIS2 al zware compliance-eisen heeft, is dit document een early warning. Agentic AI komt eraan, en het fundament waarop deze agents communiceren is op dit moment een security gap van formaat. Het goede nieuws: wie nú de control plane bouwt, kan agentic AI wél veilig in productie nemen.
Dit artikel is gebaseerd op de NSA Cybersecurity Information Sheet "Model Context Protocol (MCP): Security Design Considerations for AI-Driven Automation" (mei 2026, U/OO/6030316-26) en het parallelle werk van OASIS CoSAI Workstream 4. Lees ook onze eerdere analyse van Zero Trust voor AI Agents.
AI & Security Intelligence
Wekelijkse nieuwsbrief met AI updates, security alerts en compliance inzichten, direct in uw inbox.
Security & AI Operating Model
Advisory met executiekracht
Van BIO2 en NIS2 tot EU AI Act, embedded in uw operating model, niet als extern project. Maandelijks opzegbaar, met assessments als bewijsvoering.