WASViking Docs
⌘K
Integrações

Webhooks

Inscreva-se em eventos JSON assinados para ingestão em SIEM, automação ou qualquer coisa que não se encaixe em uma integração nativa.

Os webhooks são a integração coringa. Qualquer coisa não coberta por Jira, Slack ou Teams pode se inscrever nos eventos diretamente. Os payloads são JSON assinado sobre HTTPS.

Para o catálogo completo de eventos e exemplos de verificação de assinatura, veja Referência da API → Eventos de webhook.

Padrões comuns

Ingestão em SIEM

Inscreva-se em:

  • finding.created
  • finding.escalated
  • finding.sla_breached
  • secret.verified_live
  • sbom.intel_match

Envie o payload verificado direto para o índice do seu SIEM. A WASViking® assina cada evento com HMAC-SHA256; a verificação rejeita entregas forjadas antes que elas toquem o seu pipeline.

Sincronização de CMDB / inventário de ativos

Inscreva-se em:

  • asset.first_seen
  • asset.disappeared
  • asset.reappeared

Use esses eventos para manter um CMDB externo em sincronia com o que a WASViking vê na sua superfície.

Fan-out de notificações

Se a sua equipe prefere um fan-out em um único sistema (PagerDuty para os críticos, Slack para os avisos, resumo por e-mail para os de baixa severidade), conecte todos os eventos ao seu mecanismo de fan-out via webhook e deixe que ele faça o roteamento.

Como registrar

curl -sS https://api.wasviking.com/v1/webhooks \
  -H "Authorization: ApiKey ${KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/wasviking-hook",
    "events": ["finding.escalated", "finding.sla_breached"],
    "description": "SIEM ingestion"
  }'

A resposta inclui o secret de assinatura. Guarde-o; ele é exibido uma única vez.

Rotação do secret

curl -sS https://api.wasviking.com/v1/webhooks/{id}/rotate \
  -H "Authorization: ApiKey ${KEY}"

Tanto o secret antigo quanto o novo são aceitos na verificação durante uma janela de sobreposição de 24 horas. Migre o seu consumidor para o novo secret dentro dessa janela e depois revogue o antigo explicitamente.

Entrega de teste

curl -sS https://api.wasviking.com/v1/webhooks/{id}/test \
  -H "Authorization: ApiKey ${KEY}"

A WASViking envia um evento webhook.test para o seu endpoint. O formato do payload corresponde ao de um evento real, para que a sua lógica de verificação possa ser exercitada no CI.

Garantias de entrega

  • Pelo menos uma vez (at-least-once). Erros de rede geram novas tentativas com backoff exponencial por até 24 horas.
  • Ordenação por achado. Os eventos do mesmo achado são entregues em ordem. Não há garantia de ordenação global.
  • Assinado. Toda entrega inclui os headers Wasviking-Signature e Wasviking-Delivery. Verifique os dois.

Tratamento de falhas

Se o seu endpoint retornar algo diferente de 2xx, a WASViking tenta de novo com backoff: 1m, 5m, 30m, 2h, 8h, e para em 24h. As falhas ficam visíveis em Integrations → Webhooks → Deliveries, para que você possa inspecionar o corpo da resposta e fazer o replay.

Endpoint de replay:

curl -sS https://api.wasviking.com/v1/webhooks/{id}/deliveries/{delivery_id}/replay \
  -H "Authorization: ApiKey ${KEY}"

Teto e taxa

Cada inscrição de webhook tem, por padrão, um teto de entrega de 50,000 eventos por dia. Workloads em rajadas são suavizados; o excesso sustentado retorna 429 nas escritas da inscrição e aparece na aba Usage do portal.