O dashboard usa Runtime Validation para o fluxo de DAST específico por
issue: rotas, abas, páginas de execução e seções de evidência das issues ainda usam esse
nome. Runtime Validation é um dos modos dos Testes Dinâmicos do ZeroPath.
O Que Ele Faz
Os Testes Dinâmicos exercitam um alvo em execução configurado com o contexto da descoberta, os inputs do perfil da aplicação, credenciais de runtime criptografadas e, quando necessário, um artefato compilado da aplicação local. O objetivo é produzir evidências a partir da aplicação ao vivo, em vez de depender apenas da análise estática.
Os resultados de runtime validation usam estes veredictos:
Descobertas com veredicto Disconfirmed podem ser movidas para o fluxo de falso positivo com evidência de runtime explicando por que a issue não se reproduziu.
Classes de Vulnerabilidade
Os testes dinâmicos podem visar comportamentos de runtime que são difíceis de provar apenas a partir do código-fonte:- Injeção de prompt - testa se funcionalidades com IA executam instruções injetadas, manipulando inputs em prompts voltados ao usuário e de backend. As descobertas mostram o caminho da injeção e a resposta do modelo.
- IDOR - exercita identificadores de objetos entre papéis autenticados para provar quando usuários conseguem acessar recursos que não lhes pertencem.
- Encadeamento de vulnerabilidades - combina múltiplos comportamentos de runtime para mostrar como fraquezas menores se tornam um caminho de ataque prático.
- Vulnerabilidades out-of-band (OOB) - detecta SSRF cego, XXE cego, injeção de SQL cega, exfiltração via DNS e outras vulnerabilidades em que o comportamento explorado não é visível na resposta HTTP. O agente de validação gera URLs de callback únicas em
oob.0path.aie monitora requisições de saída da aplicação-alvo, provando que o payload injetado disparou uma requisição real do lado do servidor.
Testes Out-of-Band e Requisitos de Rede
Os testes OOB usamoob.0path.ai como servidor de callback padrão. O agente de validação injeta URLs únicas sob esse domínio na aplicação-alvo e monitora lookups de DNS, requisições HTTP e outras interações de protocolo que provam que a vulnerabilidade é explorável.
Se a sua aplicação-alvo roda atrás de um firewall ou de um filtro de saída, pode ser necessário adicionar *.oob.0path.ai (DNS e HTTPS) à lista de permissões para que o alvo consiga alcançar o servidor de callback. Sem isso, os testes OOB não retornarão interações mesmo quando a vulnerabilidade for real.
Pré-requisitos
Os Testes Dinâmicos exigem:- Uma aplicação implantada alcançável pelo worker de validação, ou um artefato compilado da aplicação local enviado no painel de configuração da Runtime Validation.
- Um perfil de aplicação de Runtime Validation para a aplicação detectada.
- Todos os inputs obrigatórios do perfil salvos, como a URL do alvo e os campos de autenticação gerados.
- Para validação específica por issue, um full scan concluído com descobertas SAST elegíveis.
.zip, .tar, .tar.gz ou .tgz. O artefato é executado dentro do contêiner gVisor de Runtime Validation do ZeroPath, baseado em Debian; outros sistemas operacionais e arquiteturas de CPU não são suportados.
Executando a Runtime Validation
- Aplicação Completa
- Issue Selecionada
Use uma execução de aplicação completa quando quiser validar todas as issues elegíveis de um perfil de aplicação.
1
Abra o repositório
Acesse o repositório no ZeroPath e selecione a aba Runtime Validation.
2
Selecione um perfil de aplicação
Escolha a aplicação e o escaneamento que você deseja validar.
3
Confirme a prontidão
Preencha os inputs do perfil que estiverem faltando até que o perfil esteja pronto. Para aplicações locais, envie o artefato compilado para Linux x86_64/amd64 na seção Local artifact.
4
Inicie a execução
Escolha Full application e inicie a validação. A execução aparece na lista de execuções abaixo do painel de configuração.
Revisando os Resultados
A aba Runtime Validation do repositório mostra as execuções de validação recentes. Selecionar uma execução abre uma página dedicada com abas de resultados:- Queued - issues que ainda aguardam a validação em tempo de execução.
- Confirmed - issues comprovadamente exploráveis em tempo de execução.
- Disconfirmed - issues que não se reproduziram no ambiente de runtime configurado.
- Unable - issues em que a validação não conseguiu produzir um veredicto confiável.
Evidência em Nível de Issue
Quando uma descoberta tem saída de Runtime Validation, o modal da issue e a visão completa da issue incluem uma seção de Runtime Validation recolhida abaixo do passo a passo do exploit. Ela resume:- O veredicto mais recente e o status da execução.
- O que o ZeroPath tentou durante os testes em tempo de execução.
- As evidências observadas durante a tentativa.
- Por que a descoberta foi confirmada, refutada ou marcada como unable.
- Um link para a página dedicada da execução, para um contexto mais amplo.
Dados de Validação Estruturados na API
As respostas da API de detalhes da issue e de runtime validation incluem dois campos estruturados que fornecem uma visão legível por máquina do que o agente de validação fez:validationSteps— uma lista ordenada de objetos, um por ação executada pelo agente. Cada objeto contém:target— o endpoint, workflow, objeto ou caminho de código exercitado (pode ser nulo).action— a ação concreta executada.expectedResult— o comportamento seguro esperado ou o sinal de exploit para esse passo (pode ser nulo).observedResult— o que o agente de fato observou em tempo de execução.conclusion— por que essa observação importa para o veredicto.
attackReproductionSteps— apenas para descobertas confirmadas, uma lista ordenada de passos em linguagem natural que reproduzem o ataque confirmado. Adequada para inclusão em um relatório de bug ou em um ticket de remediação.
agentGroupKey, anteriormente disponível, foi removido da resposta da API.
Notas Operacionais
- Execuções de aplicação completa são bloqueadas enquanto existir outra execução ativa para o mesmo escaneamento e perfil de aplicação.
- Execuções de issue selecionada são bloqueadas apenas quando uma execução de aplicação completa está ativa ou quando outra execução ativa de issue selecionada já visa a mesma descoberta.
- Os Testes Dinâmicos dependem do alvo implantado configurado, portanto uma falha em alcançar a aplicação deve ser tratada como um problema de ambiente ou de perfil antes de considerar a descoberta como refutada.
- Para repositórios com muitos escaneamentos, use a lista de execuções e as abas de resultados em vez de examinar issue por issue na tabela principal de issues.