Alternativa B - Análise estática.
O teste descrito na questão é aquele que examina o código-fonte do software sem que ele precise ser executado. Essa abordagem foca em identificar falhas, erros de sintaxe e padrões de vulnerabilidade diretamente no texto do programa.
Para entender melhor, precisamos distinguir entre os principais tipos de análise de segurança mencionados nas alternativas:
- Análise Estática: Examina o código fonte ou binário sem executar o programa. É ideal para encontrar problemas de lógica e segurança antes da implementação.
- Análise Dinâmica: Examina o comportamento do sistema enquanto ele está rodando (em execução). Envolve interagir com a aplicação ativa.
- Teste de Penetração: Simula um ataque real contra o sistema para verificar se é possível invadi-lo, geralmente combinando técnicas dinâmicas.
Análise das Alternativas
- (A) Análise dinâmica: Incorreta. Realiza testes executando o sistema, não analisando o código estático isoladamente.
- (B) Análise estática: Correta. A definição coincide exatamente com a busca de vulnerabilidades "dentro do próprio código" sem necessariamente rodar o sistema.
- (C) Teste de penetração: Incorreta. Foca na exploração de falhas através de ataques simulados ao sistema rodando, não apenas na leitura do código.
- (D) Teste de estresse: Incorreta. Avalia a performance sob carga extrema, não a segurança do código em si.
- (E) Teste de codificação: Incorreta. Não é um termo técnico padrão para testes de segurança automatizados neste contexto.
Em resumo, quando a ferramenta lê o arquivo de código para achar bugs ou riscos de segurança antes da compilação ou execução, trata-se obrigatoriamente de Análise Estática (conhecida tecnicamente como SAST - Static Application Security Testing).