Opublikowano: 9 czerwca 2026 r., ostatnia aktualizacja: 1 września 2026 r.
| Film z wyjaśnieniem | Sieć | Rozszerzenia | Stan Chrome | Intencja |
|---|---|---|---|---|
| GitHub | Wyświetl | Zamiar przeprowadzenia eksperymentu |
Możesz używać protokołu Model Context Protocol (WebMCP) do tworzenia i udostępniania strukturalnych narzędzi agentom AI działającym w przeglądarce, w tym agentom opartym na rozszerzeniach. Agent wykorzystuje duży model językowy (LLM), reguły, pamięć i narzędzia do wykonywania działań w imieniu użytkownika.
Ponieważ LLM traktują cały tekst, instrukcje i dane użytkownika jako pojedynczy ciąg tokenów, są podatne na pośrednie wstrzykiwanie promptów, czyli dodawanie przez atakującego złośliwych instrukcji. Nasz zespół przygotował ten dokument dotyczący bezpieczeństwa narzędzi, aby pomóc Ci chronić witrynę i użytkowników przed nieuczciwymi podmiotami.
Niektóre modele mają warstwy, które zapobiegają wstrzykiwaniu promptów, ale nie można zagwarantować bezpieczeństwa w dużym modelu językowym (LLM). Modele mają charakter probabilistyczny. Pamiętaj, że w przypadku systemów agentowych, które korzystają z najnowocześniejszych LLM, dochodziło już do powtarzalnych ataków typu wstrzykiwanie promptów.Częstość występowania ataków w internecie rośnie.
Aby rozwiać te obawy, udostępniliśmy wstępne wskazówki dotyczące bezpieczeństwa dla osób, które tworzą narzędzia za pomocą WebMCP.
Korzystanie z podpowiedzi dotyczących adnotacji
Podczas tworzenia narzędzi warto dodać kilka wskazówek:
- W razie potrzeby użyj
untrustedContentHint. Jeśli narzędzie zwraca treści generowane przez użytkowników lub dane pochodzące z zewnętrznych źródeł, rozważ dodanie do niego ikonyuntrustedContentHint. To pole wyraźnie oznacza ładunek jako niezaufany, co pomaga chronić integralność witryny, a jednocześnie wysyła do agenta sygnał, że te dane wymagają większej uwagi. - Używaj
consequentialHintw przypadku działań o dużym znaczeniu lub nieodwracalnych. Jeśli wykonanie narzędzia powoduje istotne działania, takie jak rezerwacja podróży lub przelew pieniędzy, ustaw wartośćconsequentialHint: true, aby agent lub przeglądarka mogli poprosić użytkownika o potwierdzenie przed wykonaniem działania. - Używaj ikony
readOnlyHintw przypadku narzędzi, które nie zmieniają stanu. Dzięki temu agent może podejmować lepsze decyzje dotyczące tego, kiedy prosić użytkownika o potwierdzenie.
Udostępniaj narzędzia z rozwagą
Interfejs WebMCP document.modelContext.registerTool udostępnia agentom tylko funkcje narzędzia. Domyślnie inne witryny lub ramki iframe ze współdzieleniem nie mogą obserwować Twoich narzędzi ani wchodzić z nimi w interakcje.
Możesz przyznać dostęp do narzędzia za pomocą opcji exposedTo w registerTool do wielu konkretnych, bezpiecznych punktów początkowych. Dzięki temu narzędzie jest dostępne dla tych domen, gdy jest osadzone w Twojej witrynie, a Twoja witryna jest osadzona w tej domenie.
// https://partner.org
await document.modelContext.registerTool({
name: 'my_shared_tool',
description: 'Shared across origins',
// ...
}, {
exposedTo: ['https://trusted.com', 'https://example.com']
});
Udostępniaj narzędzia tylko zaufanym domenom. Jest to szczególnie ważne w przypadku narzędzi, które zarządzają danymi użytkowników lub w inny sposób wpływają na użytkowników.
- Narzędzie tylko do odczytu, takie jak
getFavoriteProducts, może ujawniać informacje o użytkowniku. Udostępniaj te narzędzia tylko witrynom, którym w inny sposób udostępniasz te dane. - Narzędzia z uprawnieniami do odczytu i zapisu wykonują działania w imieniu użytkownika. Te narzędzia powinny być udostępniane tylko źródłom, które uznasz za zaufane, gdy działają w imieniu użytkownika. Możesz na przykład udostępnić
postCommentwitrynietrustedExample.com, ale nie witrynieevilExample.com.
Ustawianie budżetów znaków
Aby uniknąć ograniczeń agenta, pisz zwięzłe opisy narzędzi i dane wyjściowe. Aby uzyskać lepsze wyniki, zalecamy stosowanie tych limitów znaków:
- 500 znaków na opis narzędzia
- 150 znaków na opis parametru
- 30 znaków na nazwę narzędzia i nazwę parametru
- Limit 1500 znaków na dane wyjściowe poszczególnych narzędzi
Prawdopodobnie między agentami występują pewne różnice, dlatego możesz dostosować limity znaków na podstawie opinii użytkowników.
Dalsze kroki
Nadal prowadzimy badania i pracujemy nad stworzeniem bezpiecznej infrastruktury dla sieci agentowej. Na przykład trwa dyskusja na temat zarządzania zgodą między różnymi podmiotami, a wersja robocza specyfikacji zawiera requestUserInteraction(), które umożliwiają asynchroniczne żądanie danych wejściowych użytkownika podczas wykonywania narzędzia.
Jak planujesz wdrożyć WebMCP w swojej aplikacji? Czy masz inne obawy, dotyczące bezpieczeństwa lub nie? Jeśli zarejestrujesz się w programie testów origin WebMCP, chcemy poznać Twoje wrażenia:
- Podziel się opinią o kształcie interfejsu API, komentując istniejący problem lub otwierając nowy w wyjaśnieniu WebMCP na GitHubie.
- Jeśli masz uwagi na temat implementacji Chrome, zgłoś błąd w Chromium.
- Dołącz do programu wcześniejszego dostępu, aby jako jeden z pierwszych poznać nowe interfejsy API i uzyskać dostęp do naszej listy mailingowej.
- Sprawdź implementację Chrome na stronie Chrome Status.
Jeśli tworzysz agenta, zapoznaj się z artykułem Wskazówki dotyczące bezpieczeństwa agentów w przypadku WebMCP.