Förklaring
MCP och säkerhet – vad behöver kontrolleras?
Model Context Protocol, eller MCP, beskriver hur en AI-klient kan ansluta till verktyg och resurser. En server kan exempelvis göra vissa funktioner i ett befintligt API tillgängliga för en agent.
Det kan förenkla anslutningen. Men stöd för protokollet är inte i sig ett besked om att en viss integration är säker. Det beror också på hur klienten, servern och de anslutna systemen är konfigurerade.
Vad tillför protokollet?
Klienten behöver ett sätt att upptäcka vilka verktyg som finns, hur anropen ska se ut och vad servern svarar. MCP ger en gemensam struktur för detta. Det underliggande systemet behöver fortfarande egna regler för vem som får göra vad.
Anslutning, identitet och behörighet är olika frågor
Tre beslut behöver hållas isär: hur klienten ansluter, vilken identitet som gör anropet och vad den identiteten får göra. MCP löser inte automatiskt verksamhetens regler för vilka dokument en viss användare ska kunna läsa.
För fjärranslutna servrar med skyddade resurser beskriver MCP ett auktoriseringsflöde. Lokala servrar som startas som processer har andra förutsättningar: då blir även processens fil-, nätverks- och miljöåtkomst viktig. Alla MCP-anslutningar har alltså inte samma säkerhetsmodell.
Kontrollera åtkomsten bakom verktyget
Ett verktyg som heter read_document behöver kontrollera vilket dokument användaren får läsa och vilken information som får lämnas tillbaka. Namnet eller beskrivningen av verktyget säger inte vilka kontroller som faktiskt finns.
MCP:s säkerhetsdokumentation behandlar bland annat felaktig vidarebefordran av tokens, SSRF och minimering av behörigheter. Det illustrerar varför protokollstöd och säker implementation är två olika saker.
SSRF innebär här att en komponent kan luras att göra nätverksanrop till en adress den inte borde nå, exempelvis en intern tjänst. Token-problemet handlar bland annat om att acceptera och vidarebefordra behörighetsbevis som är utfärdade för en annan mottagare. Sådana kontroller behöver finnas i implementationen och infrastrukturen, inte lämnas åt språkmodellens bedömning.
Data får inte bli nya instruktioner
Ett dokument eller verktygssvar kan innehålla text som försöker styra agenten. Det behöver behandlas som obetrott innehåll, inte som rätt att ändra uppdraget eller skicka vidare information.
En instruktion till modellen att vara försiktig är därför bara en del av skyddet. Servern behöver själv neka otillåtna resurser och operationer. Ett godkännandesteg för en känslig handling bör inte kunna hoppas över genom att modellen väljer en annan formulering eller ett annat verktyg.
Frågor före en anslutning
- Vilken identitet används när ett verktyg anropas?
- Vilka resurser och operationer tillåts faktiskt?
- Kan servern nå interna adresser eller externa mottagare som den inte borde?
- Vilka handlingar kräver ett separat mänskligt godkännande?
När är MCP ett rimligt val?
MCP kan vara relevant när AI-klienter behöver ett gemensamt gränssnitt till verktyg eller resurser. För en enskild, förutsägbar integration kan ett direkt API-anrop vara enklare. Utgå från vad anslutningen ska lösa och vilka krav som gäller för informationen som hanteras.
Frågorna i texten är ett underlag för tekniska vägval. De ersätter inte en säkerhetsbedömning av den aktuella lösningen.
Källa
Mer läsning
Checklista
Innan en kodagent får tillgång till ditt repo
Vad får verktyget läsa, vad skickas vidare och vilka ändringar får det göra? Några saker att gå igenom innan en kodagent får åtkomst.
Perspektiv
AI-agenter behöver mer än en bra prompt
En bättre modell löser inte allt. Det behöver också vara tydligt vad agenten ska göra, vad den får röra och hur resultatet ska kontrolleras.