Sicherheit von WebMCP-Tools

Julia Pagnucco
Julia Pagnucco
Alexandra Klepper
Alexandra Klepper

Veröffentlicht am 9. Juni 2026

Erklärer Web Erweiterungen Chrome-Status Absicht
GitHub Ursprungstest Ursprungstest Ansicht Absicht, einen Test durchzuführen

Mit dem Web Model Context Protocol (WebMCP) können Sie strukturierte Tools für KI-Agenten erstellen und verfügbar machen, die im Browser ausgeführt werden, einschließlich Agenten, 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 Sequenz von Tokens behandeln, sind sie anfällig für indirekte Prompt-Injection, d. h. für das Einfügen schädlicher Anweisungen durch einen Angreifer. Unser Team hat dieses Dokument zur Toolsicherheit 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 verhindern, aber es ist unmöglich, die Sicherheit in einem Large Language Model (LLM) zu garantieren. Modelle sind probabilistischer Natur. Es gab bereits wiederholte Prompt-Injection-Angriffe auf Agentensysteme, die modernste LLMs verwenden, und die Häufigkeit 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.

Hinweise zu Annotationen verwenden

Beim Erstellen von Tools sollten Sie einige Hinweise hinzufügen:

  • Verwenden Sie untrustedContentHint bei Bedarf. Wenn ein Tool von Nutzern erstellte Inhalte (UGC) oder Daten aus externen Quellen zurückgibt, sollten Sie dem Tool untrustedContentHint hinzufügen. Dieses Feld kennzeichnet die Nutzlast explizit als nicht vertrauenswürdig, um die Integrität Ihrer Website zu schützen und dem Agenten zu signalisieren, dass diese Daten genauer geprüft werden müssen.
  • Verwenden Sie readOnlyHint für Tools, die den Status nicht ändern. So kann der Agent besser entscheiden, wann er Nutzer um Bestätigungen bitten soll.

Tools sorgfältig verfügbar machen

Die WebMCP-API document.modelContext.registerTool macht die Tool-Funktionalität nur für Agenten verfügbar. Standardmäßig können andere Websites oder Cross-Origin-iFrames Ihre Tools nicht beobachten oder mit ihnen interagieren.

Mit der Option exposedTo in registerTool können Sie den Zugriff auf Ihr Tool für ein Array bestimmter, sicherer Ursprünge gewähren. So wird Ihr Tool für diese Ursprünge verfügbar gemacht, wenn es auf Ihrer Website eingebettet ist und wenn Ihre Website auf diesem 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 Tool mit Lesezugriff wie getFavoriteProducts kann Informationen über einen Nutzer preisgeben. Sie sollten diese Tools nur für Websites verfügbar machen, mit denen Sie diese Daten sonst 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 gemacht werden, denen Sie vertrauen, wenn sie im Namen Ihres Nutzers handeln. Beispielsweise möchten Sie postComment möglicherweise für trustedExample.com verfügbar machen, aber nicht für evilExample.com.

Zeichenbudgets festlegen

Um die Einschränkungen für Agenten nicht zu überschreiten, sollten Sie prägnante Toolbeschreibungen und -ausgaben verwenden. Wir empfehlen die folgenden Zeichenbeschränkungen, um bessere Ergebnisse zu erzielen:

  • 500 Zeichen pro Toolbeschreibung
  • 150 Zeichen pro Parameterbeschreibung
  • 30 Zeichen pro Toolname und Parametername
  • 1.500 Zeichen pro Toolausgabe

Es ist wahrscheinlich, dass es zwischen den Agenten einige Unterschiede gibt. Möglicherweise müssen Sie Ihre Zeichenbudgets anhand des Nutzerfeedbacks anpassen.

Nächste Schritte

Wir forschen weiter und arbeiten daran, eine sichere Infrastruktur für das Agenten-Web zu schaffen. Beispielsweise wird derzeit über die Einwilligungsverwaltung zwischen den Parteien diskutiert. Der Spezifikationsentwurf enthält requestUserInteraction() , um bei der Toolausführung asynchron Nutzereingaben anzufordern.

Wie möchten Sie WebMCP in Ihrer Anwendung implementieren? Haben Sie weitere Bedenken, z. B. in Bezug auf die Sicherheit? Wenn Sie sich für den WebMCP-Ursprungstest registrieren, möchten wir Ihre Erfahrungen erfahren:

Wenn Sie einen Agenten erstellen, empfehlen wir Ihnen, die Sicherheitsüberlegungen für Agenten für WebMCP zu lesen.