Questão de Segurança da Informação — Testes de Segurança em Desenvolvimento (SAST e DAST) — VUNESP 2025
Segurança da Informação›Testes de Segurança em Desenvolvimento (SAST e DAST)
Código
vu223064
Banca
VUNESP
Órgão
TJM SP
Ano
2025
Cargo
Ana SIJ ( )
A respeito do método de teste de segurança de aplicações conhecido como SAST, é correto afirmar que
Aconsiste em uma operação de escaneamento de portas de rede abertas (port scan).
Bé realizado com a aplicação em execução, por meio de um agente de testes embutido na própria aplicação.
Crequer acesso ao código-fonte.
Dé um subtipo do método DAST.
Einclui o método DAST como seu subtipo.
Revelar gabarito e comentário▾
GabaritoC — requer acesso ao código-fonte.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
SAST (Static Application Security Testing) e a análise estática de código
Gabarito: letra C. O SAST é um teste de segurança estático, que analisa o código-fonte (ou bytecode/binários) antes da execução da aplicação, sem precisar colocá-la em funcionamento — por isso, exige acesso ao código-fonte. As demais alternativas confundem o SAST com outras técnicas (port scan, DAST, RASP) ou invertem a hierarquia entre os métodos.
O SAST (Static Application Security Testing) é uma técnica de teste de segurança que atua na fase de desenvolvimento do software, examinando o código-fonte, o bytecode ou os binários da aplicação sem executá-la. O objetivo é identificar vulnerabilidades, más práticas de codificação e falhas lógicas o mais cedo possível no ciclo de vida do desenvolvimento — é o chamado shift left, em que a segurança é deslocada para o início do processo. Por trabalhar diretamente sobre o código, o SAST requer acesso ao código-fonte, sendo classificado como uma análise de caixa-branca (white-box).
O contraste fundamental é com o DAST (Dynamic Application Security Testing), que é um teste dinâmico: a aplicação precisa estar em execução para que o analisador simule ataques externos e identifique falhas exploráveis. Enquanto o SAST olha "de dentro para fora" (o código), o DAST olha "de fora para dentro" (o comportamento da aplicação rodando). São métodos complementares e independentes — nenhum é subtipo do outro. Há ainda o IAST, que combina técnicas de SAST e DAST analisando a segurança enquanto a aplicação roda, e o RASP, que protege a aplicação em tempo real no ambiente de produção.
Na prática, um desenvolvedor que roda o SonarQube ou o Checkmarx sobre o repositório do projeto está fazendo SAST: a ferramenta varre o código, aponta trechos vulneráveis (como concatenação de SQL que permite injeção) e sugere correções — tudo antes de o software ser compilado e executado. Já o OWASP ZAP ou o Burp Suite, que atacam uma aplicação já implantada em um ambiente de testes, são exemplos de DAST. A pegadinha clássica da banca é inverter esses papéis ou afirmar que um é subtipo do outro.
Guarde a fronteira decisiva: SAST = código + antes da execução; DAST = aplicação em execução + simulação de ataques. É exatamente nesse par que as alternativas se dividem.
Testes de segurança de aplicações: SAST (estático) (Analisa o código-fonte, Antes da execução, Caixa-branca, Ex.: SonarQube, Checkmarx); DAST (dinâmico) (Aplicação em execução, Simula ataques externos, Caixa-preta, Ex.: OWASP ZAP, Burp Suite); IAST (Combina SAST + DAST, Analisa durante a execução); RASP (Proteção em tempo real, Agente embutido na aplicação)
Alternativa A — ❌ Incorreta
Confunde SAST com port scan (escaneamento de portas de rede abertas). O port scan é uma técnica de reconhecimento de rede, usada para mapear serviços disponíveis em um host — não tem relação com análise de código-fonte. O SAST não verifica portas; ele examina o código da aplicação.
Alternativa B — ❌ Incorreta
Descreve, na verdade, o RASP (Runtime Application Self-Protection), que atua com a aplicação em execução por meio de um agente embutido. O SAST, ao contrário, é realizado sem executar a aplicação — ele analisa o código de forma estática, antes da execução.
Alternativa C — ✅ Correta ⟵ GABARITO
O SAST é uma análise estática do código-fonte (ou bytecode/binários), realizada antes da execução da aplicação. Por isso, requer acesso ao código-fonte — é a característica central que o define como teste de caixa-branca. Ferramentas como SonarQube, Checkmarx e Veracode exemplificam essa categoria.
Alternativa D — ❌ Incorreta
Inverte a relação: o SAST não é um subtipo do DAST. São métodos independentes e complementares — o SAST é estático (código, antes da execução) e o DAST é dinâmico (aplicação em execução). Nenhum deriva do outro.
Alternativa E — ❌ Incorreta
Afirma o contrário da alternativa D, mas com o mesmo erro de hierarquia: o DAST não é subtipo do SAST. Ambos são técnicas distintas de teste de segurança de aplicações, cada uma com seu foco e momento de aplicação no ciclo de desenvolvimento.
NÃO CAIA NESSA!
A banca adora inverter os papéis entre SAST e DAST — e aqui ela faz isso de duas formas: nas alternativas D e E, ao criar uma falsa relação de subtipo entre os métodos, e na alternativa B, ao descrever o RASP como se fosse SAST. O candidato que não fixou a fronteira "SAST = código antes da execução; DAST = aplicação em execução" cai fácil. Com treino, você enxerga essas trocas de longe 💪
PEGA ESSA DICA!
Na prova, leia a descrição do teste e pergunte: "a aplicação está rodando?" Se não está rodando e o foco é o código-fonte → SAST. Se está rodando e há simulação de ataques → DAST. Se há um agente embutido protegendo em tempo real → RASP. Essa pergunta resolve a maioria das questões sobre o tema.