E16 · Vector del draft
3 minEjecuta el bloque vector.
Listo cuando: vetor E.2.1: confere y saída: 0.
Clase 6 · 18 min
User-Agent lo puede escribir cualquiera. Web Bot Auth es la propuesta del IETF para que el bot firme cada solicitud con una clave publicada en una URL suya. Todavía es un borrador (-00, septiembre de 2026). En esta clase compruebas una firma contra el vector del draft y ves en un servidor local qué prueba y qué no prueba.
Comenzar la clase
Objetivo: comprobar una firma Web Bot Auth con el vector del draft y verificar solicitudes firmadas en un servidor local, sabiendo lo que la firma no prueba.
draft-ietf-webbotauth-httpsig-protocol-00 (1 de septiembre de 2026). Haz clic en cada etapa.
Borrador de grupo del IETF (Cloudflare y Google), expira el 5 de marzo de 2027. No es un RFC.
Apéndice E.2.1: Ed25519 con la clave de prueba pública del RFC 9421 (B.1.4). Solo node:crypto, ningún paquete.
cd ~/projetos/formacao-webmcp-seguranca-v72/kit node scripts/wba.mjs vetor; echo "saída: $?"
== node v24.13.0 · draft-ietf-webbotauth-httpsig-protocol-00 (01/09/2026) keyid calculado: poqkLGiymh_W0uP6PZFw-dvez3QJT5SolqXBCW38r0U · confere assinatura: RdNFx5Bj6au3YgAMQL/RzmUl… · confere vetor E.2.1: confere saída: 0
Ed25519 es determinista: misma clave y misma base dan la misma firma. Si tu implementación rehace el vector, está armando la base de firma como lo hace el draft. La clave de prueba nunca va a producción (anexo C.12 del draft).
Clave nueva en cada ejecución. El origen ya tiene el directorio del agente, como lo permite el draft (§4.4); nada sale de tu máquina.
cd ~/projetos/formacao-webmcp-seguranca-v72/kit node scripts/wba.mjs demo; echo "saída: $?"
== node v24.13.0 · draft-ietf-webbotauth-httpsig-protocol-00 (01/09/2026) · origem http://127.0.0.1:36913 1 · sem assinatura → anônimo: sem assinatura (a política do site decide) 2 · assinado, válido → identificado: https://agente.exemplo (chave gw6T0rIc…) 3 · mesma assinatura em outro caminho → recusado: assinatura não confere 4 · assinatura vencida → recusado: assinatura vencida 5 · chave que a origem não conhece → recusado: chave desconhecida para https://agente.exemplo 6 · replay dentro da validade → identificado: https://agente.exemplo (chave gw6T0rIc…) 7 · assinatura mínima (só @authority) usada em /admin → identificado: https://agente.exemplo (chave gw6T0rIc…) 7/7 casos como esperado · replay dentro da validade: aceito saída: 0
Los casos 6 y 7 son la advertencia del draft (§5.2): dentro de la validez, quien vio el pedido puede repetirlo; y una firma que cubre solo @authority vale para cualquier ruta del sitio. Por eso: validez corta y @method + @path cubiertos, y el origen puede exigir esos componentes.
Desde el 1 de julio de 2026, los agentes firmados con Web Bot Auth cuentan como Verified, con un campo nuevo: Direct (un solo operador) o Intermediary (servicio que muchos usuarios comandan).
En Intermediary, puedes confiar en el operador y no en cada usuario que dirige el agente. Cloudflare lo llama confianza transitiva.
Anónimo sigue existiendo: firmar es decisión del bot. Escribe tu política para los tres casos: anónimo, firmado y conocido, firmado y desconocido.
robots.txt dice para qué finalidad puede venir cada bot; la firma dice quién es. El robots a fondo es de la Formación inemaSEO.
Verificar y decidir.
Ejecuta el bloque vector.
Listo cuando: vetor E.2.1: confere y saída: 0.
Ejecuta el bloque demo y explica, en una frase cada uno, por qué se aceptaron los casos 6 y 7.
Listo cuando: 7/7 casos como esperado · replay dentro da validade: aceito.
Crea politica-bots.md con tres líneas, una por caso, que empiecen por anônimo:, assinado e conhecido: y assinado e desconhecido:, cada una con lo que hace el sitio (permitir, limitar, bloquear, en qué páginas). Los prefijos quedan en portugués porque el comando de verificación los busca.
Listo cuando: grep -c -E "^(anônimo|assinado e conhecido|assinado e desconhecido):" politica-bots.md → 3.
Pregunta 1 de 4
¿Qué prueba una firma Web Bot Auth válida?competencia
Pregunta 2 de 4
¿Por qué se aceptó la firma mínima (solo @authority) en /admin en el caso 7?
Pregunta 3 de 4
¿Cuál es el estado de Web Bot Auth el 19 de octubre de 2026?
Pregunta 4 de 4
En Cloudflare, ¿qué cambia cuando el agente es Intermediary?
Elige una alternativa. La explicación aparece después de tu intento.