MCP Veiligheidschecklist: AI-toolbeveiliging

Met de snelle verspreiding van AI-tools is het van cruciaal belang om hun veiligheid te waarborgen. Deze veiligheidschecklist is ontworpen om ontwikkelaars te helpen bij het identificeren en beperken van potentiële risico’s die verband houden met het Model Context Protocol (MCP), dat een cruciale brug is geworden tussen grote taalmodellen (LLM’s) en externe tools en gegevensbronnen.

Achtergrond

Deze veiligheidschecklist is opgesteld en wordt onderhouden door @SlowMist_Team, met als doel de veiligheid van het blockchain- en AI-ecosysteem te verbeteren. Dank aan FENZ.AI voor hun waardevolle bijdrage aan deze checklist.

Overzicht

Sinds de release eind 2024 is MCP op grote schaal toegepast in mainstream AI-toepassingen zoals Claude Desktop en Cursor. De snelle populariteit van MCP brengt echter ook nieuwe veiligheidsuitdagingen met zich mee. De huidige MCP-architectuur bestaat uit drie delen: de Host (de lokaal draaiende AI-toepassingsomgeving), de Client (de component die verantwoordelijk is voor de communicatie met de Server en de tool-aanroepen), en de Server (de server die overeenkomt met de MCP-plug-in). Gebruikers communiceren met AI via de Host, de Client analyseert en stuurt gebruikersverzoeken door naar de MCP-server, en voert tool-aanroepen of toegang tot resources uit. In scenario’s met meerdere instanties en componenten die samenwerken, brengt deze architectuur een reeks veiligheidsrisico’s met zich mee, vooral in gevoelige scenario’s zoals cryptocurrency-transacties of aangepaste LLM-plug-in-aanpassingen. Er zijn passende veiligheidsmaatregelen nodig om dit te beheren.

Daarom is het essentieel om een uitgebreide MCP-veiligheidschecklist op te stellen en te volgen. Deze checklist omvat de veiligheidsaspecten van de gebruikersinterface, clientcomponenten, service-plug-ins, mechanismen voor samenwerking tussen meerdere MCP’s en specifieke gebieden (zoals cryptocurrency-scenario’s), en is bedoeld om ontwikkelaars te helpen potentiële risico’s systematisch te identificeren en tijdig te voorkomen. Door deze veiligheidsmaatregelen te implementeren, kan de algehele stabiliteit en controleerbaarheid van het MCP-systeem effectief worden verbeterd, waardoor wordt gewaarborgd dat AI-toepassingen gelijke tred houden met de snelle ontwikkeling en dat de veiligheid synchroon wordt gewaarborgd.

Hoe te gebruiken

Deze checklist is gebaseerd op mogelijke risicopunten die zijn aangetroffen tijdens de audit van MCP-projecten en is bedoeld om ontwikkelaars te helpen de veiligheid van MCP-implementaties te waarborgen. We gebruiken 3 prioriteitsniveaus om het belang van de items aan te duiden:

  • 🟢️ Geeft een aanbevolen item aan, maar kan in specifieke gevallen worden weggelaten.
  • 🔶 Geeft een sterk aanbevolen item aan, maar kan in speciale gevallen worden weggelaten. Het weglaten kan een negatief effect hebben op de veiligheid.
  • 🟥️ Geeft een item aan dat in geen geval mag worden weggelaten. Het verwijderen van deze elementen kan leiden tot systeemfouten of beveiligingslekken.

MCP-server (MCP-plug-in) beveiliging

De MCP-service is een externe service die tools, resources en functies biedt voor AI-aanroepen. Het bevat doorgaans resources, tools en prompts. Hier zijn overwegingen om de MCP-server te beveiligen:

