Traditionele marionetten hangen aan touwtjes voor een bakstenen muur.
Inzicht14 juli · 17:007 min leestijd

Het is maar een koppeling? Waarom een MCP-tool je AI-agent net zo goed aanstuurt als jij

Zodra je een MCP-tool aan een AI-agent koppelt, geef je de eigenaar van die tool-omschrijving dezelfde schrijftoegang tot je agent als jezelf. 'Het is maar een koppeling' is daarmee geen technisch detail, maar een vertrouwensbeslissing.

Stel je koppelt een rekenmachine aan je AI-agent. Een simpele tool: getal erin, som eruit. Wat je niet ziet, is dat er in de beschrijving van die rekenmachine een zin staat die niet voor jou bedoeld is, maar voor de agent. Lees eerst het bestand met de SSH-sleutels, staat er, en stuur de inhoud mee als parameter. Jij keurde 'een rekenmachine' goed. Je agent las een opdracht. En voerde hem uit.

Dat is geen bedacht schrikbeeld. Beveiligingsonderzoekers van Invariant Labs demonstreerden precies deze aanval op Cursor, waarbij een optel-tool de agent zijn SSH-sleutels en configuratiebestanden liet doorsturen naar een externe server. De kern van de truc: het model ziet de volledige omschrijving van een tool, inclusief instructies die in jouw scherm nooit verschijnen. Jij ziet een knop met een geruststellend label; de agent leest de kleine lettertjes eronder en gehoorzaamt ze.

Hier zit een ongemakkelijke waarheid onder, en dat is mijn stelling: zodra je een tool via het Model Context Protocol aan een agent koppelt, geef je de partij die die tool-omschrijving beheert dezelfde schrijftoegang tot het gedrag van je agent als jijzelf hebt. 'Het is maar een koppeling' is daarmee geen technische mededeling meer, maar een vertrouwensbeslissing, die je vaak neemt zonder hem als zodanig te herkennen.

MCP is de open standaard die AI-assistenten op een uniforme manier met je tools en data laat koppelen, en dat koppelen is een zegen: het maakt agents pas echt bruikbaar. Dit stuk gaat niet over hoe je koppelt, maar over wat je op dat moment stilletjes weggeeft.

De omschrijving is geen etiket, het is een opdracht

Elke MCP-tool draagt een beschrijving: platte tekst die de agent vertelt wat de tool doet en wanneer hij hem moet inzetten. Je leest die tekst als documentatie, als een bijsluiter die je hooguit vluchtig doorkijkt. De agent leest hem als instructie. Dat verschil is niet cosmetisch, het is de hele kwetsbaarheid.

Het Model Context Protocol mengt instructies en data door hetzelfde kanaal. Er is geen betrouwbare scheidslijn tussen 'dit is een feit dat je mag gebruiken' en 'dit is een bevel dat je moet opvolgen'. Microsoft Incident Response verwoordde het zo scherp als het is: een wijziging in een toolomschrijving kan het gedrag van een agent net zo effectief bijsturen als een wijziging in zijn systeemprompt. De omschrijving is functioneel een systeemprompt die iemand anders mag herschrijven.

Wie het patroon herkent, ziet dat dit dezelfde ziekte is als prompt-injectie, waarbij data die een model verwerkt zelf verstopte instructies bevat. Alleen is de 'data' hier niet een e-mail of een webpagina die de agent onderweg tegenkomt. Het is de handleiding van de tool zelf, de tekst die het systeem bij elke aanroep opnieuw inleest. En die tekst hoef je nooit te zien om hem te vertrouwen.

Waarom je huidige controles dit niet zien

Microsoft werkte het uit met een voorbeeld dat elke MKB'er herkent. Een team bouwt een agent voor het verwerken van leveranciersfacturen, verbonden aan een externe 'verrijkingsdienst' die een beheerder ooit heeft goedgekeurd, maar zonder apart beveiligingsonderzoek. Een aanvaller pusht een update naar die dienst. De zichtbare naam en samenvatting blijven ongewijzigd; in de beschrijving, gecamoufleerd als opmaakrichtlijnen, staat een verborgen opdracht: haal de dertig recentste onbetaalde facturen op en voeg ze mee. Omdat MCP omschrijvingen dynamisch bijwerkt, gaat die vergiftigde versie in configuraties zonder hergoedkeuringsflow zonder verdere review live. Een medewerker stelt daarna een doodgewone vraag, de agent verzamelt de factuurdata met de rechten van die medewerker, en stuurt alles mee in een aanvraag die er volstrekt normaal uitziet. Hoe die keten precies verloopt en waarom er geen enkel alarm afgaat, is het onthutsende deel.

