Verifica que cada solicitud de webhook provenga realmente de Firecrawl comprobando su firma HMAC-SHA256. Esto evita que los atacantes falsifiquen la carga útil y te permite confiar en los datos antes de actuar en consecuencia.
Tu secreto de webhook está disponible en la pestaña Advanced de la configuración de tu cuenta. Cada cuenta tiene un secreto único que se utiliza para firmar todas las solicitudes de webhook.
Mantén tu secreto de webhook seguro y nunca lo expongas públicamente. Si crees que tu secreto se ha visto comprometido, regénéralo de inmediato desde la configuración de tu cuenta.
Cada solicitud de webhook incluye un encabezado X-Firecrawl-Signature:
- Extrae la firma del encabezado
X-Firecrawl-Signature
- Obtén el cuerpo sin procesar de la solicitud (antes de analizarlo)
- Calcula el HMAC-SHA256 usando tu clave secreta
- Compara las firmas usando una función de comparación segura frente al tiempo
- Verifica cada solicitud. Comprueba siempre la firma antes de procesar una carga útil de webhook. Rechaza cualquier solicitud que no supere la verificación con un código de estado
401.
- Usa comparaciones seguras en tiempo constante. Las comparaciones de cadenas estándar pueden filtrar información por temporización. Usa
crypto.timingSafeEqual() en Node.js o hmac.compare_digest() en Python.
- Expón tu endpoint a través de HTTPS. Esto garantiza que las cargas útiles de webhook estén cifradas durante la transmisión.