API-beveiliging

  • Inputvalidatie: 🟥️ Valideer alle API-inputs strikt om injectieaanvallen en illegale parameters te voorkomen. Dit omvat het valideren van datatype, lengte en formaat, en het opschonen en escapen van input.
  • API-snelheidsbeperking: 🔶 Implementeer snelheidsbeperkingen voor API-aanroepen om misbruik en aanvallen te voorkomen. Dit kan voorkomen dat kwaadwillende gebruikers de server overweldigen door een groot aantal verzoeken te verzenden.
  • Outputcodering: 🔶 Codeer API-outputs correct om cross-site scripting (XSS)-aanvallen te voorkomen. Dit omvat het coderen van outputs zoals HTML, JavaScript en URL’s.

Serverauthenticatie en -autorisatie

  • Toegangscontrole: 🟥️ Implementeer op rollen gebaseerde toegangscontrole om de toegang tot resources te beperken en het principe van minimale privileges te implementeren. Alleen geautoriseerde gebruikers hebben toegang tot specifieke resources.
  • Beheer van referenties: 🟥️ Beheer en bewaar service-credentials veilig, vermijd hardcoding en gebruik key management services. Dit omvat het gebruik van encryptie om credentials op te slaan en het regelmatig roteren van credentials.
  • Externe service-authenticatie: 🟥️ Authenticeer op een veilige manier bij services van derden. Dit omvat het gebruik van veilige protocollen zoals OAuth 2.0 of SAML.
  • Minimale privileges: 🔶 Serviceprocessen draaien met de minimaal benodigde privileges, waardoor het potentiële aanvalsoppervlak en het risico op privilege-escalatie worden verminderd. Dit betekent dat de service alleen de rechten mag hebben die nodig zijn om de functies uit te voeren.
  • API-sleutelrotatie: 🔶 Roteer API-sleutels en service-credentials regelmatig automatisch om de levensduur van sleutels te beperken. Dit kan het risico op sleutellekkage verminderen.
  • Service-authenticatie: 🔶 Bied een mechanisme voor tools om de service-identiteit te verifiëren, waardoor de client kan verifiëren en veilig kan gebruiken. Dit kan clients helpen verifiëren dat ze communiceren met een vertrouwde service.

Back-end persistentiecontrole

  • Levenscyclusbeheer: 🟥️ Implementeer strikt MCP-plug-in levenscyclusbeheer en synchroniseer met de client. Plug-ins moeten correct worden gestart en gestopt wanneer ze niet langer nodig zijn.
  • Afsluitingsopschoning: 🟥️ Forceer het opschonen van alle MCP-back-endprocessen wanneer de client wordt afgesloten. Dit kan voorkomen dat kwaadwillende plug-ins blijven draaien nadat de client is afgesloten.
  • Gezondheidscontrolemechanisme: 🔶 Controleer regelmatig de status van MCP-plug-ins om abnormale persistentie te identificeren. Dit kan helpen bij het identificeren van plug-ins die niet goed werken.
  • Back-end activiteitsbewaking: 🔶 Bewaak en registreer alle MCP-back-endactiviteiten. Dit kan helpen bij het identificeren van kwaadwillende activiteiten.
  • Activiteitenbeperking: 🔶 Beperk het type en de duur van de acties die MCP-plug-ins op de achtergrond kunnen uitvoeren. Dit kan de schade die door kwaadwillende plug-ins wordt veroorzaakt, verminderen.

Implementatie en runtime beveiliging

  • Geïsoleerde omgeving: 🟥️ Services draaien in een geïsoleerde omgeving (container, VM, sandbox) om escape te voorkomen en oost-west bewegingsaanvallen te voorkomen. Dit kan voorkomen dat kwaadwillende services andere services of systemen beïnvloeden.
  • Containerbeveiliging: 🟥️ Gebruik versterkte containerbeveiligingsconfiguraties en draai niet als root-gebruiker, implementeer onveranderlijke infrastructuur en runtime-bescherming. Dit kan de beveiliging van containers verbeteren.
  • Veilig opstarten: 🔶 Verifieer de integriteit van het service-opstartproces, implementeer een veilige opstartketen en integriteitscontroles. Dit kan voorkomen dat kwaadwillende services tijdens het opstarten worden geïnjecteerd.
  • Veiligheid van omgevingsvariabelen: 🔶 Gevoelige omgevingsvariabelen worden beschermd en niet gelekt in logboeken. Dit kan voorkomen dat kwaadwillende gebruikers toegang krijgen tot gevoelige informatie.
  • Resourcebeperkingen: 🔶 Implementeer resourcegebruiksbeperkingen om te voorkomen dat grote modellen grote cyclische herhaalde aanroepen maken wanneer er fouten optreden. Dit kan voorkomen dat kwaadwillende services systeemresources uitputten.

