Glossário

O que é DAST: testar um app em execução por fora para encontrar falhas

DAST testa um app web em execução por fora para encontrar vulnerabilidades. Como ele se diferencia de SAST, IAST e SCA e como usá-lo no seu próprio app.

Publicado 2026-11-15 Atualizado 2026-11-15 6 min de leitura
Nesta página

DAST (teste dinâmico de segurança de aplicações) testa uma aplicação em execução por fora para encontrar fraquezas. Esta página explica como ele se diferencia de outros métodos e como usá-lo no seu próprio app (ela não trata de testes em sites de terceiros).

O que é DAST

DAST significa teste dinâmico de segurança de aplicações (dynamic application security testing). O DevSecOps Guideline da OWASP o descreve como um teste de caixa-preta que encontra vulnerabilidades e fraquezas de segurança em uma aplicação em execução. Caixa-preta significa testar apenas pelo que é visível de fora, sem olhar o código-fonte interno.

Na prática, uma ferramenta percorre as páginas e os campos de entrada do app, envia requisições de teste e procura sinais de problemas nas respostas. A diretriz diz que ele é especialmente útil para validação de entrada e saída, problemas de autenticação e erros de configuração do servidor.

Como funciona

1. Aponte a ferramenta para a URL do seu ambiente de teste
2. A ferramenta percorre páginas e campos de entrada e envia tráfego de teste
↓ ela observa o conteúdo das respostas, os cabeçalhos e o comportamento de erro
3. Ela lista sinais de problemas; uma pessoa confirma e corrige
O DAST envia requisições de teste a um app em execução, por fora, e procura problemas na forma como ele responde. Ele não lê o código-fonte.

Como ele se diferencia de SAST, IAST e SCA

MétodoO que examinaExecuta o app?Bom para
DASTO comportamento do app em execução, por foraSimValidação de entrada e saída, autenticação, configuração do servidor
SASTCódigo-fonte ou código compiladoNãoEncontrar problemas de codificação no início do desenvolvimento
IASTO comportamento interno do app (via sensores)Sim (durante os testes)Problemas que aparecem durante testes automatizados
SCABibliotecas e outras dependênciasNãoComponentes com vulnerabilidades conhecidas (CVEs)

Para o SAST, a OWASP lista limitações como encontrar apenas um percentual relativamente pequeno das falhas de segurança de aplicações, muitos falsos positivos e problemas de configuração não identificados. O DAST ajuda a cobrir essa lacuna, mas também não é completo. Para o SCA, veja auditoria de dependências com o OSV-Scanner.

Como usá-lo no seu próprio app (exemplo com OWASP ZAP)

O ZAP (Zed Attack Proxy; antes chamado OWASP ZAP) é uma ferramenta DAST gratuita e de código aberto. O site oficial agora o identifica como "ZAP by Checkmarx".

  1. Prepare a URL de um ambiente de teste que você gerencia. Use um ambiente de teste, não a produção
  2. Execute uma varredura de linha de base (baseline scan). Segundo a documentação do ZAP, ela é apenas passiva: executa o spider (o recurso que percorre as páginas) por 1 minuto por padrão e não realiza ataques. Leva no máximo alguns minutos
  3. Leia os resultados e peça a uma pessoa que confirme quais achados são reais; falsos positivos acontecem
  4. Se necessário, passe para uma varredura ativa, apenas em um ambiente de teste. Ela executa ataques conhecidos contra o alvo, e a documentação diz que não deve ser usada em aplicações web que você não possui
  5. Execute novamente com regularidade, por exemplo no CI, após cada correção

Somente contra ambientes de teste de apps que você possui ou gerencia

Ferramentas DAST enviam tráfego semelhante a ataques reais. Executá-las em um site para o qual você não tem permissão de teste pode ser considerado acesso não autorizado ou interrupção de serviço. A documentação do ZAP também diz para não usar a varredura ativa em aplicações web que você não possui. Executar em produção também pode causar efeitos colaterais, como criação de dados ou aumento de carga.

O que o DAST deixa passar

