Saltar para o conteúdo principal

Visão Geral

Os webhooks do ZeroPath permitem que você receba notificações HTTP em tempo real quando eventos de segurança importantes ocorrem nos seus repositórios. Isso possibilita criar integrações personalizadas, automatizar fluxos de trabalho e se manter informado sobre sua postura de segurança.

Configuração Rápida

Configure webhooks nas configurações da sua organização para começar a receber notificações de segurança em tempo real.

Como os Webhooks Funcionam

Quando um evento assinado ocorre, o ZeroPath envia uma requisição HTTP POST para o endpoint configurado com um payload JSON contendo informações detalhadas sobre o evento. Você pode usar esses dados para:
  • Automatizar fluxos de trabalho de segurança: Dispare respostas automatizadas a eventos de segurança
  • Criar integrações personalizadas: Conecte o ZeroPath às suas ferramentas e plataformas existentes
  • Monitorar a postura de segurança: Acompanhe vulnerabilidades e resultados de scans em tempo real
  • Aprimorar a conformidade: Registre eventos de segurança para trilhas de auditoria

Tipos de Eventos Suportados

O ZeroPath suporta os seguintes tipos de eventos de webhook:

SCAN_STARTED

Quando um scan completo de repositório começa

SCAN_COMPLETE

Quando um scan completo de repositório termina com sucesso

SCAN_FAILED

Quando um scan falha ao concluir

SCAN_SCHEDULED

Quando um scan é agendado

PR_SCAN_STARTED

Quando um scan de pull request começa

PR_SCAN_COMPLETE

Quando um scan de pull request é concluído

NEW_VULNERABILITIES_FULL_SCAN

Quando novas vulnerabilidades são detectadas em um scan completo de repositório

NEW_VULNERABILITIES_PR

Quando novas vulnerabilidades são detectadas em um pull request

VULNERABILITY_PATCHED

Quando uma vulnerabilidade é corrigida. Se um único pull request corrigir várias vulnerabilidades, um evento separado é enviado para cada uma.

VULNERABILITY_REOPENED

Quando uma vulnerabilidade reaparece

PR_BLOCKED

Quando um pull request é bloqueado devido a vulnerabilidades

PR_MERGED_WITH_ISSUES

Quando um pull request é mesclado na branch principal com vulnerabilidades abertas

REPORT_COMPLETE

Quando um relatório é gerado

LONG_RUNNING_SCAN

Quando um scan está demorando mais do que o normal

AUDIT_LOG_EVENT

Eventos importantes do log de auditoria

SCA_NEW_CVE

Quando um novo CVE é detectado em uma dependência do projeto

SCA_NEW_ISSUE

Quando um novo problema de vulnerabilidade de dependência é criado a partir de qualquer fonte de SCA

INBOUND_WEBHOOK

Quando um sistema externo envia um evento para um gatilho de webhook de entrada do ZeroPath

PATCH_PR_DENIED

Quando um pull request de correção é negado ou rejeitado

VULNERABILITY_STATUS_CHANGED

Quando o status de uma vulnerabilidade muda (por exemplo, de revisão pendente para risco aceito). Disparado para todas as ações de triagem, incluindo arquivar, desarquivar, marcar como verdadeiro positivo, marcar como falso positivo, resolver e desfazer a resolução — sejam elas realizadas pelo dashboard, pela API ou pelo agente de IA do ZeroPath.

SCA_SCAN_STARTED

Quando um scan de dependências (SCA) começa

SCA_SCAN_COMPLETE

Quando um scan de dependências (SCA) termina com sucesso

SCA_SCAN_FAILED

Quando um scan de dependências (SCA) falha ao concluir

REPO_ADDED

Quando um novo repositório é adicionado à organização

RUNTIME_VALIDATION_FINISHED

Quando a validação em tempo de execução de uma vulnerabilidade é concluída

RUNTIME_VALIDATION_EXPLOITABLE

Quando a validação em tempo de execução confirma que uma vulnerabilidade é explorável

RUNTIME_VALIDATION_NOT_EXPLOITABLE