Code- en gegevensintegriteit

  • Integriteitsverificatiemechanisme: 🟥️ Gebruik mechanismen zoals digitale handtekeningen en hashcontroles om ervoor te zorgen dat de code niet is gewijzigd. Dit kan voorkomen dat kwaadwillende gebruikers de code wijzigen.
  • Remote verificatie: 🔶 Ondersteun een mechanisme voor het op afstand verifiëren van de code-integriteit. Dit stelt externe gebruikers in staat om te verifiëren of de code is gewijzigd.
  • Code-obfuscatie en -verharding: 🟢️ Pas code-obfuscatie en -verhardingstechnieken toe om reverse engineering moeilijker te maken. Dit kan het moeilijker maken voor kwaadwillende gebruikers om de code te begrijpen en te wijzigen.

Supply chain beveiliging

  • Afhankelijkheidsbeheer: 🟥️ Beheer afhankelijkheden van derden veilig. Dit omvat het volgen van afhankelijkheden, ervoor zorgen dat ze up-to-date zijn en scannen op kwetsbaarheden.
  • Pakketintegriteit: 🟥️ Verifieer de integriteit en authenticiteit van pakketten. Dit kan voorkomen dat kwaadwillende gebruikers kwaadaardige pakketten injecteren.
  • Bronverificatie: 🔶 Verifieer de bron van alle code en afhankelijkheden. Dit kan helpen ervoor te zorgen dat de code afkomstig is van een vertrouwde bron.
  • Buildbeveiliging: 🔶 Zorg ervoor dat het bouwproces veilig is. Dit omvat het gebruik van veilige bouwtools en het ervoor zorgen dat de bouwomgeving veilig is.

Monitoring en logging

  • Detectie van afwijkingen: 🟥️ Detecteer en rapporteer abnormale activiteitspatronen. Dit kan helpen bij het identificeren van kwaadwillende activiteiten.
  • Gedetailleerde logging: 🟥️ Registreer alle serviceactiviteiten en beveiligingsincidenten. Dit kan helpen bij het onderzoeken van beveiligingsincidenten.
  • Waarschuwingen voor beveiligingsincidenten: 🟥️ Configureer real-time waarschuwingen voor belangrijke beveiligingsincidenten. Dit kan helpen om tijdig te reageren op beveiligingsincidenten.
  • Gecentraliseerd logbeheer: 🔶 Verzamel en analyseer logboeken centraal. Dit kan een uitgebreider beeld geven van beveiligingsincidenten.
  • Logboekintegriteit: 🔶 Zorg voor de integriteit van logboeken om manipulatie te voorkomen. Dit kan voorkomen dat kwaadwillende gebruikers logboeken verwijderen of wijzigen.
  • Auditcapaciteit: 🔶 Ondersteun gedetailleerde audit- en incidentonderzoeken. Dit kan helpen bij het bepalen van de oorzaak van beveiligingsincidenten.

Isolatie van de aanroepende omgeving

  • Isolatie tussen MCP’s: 🟥️ Zorg voor operationele isolatie tussen meerdere MCP-services. Dit kan voorkomen dat een kwaadwillende MCP-service andere MCP-services beïnvloedt.
  • Toegangscontrole tot resources: 🟥️ Wijs expliciete grenzen voor toegangsrechten tot resources toe aan elke MCP-service. Dit kan de resources beperken die een kwaadwillende MCP-service kan openen.
  • Scheiding van toolrechten: 🔶 Tools in verschillende domeinen gebruiken verschillende sets rechten. Dit kan de schade die door kwaadwillende tools wordt veroorzaakt, verminderen.