A documentação do ZAP diz que sua varredura ativa não consegue encontrar problemas lógicos, como controle de acesso quebrado, por isso deve ser acompanhada de testes manuais. Uma falha como IDOR, em que um usuário pode ver os dados de outro, é difícil para uma ferramenta automatizada, porque ela não sabe qual é o comportamento correto. Você precisa escrever seu próprio teste que solicite o ID de outro usuário e confirme que o acesso é recusado.

Já as verificações de configuração são algo em que o DAST é bom. Sobre o que vale configurar, veja cabeçalhos de segurança: o que ainda importa.

Visão deste site: o DAST é a última camada. Pense em três camadas: código, componentes e comportamento

É mais realista combinar três métodos que olham em lugares diferentes do que esperar que uma única ferramenta encontre tudo: ler o código (SAST), verificar componentes em busca de vulnerabilidades conhecidas (SCA) e, então, executar o app e testá-lo por fora (DAST). O que as ferramentas não fazem bem, "quem pode fazer o quê", você protege com testes escritos por você. Não confie na saída das ferramentas sem revisão; peça a uma pessoa que a confirme antes de corrigir.

Fontes (primárias)

  • OWASP DevSecOps Guideline, "Dynamic Application Security Testing" — owasp.github.io (definição de DAST, caixa-preta)
  • OWASP DevSecOps Guideline, "Interactive Application Security Testing" — owasp.github.io (IAST)
  • OWASP Community, "Source Code Analysis Tools" — owasp.org (SAST e suas limitações)
  • ZAP Documentation, "Active Scan" — zaproxy.org (não para apps que você não possui; não encontra problemas lógicos)
  • ZAP Documentation, "Baseline Scan" — zaproxy.org (apenas passiva; tempo de execução)
  • A descrição de SCA é uma definição geral; não foi verificada nenhuma definição oficial única para ele

Leia em seguida

FAQ

QO que é DAST?
A

DAST significa teste dinâmico de segurança de aplicações (dynamic application security testing). Ele envia requisições de teste a uma aplicação em execução, de fora, para encontrar vulnerabilidades e fraquezas. O DevSecOps Guideline da OWASP o descreve como um teste de caixa-preta que encontra vulnerabilidades e fraquezas de segurança em uma aplicação em execução, sem precisar de acesso ao código-fonte.

QQual é a diferença entre DAST e SAST?
A

SAST (teste estático de segurança de aplicações) analisa o código-fonte ou o código compilado sem executá-lo. DAST executa a aplicação e a testa por meio de requisições externas. A OWASP observa que o SAST pode ser executado no início do desenvolvimento, mas encontra apenas uma parcela relativamente pequena das falhas, gera muitos falsos positivos e costuma não identificar problemas de configuração. O DAST é adequado para problemas que só aparecem com o app em execução.

QO que são IAST e SCA?
A

IAST (teste interativo de segurança de aplicações) posiciona módulos sensores dentro da aplicação e observa seu comportamento enquanto ela é testada. SCA (análise de composição de software) verifica as bibliotecas e outras dependências que você usa em busca de vulnerabilidades conhecidas. Elas olham em lugares diferentes do DAST, por isso são usadas em conjunto.

QO que o DAST encontra?
A

A diretriz da OWASP diz que ele é especialmente útil para validação de entrada e saída, problemas de autenticação e erros de configuração do servidor. Por outro lado, a documentação do OWASP ZAP afirma que sua varredura ativa não consegue encontrar problemas lógicos, como controle de acesso quebrado, por isso deve ser acompanhada de testes manuais.

QPosso executar DAST contra o site de outra pessoa?
A

Não. A documentação do OWASP ZAP afirma que a varredura ativa não deve ser usada em aplicações web que você não possui. Limite o uso a apps que você possui ou gerencia, ou nos quais tenha permissão clara, por exemplo por escrito. Usar um ambiente de teste em vez da produção é mais seguro.

QPor onde começar com DAST?
A

Comece com uma varredura de linha de base (baseline scan) do OWASP ZAP na URL do seu próprio ambiente de teste. Ela é apenas passiva: observa o tráfego e não realiza ataques. Após revisar o resultado, passe para uma varredura ativa apenas se necessário, e somente em um ambiente de teste.