Veröffentlicht am 9. Juni 2026
Mit dem Web Model Context Protocol (WebMCP) können Sie strukturierte Tools für KI-Agents erstellen und bereitstellen, die im Browser ausgeführt werden, einschließlich Agents, die von Erweiterungen unterstützt werden. Ein Agent verwendet ein Large Language Model (LLM), Regeln, Speicher und Tools, um Aktionen im Namen des Nutzers auszuführen.
Da LLMs alle Texte, Anweisungen und Nutzerdaten als eine einzelne Folge von Tokens behandeln, sind sie anfällig für indirekte Prompt-Injection, bei der ein Angreifer schädliche Anweisungen einfügt. Unser Team hat dieses Dokument zur Sicherheit von Tools verfasst, um Sie dabei zu unterstützen, Ihre Website und Ihre Nutzer vor böswilligen Akteuren zu schützen.
Einige Modelle haben zwar Ebenen, die Prompt-Injection-Angriffe abwehren, aber es ist unmöglich, die Sicherheit in einem Large Language Model (LLM) zu garantieren. Modelle sind probabilistischer Natur. Es ist wichtig, sich daran zu erinnern, dass es wiederholbare Prompt-Injection-Angriffe gegen agentische Systeme gab, die modernste LLMs verwenden, und die Verbreitung von Angriffen im Web nimmt zu.
Um diesen Bedenken Rechnung zu tragen, haben wir vorläufige Richtlinien zur Sicherheit für Entwickler von Tools mit WebMCP bereitgestellt.
Annotationstipps verwenden
Beim Erstellen von Tools sollten Sie einige Hinweise hinzufügen:
untrustedContentHintverwenden, wenn es angebracht ist: Wenn ein Tool von Nutzern erstellte Inhalte (UGC) oder extern bezogene Daten zurückgibt, sollten Sie dem Tool die AnnotationuntrustedContentHinthinzufügen. In diesem Feld wird die Nutzlast explizit als nicht vertrauenswürdig gekennzeichnet, um die Integrität Ihrer Website zu schützen und dem Agent ein Signal zu geben, dass diese Daten einer erhöhten Prüfung bedürfen.- Verwenden Sie
readOnlyHintfür Tools, die den Status nicht ändern. So kann der Agent besser entscheiden, wann Nutzerbestätigungen erforderlich sind.
Tools sorgfältig bereitstellen
Die WebMCP document.modelContext.registerTool API stellt die Funktionalität des Tools nur für Agents bereit. Standardmäßig können andere Websites oder ursprungsübergreifende iFrames Ihre Tools nicht beobachten oder mit ihnen interagieren.
Sie können mit der Option exposedTo in registerTool Zugriff auf Ihr Tool für eine Reihe bestimmter, sicherer Ursprünge gewähren. Dadurch wird Ihr Tool für diese Ursprünge verfügbar, wenn es auf Ihrer Website eingebettet ist und wenn Ihre Website in diesen Ursprung eingebettet ist.
// https://partner.org
document.modelContext.registerTool({
name: 'my_shared_tool',
description: 'Shared across origins',
// ...
}, {
exposedTo: ['https://trusted.com', 'https://example.com']
});
Machen Sie Ihre Tools nur für Ursprünge verfügbar, denen Sie vertrauen. Das ist besonders wichtig, wenn Tools Nutzerdaten verwalten oder sich anderweitig auf den Nutzer auswirken.
- Ein schreibgeschütztes Tool wie
getFavoriteProductskann Informationen über einen Nutzer preisgeben. Sie sollten diese Tools nur für Websites verfügbar machen, mit denen Sie diese Daten auch direkt teilen würden. - Tools mit Lese- und Schreibzugriff führen Aktionen im Namen eines Nutzers aus. Diese Tools sollten nur für Ursprünge verfügbar sein, die Sie als vertrauenswürdig einstufen, wenn sie im Namen Ihres Nutzers agieren. Sie möchten beispielsweise
postCommentfürtrustedExample.comverfügbar machen, aber nicht fürevilExample.com.
Zeichenbudgets festlegen
Um die Richtlinien für KI-Agenten nicht zu verletzen, sollten Sie prägnante Tool-Beschreibungen und ‑Ausgaben schreiben. Für bessere Ergebnisse empfehlen wir die folgenden Zeichenlimits:
- 500 Zeichen pro Toolbeschreibung
- 150 Zeichen pro Parameterbeschreibung
- 30 Zeichen pro Tool- und Parametername
- Beschränkung auf 1.500 Zeichen pro einzelner Tool-Ausgabe
Es ist wahrscheinlich, dass es Unterschiede zwischen den Agents gibt. Möglicherweise möchten Sie Ihr Zeichenbudget anhand des Nutzerfeedbacks anpassen.
Nächste Schritte
Wir forschen weiter und arbeiten daran, eine sichere Infrastruktur für das agentische Web zu schaffen. Es gibt beispielsweise eine laufende Diskussion über die Einwilligungsverwaltung zwischen den Parteien und der Spezifikationsentwurf enthält requestUserInteraction(), um bei der Ausführung des Tools asynchron Nutzereingaben anzufordern.
Wie planen Sie, WebMCP in Ihrer Anwendung zu implementieren? Haben Sie andere Bedenken, z. B. in Bezug auf die Sicherheit? Wenn Sie sich für den WebMCP-Ursprungstest anmelden, möchten wir mehr über Ihre Erfahrungen erfahren:
- Sie können Feedback zur API geben, indem Sie einen Kommentar zu einem vorhandenen Problem hinterlassen oder ein neues Problem im WebMCP-Explainer auf GitHub erstellen.
- Wenn Sie Feedback zur Implementierung in Chrome haben, melden Sie einen Chromium-Fehler.
- Nehmen Sie am Early-Access-Programm teil, um sich neue APIs anzusehen und Zugriff auf unsere Mailingliste zu erhalten.
- Informationen zur Implementierung für Chrome finden Sie unter Chrome-Status.
Wenn Sie einen Agenten erstellen, empfehlen wir Ihnen, die Sicherheitsaspekte für Agenten für WebMCP zu lesen.