Platformcompatibiliteit en beveiliging

  • Systeemresource-isolatie: 🟥️ Implementeer passende strategieën voor resource-isolatie op basis van de kenmerken van verschillende besturingssystemen. Dit kan voorkomen dat een kwaadwillende service andere services of systemen beïnvloedt.
  • Platformcompatibiliteitstests: 🔶 Test de consistentie van het veilige gedrag van MCP-services op verschillende besturingssystemen en clients. Dit kan ervoor zorgen dat de service veilig is op alle platforms.
  • Risicobeoordeling voor specifieke platforms: 🔶 Beoordeel de unieke beveiligingsrisico’s en mitigaties van specifieke platforms. Dit kan helpen bij het identificeren en beperken van beveiligingsrisico’s die specifiek zijn voor platforms.
  • Afhandeling van clientverschillen: 🔶 Zorg ervoor dat de beveiligingscontroles kunnen worden aangepast aan de verschillen in verschillende clientimplementaties. Dit kan ervoor zorgen dat de service veilig is met alle clients.

Gegevensbeveiliging en privacy

  • Dataminimalisatie: 🟥️ Verzamel en verwerk alleen de noodzakelijke gegevens. Dit kan het risico op datalekken verminderen.
  • Gegevensencryptie: 🟥️ Gevoelige gegevens worden gecodeerd tijdens opslag en transmissie. Dit kan voorkomen dat kwaadwillende gebruikers toegang krijgen tot gevoelige informatie.
  • Gegevensisolatie: 🟥️ De gegevens van verschillende gebruikers worden effectief geïsoleerd. Dit kan voorkomen dat kwaadwillende gebruikers toegang krijgen tot de gegevens van andere gebruikers.
  • Toegangscontrole tot gegevens: 🟥️ Implementeer strikte toegangscontrole tot gegevens. Dit kan de toegang tot gegevens beperken.
  • Identificatie van gevoelige gegevens: 🟥️ Identificeer en behandel gevoelige gegevens automatisch op een speciale manier. Dit kan helpen voorkomen dat gevoelige gegevens lekken.

Resourcebeveiliging

  • Toegangscontrole tot resources: 🟥️ Implementeer fijne toegangscontrole tot resources. Dit kan de toegang tot specifieke resources beperken.
  • Resourcebeperkingen: 🔶 Beperk de grootte en het aantal afzonderlijke resources. Dit kan voorkomen dat kwaadwillende gebruikers systeemresources uitputten.
  • Veiligheid van resourcetemplates: 🔶 Zorg ervoor dat de parameters van resourcetemplates worden gevalideerd en opgeschoond. Dit kan voorkomen dat kwaadwillende gebruikers kwaadaardige code injecteren.
  • Markering van gevoelige resources: 🔶 Markeer en behandel gevoelige resources op een speciale manier. Dit kan helpen voorkomen dat gevoelige resources lekken.

Tool implementatie beveiliging

  • Veilige codeerpraktijken: 🟥️ Volg veilige codeerstandaarden en best practices. Dit kan het aantal kwetsbaarheden in de code verminderen.
  • Tool isolatie: 🟥️ Tool uitvoering in een gecontroleerde omgeving om systeemniveau impact te voorkomen. Dit kan voorkomen dat kwaadwillende tools andere services of systemen beïnvloeden.
  • Inputvalidatie: 🟥️ Valideer alle inputs van clients strikt. Dit kan voorkomen dat kwaadwillende gebruikers kwaadaardige code injecteren.
  • Tool rechtenbeheer: 🟥️ Elke tool heeft alleen de minimale rechten die nodig zijn om de taak te voltooien. Dit kan de schade die door kwaadwillende tools wordt veroorzaakt, verminderen.
  • Gegevensvalidatie: 🟥️ Valideer de gegevens die door de tool worden verwerkt, om injectie en manipulatie te voorkomen. Dit kan voorkomen dat kwaadwillende gebruikers kwaadaardige gegevens injecteren.
  • Beperkingen van toolgedrag: 🟥️ Beperk het bereik en het type acties dat de tool kan uitvoeren. Dit kan de schade die door kwaadwillende tools wordt veroorzaakt, verminderen.
  • Veiligheid van informatie die wordt geretourneerd door interfaces van derden: 🟥️ Verifieer of de informatie die door de interface wordt geretourneerd aan de verwachtingen voldoet en voeg de geretourneerde informatie niet rechtstreeks in de context in. Dit kan voorkomen dat kwaadwillende tools interfaces van derden misbruiken.
  • Foutafhandeling: 🔶 Handel fouten veilig af zonder gevoelige informatie te lekken. Dit kan voorkomen dat kwaadwillende gebruikers foutinformatie misbruiken.
  • Naamruimte isolatie: 🔶 Implementeer strikte naamruimte isolatie voor verschillende tools. Dit kan conflicten tussen tools voorkomen.

