Fecha de publicación: 9 de junio de 2026
| Video explicativo | Web | Extensiones | Estado de Chrome | Intención |
|---|---|---|---|---|
| GitHub | Ver | Intención de experimentar |
Puedes usar el Protocolo de contexto del modelo web (WebMCP) para compilar y exponer herramientas estructuradas a agentes de IA que se ejecutan en el navegador, incluidos los agentes con tecnología de extensiones. Un agente usa un modelo de lenguaje grande (LLM), reglas, memoria y herramientas para ejecutar acciones en nombre del usuario.
Como los LLM tratan todo el texto, las instrucciones y los datos del usuario como una sola secuencia de tokens, son susceptibles a la inyección indirecta de instrucciones, que es la inclusión de instrucciones maliciosas por parte de un atacante. Nuestro equipo escribió este documento sobre la seguridad de las herramientas para ayudarte a proteger tu sitio web y a tus usuarios de los actores maliciosos.
Si bien algunos modelos tienen capas que abordan la inyección de instrucciones, es imposible garantizar la seguridad dentro de un modelo de lenguaje grande (LLM). Los modelos son probabilísticos por naturaleza. Es importante recordar que se produjeron ataques repetibles de inyección de instrucciones contra sistemas de agentes que usan LLM de vanguardia, y la prevalencia de ataques en la Web está aumentando.
Para abordar estas inquietudes, proporcionamos orientación preliminar sobre la seguridad para quienes compilan herramientas con WebMCP.
Usa sugerencias de anotación
Hay algunas sugerencias que debes agregar cuando compiles tus herramientas:
- Usa
untrustedContentHintcuando corresponda. Si una herramienta muestra contenido generado por usuarios (CGU) o datos de fuentes externas, considera agregaruntrustedContentHinta la herramienta. Este campo etiqueta explícitamente la carga útil como no confiable para ayudar a proteger la integridad de tu sitio y, al mismo tiempo, proporcionar una señal al agente de que estos datos requieren un mayor escrutinio. - Usa
readOnlyHinten herramientas que no cambian de estado. Esto permite que el agente tome mejores decisiones sobre cuándo solicitar confirmaciones del usuario.
Expón tus herramientas con cuidado
La API de WebMCP document.modelContext.registerTool solo expone la funcionalidad de la herramienta a los agentes. De forma predeterminada, otros sitios web o iframes de origen cruzado no pueden observar ni interactuar con tus herramientas.
Puedes proporcionar acceso a tu herramienta con la
exposedTo opción en
registerTool a un array de orígenes seguros y específicos. Esto expone tu herramienta a esos orígenes cuando se incorporan en tu sitio y cuando tu sitio se incorpora en ese origen.
// https://partner.org
document.modelContext.registerTool({
name: 'my_shared_tool',
description: 'Shared across origins',
// ...
}, {
exposedTo: ['https://trusted.com', 'https://example.com']
});
Solo expón tus herramientas a orígenes en los que confíes. Esto es especialmente importante cuando las herramientas administran datos del usuario o afectan al usuario de alguna otra manera.
- Una herramienta de solo lectura, como
getFavoriteProducts, puede revelar información sobre un usuario. Solo debes exponer estas herramientas a los sitios web con los que compartirías directamente estos datos. - Las herramientas con acceso de lectura y escritura realizan acciones en nombre de un usuario. Estas herramientas solo deben exponerse a los orígenes que decidas que se pueden confiar cuando actúen en nombre de tu usuario. Por ejemplo, es posible que quieras exponer
postCommentatrustedExample.com, pero no aevilExample.com.
Establece presupuestos de caracteres
Para evitar los límites de los agentes, escribe descripciones y resultados de herramientas concisos. Te recomendamos los siguientes límites de caracteres para obtener mejores resultados:
- 500 caracteres por descripción de la herramienta
- 150 caracteres por descripción del parámetro
- 30 caracteres por nombre de la herramienta y nombre del parámetro
- Límite de 1,500 caracteres por resultado de herramienta individual
Es probable que haya alguna variación entre los agentes, y es posible que quieras ajustar tus presupuestos de caracteres con los comentarios de los usuarios.
Próximos pasos
Seguimos investigando y trabajando en la creación de una infraestructura segura para la Web de agentes. Por ejemplo, hay un debate en curso
sobre la administración del consentimiento
entre las partes, y el borrador de la especificación incluye
requestUserInteraction()
para solicitar de forma asíncrona la entrada del usuario en la ejecución de la herramienta.
¿Cómo planeas implementar WebMCP en tu aplicación? ¿Tienes otras inquietudes, de seguridad o de otro tipo? Si te registras en la prueba de origen de WebMCP, queremos conocer tu experiencia:
- Para compartir tus comentarios sobre la forma de la API, comenta un problema existente o abre uno nuevo en la explicación de WebMCP en GitHub.
- Si tienes comentarios sobre la implementación de Chrome, informa un error de Chromium.
- Únete al programa de vista previa anticipada para obtener una vista previa de las nuevas APIs y acceder a nuestra lista de distribución.
- Revisa la implementación de Chrome en el estado de Chrome.
Si compilas un agente, te recomendamos que leas Consideraciones de seguridad del agente para WebMCP.