Quando a validação em tempo de execução determina que uma vulnerabilidade não é explorável

RUNTIME_VALIDATION_UNABLE

Quando a validação em tempo de execução não consegue determinar a explorabilidade

CONTAINER_SCAN_STARTED

Quando um scan de imagem de contêiner começa

CONTAINER_SCAN_COMPLETE

Quando um scan de imagem de contêiner termina com sucesso

CONTAINER_NEW_ISSUE

Quando um scan de imagem de contêiner encontra um novo problema

ISSUE_AGED_PAST_THRESHOLD

Quando um problema aberto ultrapassa o limite de tempo configurado

SLA_BURN_RATE_HIGH

Quando a taxa de consumo do SLA para problemas abertos está alta

Estrutura do Payload do Webhook

Todos os payloads de webhook seguem uma estrutura consistente com dados específicos de cada evento:

Campos Comuns

Objeto event

Requisitos específicos por evento

  • SCAN_STARTED: event.scan obrigatório
  • PR_SCAN_STARTED: event.scan obrigatório
  • SCAN_COMPLETE: event.scan obrigatório
  • PR_SCAN_COMPLETE: event.scan obrigatório
  • SCAN_FAILED: event.scan e event.error obrigatórios
  • NEW_VULNERABILITIES_PR: event.vulnerability ou event.scan obrigatório
  • NEW_VULNERABILITIES_FULL_SCAN: event.vulnerability ou event.scan obrigatório
  • LONG_RUNNING_SCAN: event.metadata.runningMinutes obrigatório
  • AUDIT_LOG_EVENT: event.audit_log obrigatório
  • SCAN_SCHEDULED: event.metadata com scheduleId, crontab, isEnabled, action obrigatório
  • PR_BLOCKED: event.metadata.prId e event.metadata.prNumber obrigatórios
  • PR_MERGED_WITH_ISSUES: event.metadata.prUrl e event.metadata.targetBranch obrigatórios
  • VULNERABILITY_REOPENED/VULNERABILITY_PATCHED: event.metadata ou event.vulnerability obrigatório. Quando um único pull request corrige várias vulnerabilidades, você receberá um evento VULNERABILITY_PATCHED por vulnerabilidade.
  • REPORT_COMPLETE: event.metadata.reportId obrigatório

Exemplos de Payload de Eventos

Configurando Webhooks

Integrations

Adicione e gerencie endpoints de webhook

Notifications

Configure quais eventos disparam webhooks

Configurando os Webhooks

A configuração de webhooks no ZeroPath é um processo de duas etapas que oferece controle granular sobre quais eventos você recebe:

Etapa 1: Adicionar uma Integração de Webhook

  1. Navegue até zeropath.com/app/settings/integrations
  2. Clique em “Add Integration” e selecione “Webhook”
  3. Configure o endpoint do seu webhook:
    • Name: Um nome descritivo para este webhook
    • URL: Seu endpoint HTTPS que receberá os payloads do webhook
    • Custom Headers: Adicione cabeçalhos personalizados para autenticação (por exemplo, Authorization: Bearer your-secret-token)

Etapa 2: Criar Configurações de Notificação

Depois de adicionar uma integração de webhook, configure quais eventos disparam notificações:
  1. Acesse zeropath.com/app/settings/notifications
  2. Clique em “Create Notification Setting”
  3. Configure suas preferências de notificação:
    • Notification Channel: Selecione “Webhook” entre os canais disponíveis
    • Webhook: Escolha na sua lista de integrações de webhook
    • Repositories: Selecione repositórios específicos ou escolha “All Repositories”
    • Event Types: Selecione quais eventos devem disparar notificações
    • Vulnerability Score Threshold: Para eventos de vulnerabilidade, defina o limite mínimo (Info, Low, Medium, High ou Critical)
O limite de pontuação de vulnerabilidade só se aplica a eventos relacionados a vulnerabilidades, como NEW_VULNERABILITIES_FULL_SCAN e NEW_VULNERABILITIES_PR. Outros eventos, como SCAN_COMPLETE, sempre serão enviados, independentemente dessa configuração.
O ZeroPath suporta vários canais de notificação. Ao criar uma configuração de notificação, você primeiro selecionará “Webhook” como tipo de canal e depois escolherá entre suas integrações de webhook configuradas. Outros canais de notificação podem incluir e-mail, Slack ou outras integrações.