MCP-client / MCP-host beveiliging

De host is de omgeving waarin de AI-applicatie en de MCP-client draaien, en is het toegangspunt voor de eindgebruiker om met het AI-systeem te communiceren. De client is een component in de AI-applicatie die verantwoordelijk is voor de communicatie met de MCP-service, de afhandeling van context, tool-aanroepen en resultaatweergave. Hier zijn overwegingen voor het beveiligen van MCP-clients en -hosts:

Gebruikersinteractie beveiliging

  • Veilige gebruikersinterface: 🟥️ De gebruikersinterface geeft duidelijk het bereik van de rechten en potentiële effecten van AI-acties weer en biedt intuïtieve beveiligingsindicatoren. Dit kan gebruikers helpen de rechten te begrijpen die ze aan AI verlenen.
  • Bevestiging van gevoelige acties: 🟥️ Acties met een hoog risico (zoals het verwijderen van bestanden, het overmaken van geld) vereisen expliciete gebruikersbevestiging. Dit kan voorkomen dat gebruikers per ongeluk acties met een hoog risico uitvoeren.
  • Transparantie van rechtenaanvragen: 🟥️ Rechtenaanvragen geven duidelijk het doel en het bereik aan, waardoor gebruikers weloverwogen beslissingen kunnen nemen en overmatige autorisatie wordt vermeden. Dit kan gebruikers helpen de rechten te begrijpen die ze aan AI verlenen.
  • Visualisatie van acties: 🔶 Tool-aanroepen en gegevenstoegang zijn zichtbaar en controleerbaar voor gebruikers en bieden gedetailleerde actielogboeken. Dit kan gebruikers helpen te begrijpen welke acties AI uitvoert.
  • Informatie transparantie: 🔶 Tools moeten gebruikers toestaan om te bepalen of verborgen tags standaard worden weergegeven, zodat de context die gebruikers zien volledig en consistent is met de daadwerkelijke context die is gegenereerd en aangeroepen, en om te voorkomen dat kwaadaardige logica in verborgen tags aanwezig is.
  • Statusfeedback: 🔶 Gebruikers kunnen duidelijk de MCP-actie begrijpen die momenteel wordt uitgevoerd.

AI-controle en -bewaking

  • Actielogboek: 🟥️ Registreer alle belangrijke AI-acties en hun resultaten. Dit kan helpen bij het onderzoeken van beveiligingsincidenten.
  • Detectie van afwijkingen: 🔶 Detecteer abnormale patronen van tool-aanroepen of reeks aanvragen. Dit kan helpen bij het identificeren van kwaadwillende activiteiten.
  • Beperkingen van tool-aanroepen: 🔶 Implementeer frequentie- en aantallimieten voor tool-aanroepen. Dit kan voorkomen dat kwaadwillende gebruikers tools misbruiken.

Lokale opslagbeveiliging

  • Veilige opslag van credentials: 🟥️ Gebruik de systeem sleutelhanger of speciale gecodeerde opslag om authenticatie referenties te beschermen voor belangrijke credentials, ongeautoriseerde toegang te voorkomen. Dit kan voorkomen dat kwaadwillende gebruikers toegang krijgen tot credentials.
  • Isolatie van gevoelige gegevens: 🔶 Implementeer een gegevensisolatiemechanisme om gevoelige gebruikersgegevens afzonderlijk op te slaan en te verwerken van gewone gegevens. Dit kan voorkomen dat kwaadwillende gebruikers toegang krijgen tot gevoelige gegevens.

