Trampa
Con trap.enabled (Trampa señuelo en el panel), el borde inserta antes de </body> de tus páginas HTML un bloque oculto (<div hidden aria-hidden="true" data-nosnippet>) con una nota breve en inglés y español dirigida a agentes de IA y un enlace rel="nofollow noindex" bajo /__waf/ai/t/.
- Las personas no lo ven. Es compatible con una Content Security Policy y no cambia la página en caché.
- Nunca se inserta para rastreadores verificados ni buscadores.
- Cada enlace lleva un token firmado que caduca a las 24 horas.
- Un cliente que lo sigue es automático: su IP y su huella TLS quedan marcadas 24 horas, se registra un evento
trap_hity a sus siguientes peticiones se les aplica la clavetrap_hitde la política.
Laberinto
Con tarpit.enabled (desactivado por defecto), la acción tarpit responde a las peticiones GET de HTML con un laberinto bajo /__waf/ai/l/: páginas baratas generadas en el borde, marcadas noindex, cada una con unos diez enlaces que van más hondo, servidas despacio y con límites por IP y globales. Tu origen nunca participa. Las peticiones que no son GET de HTML reciben 403.
El laberinto solo actúa en modo enforce y nunca con rastreadores verificados.
Activarlos
Control de rastreadores IA → Resumen → Configuración: Trampa señuelo → Insertar el enlace señuelo y Laberinto → Laberinto (tarpit). Después elige Laberinto como acción de una categoría, como Siguieron la trampa.
openwaf-cloud ctl zones set example.com ai_agents.trap.enabled=true ai_agents.tarpit.enabled=true \
ai_agents.policy.trap_hit=tarpit --reason "Trampa y laberinto para scrapers"{"ai_agents": {"trap": {"enabled": true}, "tarpit": {"enabled": true}, "policy": {"trap_hit": "tarpit"}}}ai_agents_settings con "patch": {"trap": {"enabled": true}, "tarpit": {"enabled": true}, "policy": {"trap_hit": "tarpit"}}.
El informe Trampas enseña la trampa a lo largo del tiempo y quién la siguió.