## ¿Qué es web-bot-auth?

Web-bot-auth es un estándar emergente para que los agentes de IA prueben su identidad usando firmas criptográficas de mensajes HTTP (RFC 9421). En lugar de depender de cadenas User-Agent — que pueden falsificarse — los agentes firman sus solicitudes con una clave privada. Los sitios verifican la firma contra una clave pública publicada.

## Por qué importa

La detección por User-Agent ya no es confiable:

- **El Agent Mode de ChatGPT** usa un UA falso de Chrome (`Chrome/138.0.0.0`) — indistinguible de un navegador solo por el UA
- **Perplexity** ejecuta rastreadores sigilosos (3-6M solicitudes/día) con UAs genéricos de Chrome
- **Google-Agent** usa cadenas estándar de UA de Chrome

La industria se está moviendo hacia la identidad criptográfica. OpenAI, Google, Cloudflare, Shopify, Vercel y Visa respaldan este enfoque. La estandarización en el IETF está en curso.

## Qué verifica AgentGrade

**Directorio de firmas publicado** — Verificamos `/.well-known/http-message-signatures-directory`. Esta es la ubicación estándar donde un sitio publica su identidad de agente y las claves públicas que se pueden usar para verificar sus solicitudes firmadas.

**Miembros declarados** — El directorio debe contener un arreglo `members` que liste las identidades de agente (por ejemplo, "ChatGPT", "GoogleAgent") que el sitio reconoce o como las que actúa.

**Claves públicas disponibles** — Cada miembro debe tener un `publicKeyUrl` que apunte a una clave pública obtenible para verificar firmas.

## Cómo implementarlo

Publica un archivo JSON en `/.well-known/http-message-signatures-directory`:

```json
{
  "members": [
    {
      "name": "my-agent",
      "publicKeyUrl": "https://example.com/.well-known/keys/agent.pub"
    }
  ]
}
```

Para verificar solicitudes firmadas entrantes de agentes conocidos (como ChatGPT), usa el paquete npm `web-bot-auth`:

```bash
npm install web-bot-auth
```

## Directorios de agentes conocidos

| Agente | URL del directorio |
|-------|---------------|
| ChatGPT | `https://chatgpt.com/.well-known/http-message-signatures-directory` |

## Más información

- [RFC 9421: HTTP Message Signatures](https://www.rfc-editor.org/rfc/rfc9421)
- [Paquete web-bot-auth en npm](https://www.npmjs.com/package/web-bot-auth)
- [Blog de Cloudflare: web-bot-auth](https://blog.cloudflare.com/web-bot-auth/)
- [Implementación de SeatGeek](https://chairnerd.seatgeek.com/chasing-signature/)

## Relacionado

- [A2A](/kb/es/a2a)
- [SKILL.md](/kb/es/skills)