Applicatiebeveiliging

  • Applicatie integriteit: 🟥️ Verifieer de integriteit van applicaties en MCP-plug-ins om manipulatie te voorkomen. Dit kan voorkomen dat kwaadwillende gebruikers de applicatie wijzigen.
  • Updateverificatie: 🔶 Host applicatie updates worden geverifieerd met behulp van digitale handtekeningen. Dit kan ervoor zorgen dat updates afkomstig zijn van een vertrouwde bron.
  • Applicatie sandbox: 🟢️ Voer applicaties indien mogelijk uit in een sandbox-omgeving om de systeemtoegang te beperken. Dit kan de schade die door kwaadaardige applicaties wordt veroorzaakt, verminderen.

Clientauthenticatie en -autorisatie

  • Geforceerde authenticatie: 🟥️ Forceer authenticatie voordat u communiceert met een belangrijke MCP-service om anonieme toegang te voorkomen. Dit kan voorkomen dat ongeautoriseerde gebruikers toegang krijgen tot services.
  • OAuth implementatie: 🔶 Implementeer OAuth 2.1 of een latere versie correct, volg best practices en beveiligingsstandaarden. Dit kan ervoor zorgen dat authenticatie veilig is.
  • Statusparameters: 🔶 Implementeer statusparameters voor sommige webclients om CSRF-aanvallen te voorkomen, gebruik elke keer een unieke willekeurige waarde. Dit kan cross-site request forgery (CSRF)-aanvallen voorkomen.

MCP-tools en serverbeheer

  • MCP-toolverificatie: 🟥️ Verifieer de authenticiteit en integriteit van geregistreerde tools. Dit kan voorkomen dat kwaadaardige tools worden geregistreerd.
  • Veilige updates: 🟥️ De MCP-client controleert en past regelmatig beveiligingsupdates toe, en controleert of de bijgewerkte tools een kwaadaardige beschrijving bevatten. Dit kan ervoor zorgen dat tools up-to-date zijn en geen kwaadaardige code bevatten.
  • Functienaamvalidatie: 🟥️ Controleer op naamconflicten en potentiële kwaadaardige overschrijvingen voordat u tools registreert. Dit kan voorkomen dat kwaadaardige tools bestaande tools overschrijven.
  • Kwaadaardige MCP-detectie: 🟥️ Bewaak en identificeer de gedragspatronen van potentieel kwaadaardige MCP’s. Dit kan helpen bij het identificeren van kwaadaardige MCP’s.
  • MCP-tool naamgevingscontrole: 🔶 Gebruik naamruimten of unieke identifiers om naamconflicten te voorkomen. Dit kan conflicten tussen tools voorkomen.
  • Servicedirectory: 🔶 Onderhoud een geautoriseerde directory van vertrouwde MCP-services en -tools. Dit kan gebruikers helpen vertrouwde services te vinden.
  • Conflictoplossing: 🔶 Er zijn duidelijke regels om conflicten met tools van dezelfde naam op te lossen.
  • Domeinisolatie: 🔶 Tools van verschillende domeinen zijn van elkaar geïsoleerd om kruisbeïnvloeding te voorkomen.
  • Prioriteitsmechanisme: 🔶 Stel duidelijke regels voor functieprioriteit op om kwaadaardige overschrijving te voorkomen.
  • Versiebeheer: 🔶 Implementeer versiebeheer voor functies en tools om wijzigingen te detecteren.
  • Tool registratie- en deregistratiemechanisme: 🔶 Maak de tool registratie- en deregistratieprocessen duidelijk om de beveiligingsrisico’s van verouderde tools te voorkomen.
  • Conflict detectiemechanisme: 🔶 Detecteer en los functie- en resourceconflicten in multi-MCP-omgevingen op.
  • Tool classificatie: 🟢️ Classificeer tools op basis van gevoeligheid en risiconiveau.

