Xuất bản: Ngày 9 tháng 6 năm 2026, Lần cập nhật gần đây nhất: Ngày 1 tháng 9 năm 2026
| Video giải thích | Web | Phần mở rộng | Trạng thái của Chrome | Mục đích |
|---|---|---|---|---|
| GitHub | Xem | Ý định thử nghiệm |
Bạn có thể sử dụng Giao thức ngữ cảnh mô hình web (WebMCP) để tạo và hiển thị các công cụ có cấu trúc cho các tác nhân AI đang chạy trong tr��nh duyệt, bao gồm cả các tác nhân được hỗ trợ bởi tiện ích. Tác nhân sử dụng mô hình ngôn ngữ lớn (LLM), quy tắc, bộ nhớ và các công cụ để thực hiện hành động thay mặt cho người dùng.
Vì LLM coi tất cả văn bản, hướng dẫn và dữ liệu người dùng là một chuỗi m�� thông báo duy nhất, nên chúng dễ bị tiêm câu lệnh gián tiếp, tức là kẻ tấn công đưa vào các hướng dẫn độc hại. Nhóm của chúng tôi đã viết tài liệu này về tính bảo mật của công cụ để giúp bạn bảo vệ trang web và người dùng của mình khỏi những đối tượng xấu.
Mặc dù một số mô hình có các lớp giải quyết vấn đề chèn câu lệnh, nhưng không thể đảm bảo an toàn trong mô hình ngôn ngữ lớn (LLM). Các mô hình có bản chất xác suất. Bạn cần lưu ý rằng đã có các cuộc tấn công tiêm câu lệnh (prompt injection) lặp lại vào các hệ thống dựa trên tác nhân sử dụng LLM hiện đại, và tần suất các cuộc tấn công trên web đang gia tăng.
Để giải quyết những lo ngại này, chúng tôi đã cung cấp hướng dẫn sơ bộ về bảo mật cho những người xây dựng công cụ bằng WebMCP.
Sử dụng gợi ý chú thích
Bạn nên thêm một số gợi ý khi tạo công cụ:
- Sử dụng
untrustedContentHintkhi thích hợp. Nếu một công cụ trả về nội dung do người dùng tạo (UGC) hoặc dữ liệu từ nguồn bên ngoài, hãy cân nhắc việc thêmuntrustedContentHintvào công cụ đó. Trường này gắn nhãn rõ ràng cho tải trọng là không đáng tin cậy, để giúp bảo vệ tính toàn vẹn của trang web trong khi cung cấp tín hiệu cho tác nhân rằng dữ liệu này cần được giám sát chặt chẽ hơn. - Sử dụng
consequentialHintcho các hành động có mức độ rủi ro cao hoặc không thể đảo ngược. Nếu việc thực thi một công cụ dẫn đến các hành động quan trọng, chẳng hạn như đặt chuyến đi hoặc chuyển tiền, hãy đặtconsequentialHint: trueđể tác nhân hoặc trình duyệt có thể yêu cầu người dùng xác nhận trước khi thực thi. - Sử dụng
readOnlyHinttrên những công cụ không thay đổi trạng thái. Nhờ đó, tác nhân có thể đưa ra quyết định sáng suốt hơn về thời điểm yêu cầu người dùng xác nhận.
Cẩn thận khi để lộ các công cụ của bạn
API WebMCP document.modelContext.registerTool chỉ cung cấp chức năng của công cụ cho các nhân viên. Theo mặc định, các trang web khác hoặc iframe khác nguồn gốc không thể quan sát hoặc tương tác với các công cụ của bạn.
Bạn có thể cấp quyền truy cập vào công cụ của mình bằng lựa chọn exposedTo trong registerTool cho một loạt các nguồn gốc cụ thể, an toàn. Điều này cho phép những nguồn gốc đó truy cập vào công cụ của bạn khi được nhúng trên trang web của bạn và khi trang web của bạn được nhúng trên nguồn gốc đó.
// https://partner.org
await document.modelContext.registerTool({
name: 'my_shared_tool',
description: 'Shared across origins',
// ...
}, {
exposedTo: ['https://trusted.com', 'https://example.com']
});
Chỉ tiết lộ các công cụ của bạn cho những nguồn mà bạn tin tưởng. Điều này đặc biệt quan trọng khi các công cụ quản lý dữ liệu người dùng hoặc ảnh hưởng đến người dùng theo cách khác.
- Một công cụ chỉ đọc, chẳng hạn như
getFavoriteProducts, có thể tiết lộ thông tin về người dùng. Bạn chỉ nên cung cấp những công cụ này cho những trang web mà bạn sẽ chia sẻ trực tiếp dữ liệu này. - Các công cụ có quyền đọc và ghi sẽ hành động thay mặt cho người dùng. Bạn chỉ nên cung cấp những công cụ này cho những nguồn gốc mà bạn quyết định có thể tin tưởng khi thay mặt người dùng của bạn hành động. Ví dụ: bạn có thể muốn hiển thị
postCommentchotrustedExample.com, nhưng bạn không muốn hiển thị choevilExample.com.
Đặt ngân sách cho nhân vật
Để tránh gặp phải các quy tắc hạn chế của tác nhân, hãy viết nội dung mô tả và kết quả đầu ra ngắn gọn cho công cụ. Bạn nên sử dụng giới hạn ký tự sau đây để đạt được kết quả tốt hơn:
- 500 ký tự cho mỗi nội dung mô tả công cụ
- 150 ký tự cho mỗi nội dung mô tả tham số
- 30 ký tự cho mỗi tên công cụ và tên thông số
- Giới hạn 1.500 ký tự cho mỗi kết quả của công cụ
Có thể sẽ có một số điểm khác biệt giữa các đặc điểm, và bạn có thể muốn điều chỉnh ngân sách cho nhân vật dựa trên ý kiến phản hồi của người dùng.
Các bước tiếp theo
Chúng tôi sẽ tiếp tục nghiên cứu và nỗ lực xây dựng một cơ sở hạ tầng an toàn cho web dựa trên tác nhân. Ví dụ: hiện đang diễn ra cuộc thảo luận về việc quản lý sự đồng ý giữa các bên và bản nháp đặc tả bao gồm requestUserInteraction()hoạt đ��ng đầu vào của người dùng để yêu cầu người dùng nhập dữ liệu một cách không đồng bộ khi thực thi công cụ.
Bạn dự định triển khai WebMCP trong ứng dụng của mình như thế nào? Bạn có lo ngại nào khác về vấn đề bảo mật hay không? Nếu bạn đăng ký dùng thử bản dùng thử theo nguyên gốc WebMCP, chúng tôi muốn biết về trải nghiệm của bạn:
- Chia sẻ ý kiến phản hồi của bạn về hình dạng API bằng cách bình luận về một vấn đề hiện có hoặc mở một vấn đề mới trong phần giải thích WebMCP trên GitHub.
- Nếu bạn có ý kiến phản hồi về cách triển khai của Chrome, hãy báo cáo lỗi Chromium.
- Tham gia chương trình xem trước sớm để xem trước các API mới và truy cập vào danh sách gửi thư của chúng tôi.
- Xem xét việc triển khai cho Chrome trên trang Trạng thái của Chrome.
Nếu đang tạo một tác nhân, bạn nên đọc bài viết Những điểm cần cân nhắc về tính bảo mật của tác nhân đối với WebMCP.