KamoCRM

Vet and pin every webhook target, return only failure categories, encrypt signing secrets

Fixkamo-shared-library
Cambia
14 de octubre de 2026 a las 16:15 UTC
Autor
Kamo
Comprometerse
e58f1a9

El trabajador de webhook de salida POSTed a cualquier URL un suscriptor almacenado, desde el interior del grupo, sin control de egresos - una suscripción dirigida a **************** or 169.254.169.254 got a signed POST on cada evento de tuberías. Luego guardó texto de excepción ("Rehusó la Convención", "Leer cronometrado", detalles TLS) y los DTO lo devolvieron, lo que hizo el par un oráculo para mapear la red de cápsulas. El secreto de firma se sentó en texto claro. Metas (WebhookTargetGuard, clase lisa): - Ahorra (crear/actualizar): https absolutas solamente, sin credenciales, un nombre de host PublicHostGuard considera público (o una IP literal pública) y TODAS las direcciones se resuelve a la ruptura pública. Fijo-texto IlegalArgumentException. - Antes de cada entrega: la sintaxis rige de nuevo, entonces el cliente resuelve el anfitrión una vez a través de PinnedPublicDns, deja caer direcciones no públicas y sólo se conecta a los sobrevivientes (sin ventana de rebinación; cheques SNI/cert sin cambios). Las redirecciones nunca son seguidas, ninguna ruta silenciosa retry, duro conectar/read/call deadlines; the response body is never read. - Se registra un objetivo rechazado y no se entrega. Failures (WebhookFailureCategory): sólo INVALID TARGET, BLOCKED ADDRESS, CONNECT FAILED, TIMEOUT, HTTP 3X/4X/5XX, SIGNING FAILED or OTHER are almacenado (el código de estado permanece en RESPONSE STATUS). Ambos DTO sanitise en leer, por lo que el texto libre de una fila heredada regresa como OTHER ("HTTP 503" mapas para HTTP 5XX). Detalle va sólo al registro de la plataforma. Signing secret (WebhookSigningSecrets): escrito sólo como PlatformSecretCipher ciphertext in the new SIGNING SECRET CIPHERTEXT column; storing fails cerrado sin llave de plataforma. El camino de lectura sigue aceptando el legado columna de texto llano hasta ******************* (re-runnable, por fila) lo encripta y nula el texto. Un secreto almacenado que no puede ser descifrado o aplicado detiene la entrega en lugar de enviar sin firmar. Schema: servicio de seguridad ¿Qué? (adds la columna, analiza el texto del fallo legado) - aplicado 2026-10-14 como propietario.

Todos los cambios

Como lo que ves enviaste?

Todo llega a su espacio de trabajo por sí solo. Comience en el plan gratuito y lea esta página de nuevo en un mes.

Empieza gratis para siempreVer Precios