Exemplo de Configuração

Aqui está um exemplo de uma configuração típica de webhook:
1

Criar a Integração de Webhook

Adicione um endpoint de webhook em Integrations:
  • Name: “Production Security Alerts”
  • URL: https://api.example.com/webhooks/zeropath
  • Custom Headers:
    • Authorization: Bearer prod-webhook-token-123
    • X-Environment: production
2

Configurar as Notificações

Crie as configurações de notificação:
  • Notification Channel: “Webhook”
  • Webhook: “Production Security Alerts” (da sua lista de webhooks)
  • Repositories: “backend-api”, “frontend-app”
  • Events: NEW_VULNERABILITIES_FULL_SCAN, NEW_VULNERABILITIES_PR, PR_BLOCKED
  • Vulnerability Score Threshold: High
3

Resultado

Você receberá webhooks apenas para:
  • Novas vulnerabilidades com pontuação High ou Critical nos repositórios selecionados
  • PRs bloqueados nos repositórios selecionados
  • Nenhuma notificação para vulnerabilidades abaixo do limite High

Filtragem por Repositório

Você pode configurar webhooks em diferentes escopos:
Selecione “All Repositories” para receber notificações de eventos em toda a sua organização. Novos repositórios são incluídos automaticamente.

Filtragem por Pontuação de Vulnerabilidade

O limite de pontuação de vulnerabilidade ajuda a reduzir o ruído filtrando vulnerabilidades de menor prioridade. O ZeroPath usa um sistema de pontuação de 0 a 100 categorizado em cinco níveis:
Quando você seleciona um nível de limite (por exemplo, “High”), receberá notificações para todas as vulnerabilidades nesse nível e acima. Por exemplo, selecionar “High” notificará você sobre vulnerabilidades High e Critical.

Múltiplas Configurações de Webhook

Você pode criar várias integrações de webhook e configurações de notificação para lidar com diferentes cenários. Cada configuração de notificação pode usar o canal “Webhook” com integrações de webhook diferentes:

Alertas Críticos

Caso de uso: Notificações imediatas para problemas críticos
  • Webhook: Integração com PagerDuty
  • Repositories: Somente repositórios de produção
  • Events: NEW_VULNERABILITIES_FULL_SCAN, PR_BLOCKED
  • Vulnerability Score Threshold: Critical

Atualizações da Equipe

Caso de uso: Notificações diárias para a equipe
  • Webhook: Canal do Slack
  • Repositories: Todos os repositórios
  • Events: SCAN_COMPLETE, REPORT_COMPLETE
  • Vulnerability Score Threshold: Medium

Trilha de Auditoria

Caso de uso: Registro para conformidade
  • Webhook: Sistema SIEM
  • Repositories: Todos os repositórios
  • Events: Todos os tipos de evento
  • Vulnerability Score Threshold: Info (captura tudo)

Fluxo de PRs

Caso de uso: Notificações para desenvolvedores
  • Webhook: GitHub Actions
  • Repositories: Repositórios em desenvolvimento ativo
  • Events: PR_SCAN_COMPLETE, NEW_VULNERABILITIES_PR
  • Vulnerability Score Threshold: High

Gerenciando Configurações de Notificação

Você pode criar várias configurações de notificação usando a mesma integração de webhook com configurações diferentes. Isso permite rotear diferentes tipos de eventos ou limites de pontuação de vulnerabilidade para o mesmo endpoint, mas com regras de filtragem diferentes.
Para gerenciar suas configurações de webhook:
  1. Ver todas as configurações: Navegue até zeropath.com/app/settings/notifications para ver todas as configurações ativas
  2. Editar configurações: Clique em qualquer configuração de notificação para modificar repositórios, eventos ou limites de pontuação de vulnerabilidade
  3. Ativar/Desativar: Desative notificações temporariamente sem excluir a configuração
  4. Testar webhooks: Use o botão “Test” para enviar um payload de exemplo e verificar se seu endpoint está funcionando