Prompt veiligheid

  • Prompt injectie verdediging: 🟥️ Implementeer meerlagige verdediging maatregelen om prompt injectie aanvallen te voorkomen, inclusief handmatige verificatie van kritische uitvoering.
  • Detectie van kwaadaardige instructies: 🟥️ Creëer een mechanisme om potentiële kwaadaardige gebruikersinstructies te detecteren en te blokkeren, zodat het systeem niet wordt gemanipuleerd, zoals het detecteren en blokkeren van voorgeladen kwaadaardige instructies tijdens lokale initialisatie en kwaadaardige tools van MCP-servers van derden die verborgen schadelijke instructies bevatten.
  • Systeemprompt bescherming: 🟥️ Systeemprompts worden duidelijk gescheiden van gebruikersinvoer om manipulatie te voorkomen.
  • Filteren van gevoelige gegevens: 🟥️ Filter gevoelige persoonlijke gegevens uit prompts en context.
  • Context isolatie: 🔶 Zorg ervoor dat de context inhoud van verschillende bronnen van elkaar is geïsoleerd, om context vervuiling en informatie lekken te voorkomen.
  • Prompt templates: 🔶 Gebruik veilige prompt templates om het injectierisico te verminderen.
  • Tool beschrijving validatie: 🔶 Controleer de tool beschrijving op potentiële kwaadaardige instructies.
  • Prompt consistentie validatie: 🔶 Zorg ervoor dat dezelfde prompt consistente en voorspelbare resultaten oplevert in verschillende omgevingen.
  • Historisch contextbeheer: 🔶 Maak een duidelijk veilig opruim mechanisme voor historische context om het risico op informatielekken veroorzaakt door de accumulatie van oude gegevens te voorkomen.

Logboeken en audit

  • Client logboekregistratie: 🟥️ Registreer alle interacties met MCP-services, tool-aanroepen en autorisatie activiteiten.
  • Beveiligingsincident registratie: 🟥️ Registreer alle beveiligings gerelateerde incidenten, inclusief autorisatie mislukkingen.
  • Afwijkende waarschuwingen: 🔶 Detecteer en waarschuw bij afwijkende activiteitspatronen.

Servervalidatie en communicatiebeveiliging

  • Serverauthenticatie: 🟥️ Verifieer de identiteit van de MCP-server, voorkom verbinding met een kwaadaardige server en implementeer certificate pinning.
  • Certificaatvalidatie: 🟥️ Valideer TLS-certificaten van externe servers strikt om man-in-the-middle aanvallen te voorkomen en controleer de integriteit van de certificaatketen.
  • Communicatie encryptie: 🟥️ Alle client-server communicatie gebruikt TLS 1.2+ encryptie, en schakelt zwakke encryptie suites uit.
  • Veilige protocol configuratie: 🔶 Configureer veilige TLS-parameters en controleer en update regelmatig encryptie algoritmen en protocollen.

Opslag en beheer van machtigingstokens

  • Beperkingen van machtigingsbereik: 🟥️ Beperk het machtigingsbereik van tokens strikt en implementeer het principe van minimale rechten.

Automatische goedkeuringscontrole

  • Beperkingen voor automatische goedkeuring: 🟥️ Controleer strikt het bereik van tools en acties dat automatisch kan worden goedgekeurd.
  • Beheer van witte lijsten: 🔶 Definieer duidelijk het witte lijstmechanisme voor tools die automatisch kunnen worden goedgekeurd.
  • Dynamische risicobeoordeling: 🔶 Pas het beleid voor automatische goedkeuring dynamisch aan op basis van de context.
  • Controle van goedkeuringsproces: 🔶 Registreer en controleer alle beslissingen over automatische goedkeuring.