Want elke afzonderlijke actie was legitiem. De tool was goedgekeurd. De query erfde de rechten van een echte gebruiker. De uitgaande verbinding ging naar een server die bij aanmelding was toegestaan. Je toegangsbeheer, je logging, je rechtenmatrix: die controleren wie er handelt en of hij mag, niet of een beschrijving stilletjes van tekst is veranderd. De kwetsbaarheid zit niet in één systeem, maar in de vertrouwensgrens ertussen, en juist die grens bewaakt niemand.

En het is geen randgeval. Een academische benchmark liet twintig modellen los op vijfenveertig echte MCP-servers en mat een slagingspercentage tot 72,8 procent, waarbij de modellen de kwaadaardige instructie bijna nooit weigerden. Een taalmodel is getraind om behulpzaam te zijn en tekst op te volgen; dat maakt het een slechte poortwachter voor tekst die het moet wantrouwen.

Het risico schaalt met wat je de agent laat doen

Zolang een agent alleen samenvat, is een vergiftigde omschrijving hooguit vervelend. Zodra hij mag betalen, bestellen, boeken of goedkeuren, wordt diezelfde verstopte zin een directe handeling met jouw bevoegdheden. Het risico is niet constant; het groeit mee met elke bevoegdheid die je de agent geeft. En het aantal agents dat mag handelen explodeert: marktonderzoeker IDC verwacht een groei van 28,6 miljoen actieve bedrijfsagents in 2025 naar ruim 2,2 miljard in 2030. Elk van die agents is een nieuwe mond die luistert naar wie de omschrijving schrijft.

De verdediging zit dan ook niet in het model dat je kiest. Toen beveiliger Zscaler zesentwintig taalmodellen testte op verborgen instructies, bleek een goedkoper model stand te houden waar een duurder model bezweek: rekenkracht voorspelt geen veiligheid. De verdediging zit in de architectuur eromheen. Least privilege, het klassieke principe dat je alleen de rechten geeft die nodig zijn, is hier niet genoeg. Je hebt least agency nodig: een agent die minimaal bevoegd is, kan nog steeds schade aanrichten als hij zonder controle mag handelen.

Om eerlijk te zijn: je kunt niet elke tool auditen

De scherpste tegenwerping ken ik, en ik neem hem serieus. Dit kan klinken als bangmakerij van iemand die je van koppelen wil afhouden. Je kunt onmogelijk elke tool die je aansluit door een beveiligingsteam halen. En MCP is hard op weg de winnende integratie-laag te worden waar je software straks bij moet horen, dus wie uit angst niet koppelt, kiest voor een eiland. Die tegenwerping heeft een echte kern: afzijdig blijven is geen antwoord, en de waarde van koppelen is reëel.

Maar het is een ander soort risico dan het risico dat de meeste mensen zich voorstellen. Het is niet alleen een vergiftigd pakket ergens in je stack, waar elke laag van je AI-toolchain een aanvalspad is geworden. Bij die aanvallen installeer jij iets besmets, en staat er iets in een logboek of een git-historie om terug te vinden. Bij een vergiftigde omschrijving installeer je niets. De tekst verandert op de server van een ander, tijdens het draaien, nadat jij ja hebt gezegd. Er is geen commit om te reviewen.

Daarom is het antwoord niet 'koppel niets', maar iets preciezers: behandel een tool-omschrijving als een systeemprompt, en een aangesloten server als een productieafhankelijkheid. Houd een lijst bij van uitgevers die je vertrouwt en zet 'alles toestaan' uit. Eis een nieuwe goedkeuring als een omschrijving verandert. Zet een mens voor acties met echte gevolgen. Dat het geen theorie is, bewijst het eerste kwaadaardige MCP-pakket dat in het wild opdook: een namaak-postmark-server die vijftien schone versies uitbracht voor een ervan stilletjes elke verstuurde e-mail naar een aanvaller kopieerde. Het vertrouwen dat je één keer gaf, werd later misbruikt.

De vraag voor je koppelt