Segurança de Webhooks

Sempre use endpoints HTTPS para webhooks a fim de garantir que os dados sejam criptografados em trânsito.

Autenticação com Cabeçalhos Personalizados

O ZeroPath permite adicionar cabeçalhos personalizados às requisições de webhook para autenticação. Essa abordagem flexível permite implementar uma segurança compatível com a sua infraestrutura: Padrões comuns de autenticação:
Você pode adicionar vários cabeçalhos personalizados para reforçar a segurança, como combinar uma chave de API com um timestamp para prevenir ataques de replay.
Benefícios dos cabeçalhos personalizados:
  • Flexibilidade: Use qualquer esquema de autenticação que se adapte à sua infraestrutura
  • Compatibilidade: Funciona com gateways de API e middlewares de autenticação existentes
  • Múltiplos cabeçalhos: Adicione vários cabeçalhos para propósitos diferentes (autenticação, roteamento, metadados)
  • Padrões consolidados: Use padrões de autenticação consagrados do mercado, como tokens Bearer

Webhooks de Entrada (Gatilhos do Agente)

Além dos webhooks de notificação de saída descritos acima, o ZeroPath suporta webhooks de entrada que disparam ações automatizadas do agente. Os webhooks de entrada permitem que sistemas externos enviem eventos ao ZeroPath e que o agente de IA responda com base em um prompt configurável.

Como os Webhooks de Entrada Funcionam

  1. Você cria um gatilho de evento com o tipo de evento INBOUND_WEBHOOK via API ou servidor MCP.
  2. O ZeroPath gera uma URL de webhook e um segredo únicos para o gatilho:
  3. Quando um sistema externo envia um HTTP POST para essa URL, o agente executa o prompt do gatilho com o payload do webhook disponível como contexto.
  4. Você pode visualizar o histórico de execuções e os resultados do gatilho por meio da API.

Casos de Uso

  • Integração com CI/CD externo: Dispare o agente para triar achados quando seu pipeline de build for concluído.
  • Integração com ferramentas de terceiros: Faça com que ferramentas de segurança externas enviem achados ao agente para análise automatizada.
  • Automação personalizada: Conecte qualquer sistema capaz de enviar requisições HTTP POST para disparar fluxos de trabalho do agente.
Os webhooks de entrada são gerenciados pelos endpoints da Agent API. Cada gatilho de webhook de entrada inclui um segredo gerado automaticamente para autenticação. Você pode listar, criar, atualizar e excluir gatilhos usando a API V2 ou o servidor MCP.

Boas Práticas

Webhooks podem ser entregues mais de uma vez. Use o ID do evento para garantir que cada evento seja processado apenas uma vez.
Seu endpoint deve retornar um código de status 2xx em até 10 segundos. Processe os dados do webhook de forma assíncrona, se necessário.
O ZeroPath tentará reenviar entregas de webhook que falharam usando backoff exponencial. Garanta que seu endpoint consiga lidar com eventos duplicados.
Configure monitoramento para seus endpoints de webhook para garantir que estejam recebendo e processando eventos corretamente.
Assine apenas os eventos de que você precisa para reduzir ruído e sobrecarga de processamento.

Tratamento de Erros

O ZeroPath usa a seguinte política de novas tentativas para entregas de webhook que falharam:
  • Primeira nova tentativa: 30 segundos após a primeira falha
  • Tentativas subsequentes: Backoff exponencial (1min, 2min, 4min, 8min, 16min)
  • Máximo de tentativas: 6 tentativas ao longo de ~30 minutos
  • Ação final: Webhook marcado como falho e notificação enviada

Precisa de Ajuda?

Fale com o Suporte

Está com problemas nos webhooks? Nossa equipe de suporte está aqui para ajudar.
Para informações mais detalhadas sobre a API, consulte nossa Referência da API ou entre na nossa comunidade no Discord para obter ajuda de outros desenvolvedores.