MCPGuard, ein automatisiertes Framework zur Prüfung, ob Software Development Kits (SDKs) für das Model Context Protocol (MCP) die Protokollspezifikation durchsetzen, identifizierte laut einem derzeit begutachteten Forschungspapier 13 Konformitätslücken im offiziellen Python-SDK und 19 im TypeScript-SDK. Die Autoren erklären, dass zwei Black-Box-Test-Baselines keinen der Befunde aufdeckten.

Das Framework verwendet zwei Analysepfade. Der eine vergleicht die Einschränkungen im MCP-JSON-Schema mit den Modellen im SDK-Code, während der andere Verhaltensanforderungen aus Spezifikationsdokumenten extrahiert und Sprachmodelle verwendet, um mögliche Auslassungen zu markieren. In einer weiteren Prüfungsphase wird der vollständige Quellcodekontext untersucht und es werden Proof-of-Concept-Tests erstellt, um zu prüfen, ob die vermuteten Lücken tatsächlich bestehen.

Die Forschenden berichten von 27 strukturellen und fünf verhaltensbezogenen Befunden in den SDKs. Generierte Proof-of-Concept-Tests reproduzierten sämtliche strukturellen Befunde; bei der Prüfung des vollständigen Implementierungskontexts blieben zwei verhaltensbezogene Befunde in Python und drei in TypeScript bestehen. Das Team gibt an, die Probleme den SDK-Verantwortlichen vertraulich gemeldet zu haben.

Das Papier beschreibt außerdem Tests mit 32 autorisierten öffentlichen MCP-Servern. Die Forschenden stellten fest, dass zwei gemeinsame Lücken bei der Validierung des URI-Formats nachgelagerte Dienste erreichen konnten: Alle 32 Endpunkte, die den Handshake abschlossen, akzeptierten beide fehlerhaften Metadatenfelder.

Die Autoren argumentieren, dass Prüfungen auf SDK-Ebene wichtig sind, weil Anwendungen, die auf einem SDK aufbauen, Einschränkungen übernehmen können, die von der Bibliothek nicht durchgesetzt werden. MCPGuard soll endpointorientierte Konformitätstests ergänzen, indem es prüft, wie Anforderungen aus der Spezifikation innerhalb von SDKs abgebildet und durchgesetzt werden.

Quellen: arXiv cs.AI.