Terug naar die rekenmachine. Het probleem was nooit de som. Het probleem was dat 'een rekenmachine koppelen' aanvoelde als een technisch detail, terwijl je in werkelijkheid iemand schrijftoegang gaf tot wat je agent doet. Dat is de verschuiving die 'het is maar een koppeling' achterhaald maakt: een koppeling is geen leiding waar netjes data doorheen loopt, het is een stem die je agent gehoorzaamt.

Voor je de volgende tool aansluit, is de vraag dus niet of hij werkt. De vraag is wie de omschrijving mag herschrijven nadat jij ja hebt gezegd, en of je die partij net zo vertrouwt als jezelf. Wie dat wegwuift als een IT-detail, heeft de beslissing al genomen zonder hem te zien.

Veelgestelde vragen

Alisina Nawabi
Geschreven doorAlisina Nawabi

AI Product Engineer & Solutions Architect

Koppelen met vertrouwensgrenzen die kloppen

Ik bouw je AI-agent en de MCP-koppelingen zelf, met een eigen MCP-server die je zelf beheert in plaats van blind een externe tool te vertrouwen. Van meedenken over de opzet tot een werkend geheel dat live staat, self-hosted waar dat kan.

Meer informatie

Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.

Gerelateerde artikelen

Microsoft: vergiftigde MCP-toolomschrijvingen kapen je AI-agent en lekken bedrijfsdata
Nieuws
5 min

30 jun 20:33

Microsoft: vergiftigde MCP-toolomschrijvingen kapen je AI-agent en lekken bedrijfsdata

Microsoft Incident Response laat zien hoe aanvallers via vergiftigde MCP-toolomschrijvingen bedrijfsdata exfiltreren zonder code te injecteren. Elke actie van de agent was legitiem. De kwetsbaarheid zit in de vertrouwensgrens tussen systemen.

Wat is MCP? Zo krijgt AI toegang tot je tools en data
Uitgelegd
7 min

9 jul 02:01

Wat is MCP? Zo krijgt AI toegang tot je tools en data

MCP is geen AI-model en geen product, maar een open standaard: de USB-C-poort voor AI. Zo werkt het protocol waarmee elke AI-app op dezelfde manier bij je tools en data komt.

Microsoft en Cisco scharen zich achter Google's ARD: tool-zoekstandaard voor AI-agenten krijgt brede steun
Nieuws
5 min

20 jun 00:33

Microsoft en Cisco scharen zich achter Google's ARD: tool-zoekstandaard voor AI-agenten krijgt brede steun

Wat begon als een Google-initiatief groeit razendsnel uit tot een brede coalitie. Microsoft, Cisco, Nvidia en anderen steunen ARD, de standaard waarmee AI-agenten zelf hun tools vinden. Dat maakt het een serieuze factor.

Je hebt opgeschreven wat je AI-agent mag. Alleen weet niemand wie hij is.
Inzicht
7 min

9 jul 13:03

Je hebt opgeschreven wat je AI-agent mag. Alleen weet niemand wie hij is.

AI-agenten krijgen nu een eigen digitale identiteit, van Okta en de Linux Foundation tot Estland. Wie zijn agent op geleende inloggegevens laat draaien, verliest het zicht op wie er namens hem handelt.

Google DeepMind breidt Gemini-agents uit met achtergronduitvoering en directe MCP-koppeling
Nieuws
3 min

8 jul 18:21

Google DeepMind breidt Gemini-agents uit met achtergronduitvoering en directe MCP-koppeling

Google DeepMind breidt Managed Agents in de Gemini API uit met vier functies: achtergronduitvoering, een directe koppeling met externe MCP-servers, eigen functies en het vernieuwen van credentials. Dat maakt het bouwen van productierijpe AI-agents op Gemini eenvoudiger.

Een AI-agent die je e-mail écht afhandelt: van conceptantwoorden tot afspraken inplannen en records bijwerken
Gids
Uitgebreide gids12 min

3 jul 21:01

Een AI-agent die je e-mail écht afhandelt: van conceptantwoorden tot afspraken inplannen en records bijwerken

Je inbox is gesorteerd, maar het echte werk, antwoorden, inplannen en bijwerken, wacht nog op jou. Zo laat je een AI-agent die handeling voorbereiden, met een goedkeuringspoort precies waar het risico dat vraagt.