Sampling veiligheid

  • Beheer van context opname: 🟥️ Beheer strikt het contextbereik dat is opgenomen in sampling verzoeken.
  • Filteren van gevoelige gegevens: 🟥️ Filter gevoelige gegevens uit sampling verzoeken en antwoorden.
  • Validatie van sampling verzoeken: 🔶 Valideer alle sampling verzoek parameters en inhoud.
  • Gebruikers controle: 🔶 Zorg ervoor dat gebruikers duidelijke controle hebben over sampling verzoeken en resultaten.
  • Veiligheid van model voorkeuren: 🔶 Verwerk model voorkeur informatie veilig om misbruik te voorkomen.
  • Resultaatvalidatie: 🔶 Valideer of de sampling resultaten voldoen aan veiligheidsnormen.

MCP-aanpassing en aanroep veiligheid op verschillende LLM’s

Verschillende LLM-back-ends kunnen verschillen in de prioriteit en uitvoeringslogica van MCP-aanroepen, dus de veiligheid van de combinatie tussen LLM en MCP moet worden overwogen.

LLM veilige uitvoering

  • Prioriteitsfunctie uitvoering: 🟥️ Zorg ervoor dat LLM prioriteit kan geven aan de uitvoering van functies van de juiste plug-in.
  • Bescherming tegen kwaadaardige prompts: 🟥️ LLM kan het gedrag van injecteerde mnemotechnische vereisten herkennen en beschermen in scenario’s met kwaadaardige prompts.
  • Veilige aanroep: 🟥️ LLM kan de bijbehorende MCP-functies correct en veilig aanroepen.
  • Bescherming van gevoelige informatie: 🟥️ Voorkom het lekken van gevoelige informatie.

Multimodale veiligheid

  • Multimodale inhoud filtering: 🟥️ Filter schadelijke of gevoelige informatie (zoals kwaadaardige prompts in afbeeldingen) uit multimodale inhoud.

Multi-MCP scenario veiligheid

Wanneer meerdere MCP-servers tegelijkertijd zijn ingeschakeld, kunnen gebruikers kwaadaardige MCP’s installeren vanwege het ontbreken van officiële audits, wat een bedreiging vormt voor de algemene veiligheid.

  • Veilige multi-MCP omgeving: 🟥️ Zorg voor de algehele veiligheid van de multi-MCP omgeving en scan regelmatig de geïnstalleerde MCP’s.
  • Bescherming tegen kaping van functie prioriteit: 🟥️ Controleer op mogelijke kwaadaardige prompt presets om te voorkomen dat de functie prioriteit kwaadaardig wordt gekaapt.
  • Beheer van MCP-functie aanroep overschrijding: 🟥️ Beheer veilige MCP-functie aanroep overschrijding en voorkom dat kwaadaardige MCP’s kwaadaardige prompts retourneren om andere MCP’s aan te roepen om gevoelige acties uit te voeren.

Specifieke veiligheidspunten van cryptocurrency gerelateerde MCP’s

Cryptocurrency gerelateerde MCP’s hebben meestal de functie om cryptocurrency wallets te beheren en vormen een hoog risico.

  • Bescherming van privésleutels: 🟥️ Verbeter de veiligheidsbeschermingsmaatregelen voor privésleutels, zoals Scrypt.
  • Beveiliging van wallet generatie: 🟥️ Beveiliging van het mnemonic woord of wallet generatie proces.
  • Privacy van wallet informatie: 🟥️ Bescherm de privacy van wallet informatie en filter de wallet informatie die wordt aangevraagd bij interfaces van derden.
  • Bevestiging van overdrachtinformatie: 🟥️ De informatie van de keten- of exchange overdracht handtekening moet volledig worden weergegeven en bevestigd.
  • Validatie van fondsen operaties: 🟥️ Vereis een tweede validatie voor belangrijke fondsen operaties, zoals Google Authenticator.
  • Privacybescherming van lokale modellen: 🔶 Gebruik lokale grote modellen om privacygegevens te beschermen en te voorkomen dat externe grote modelfabrikanten gevoelige informatie zoals uw wallet informatie krijgen.
  • Compatibiliteit met traditionele wallets: 🔶 Veilige compatibiliteit met traditionele wallets, zoals ondersteuning voor ondertekenings operaties met traditionele wallets.