pular para o conteúdo
voltar ao mapa
técnica de teste
etapa: build
2 min de leitura

SCA

Vigia o código que você não escreveu: bibliotecas de terceiros, versões e vulnerabilidades conhecidas.

DependabotSnykTrivyOWASP Dependency-Check

O que é

(Software Composition Analysis) inventaria as dependências do projeto — diretas e transitivas — e cruza cada versão com bancos públicos de vulnerabilidades (, GitHub Advisory, OSV) e com bases de licenças.

A premissa: a maior parte do código de uma aplicação moderna (frequentemente 70–90%) vem de terceiros. Sua superfície de risco inclui tudo isso, mesmo que ninguém do time tenha escrito uma linha dessas bibliotecas.

Um CVE de verdade: do lockfile ao alerta

O ponto de partida é sempre um manifesto ou lockfile. Digamos que o projeto dependa de uma versão antiga do lodash:

package.jsonjson
{ "dependencies": { "lodash": "4.17.15" } }

O cruzamento com os advisories

O SCA pega cada componente+versão do lockfile e consulta os bancos de vulnerabilidades. Para o lodash 4.17.15, existe um advisory real e conhecido:

advisory (OSV / GitHub Advisory)json
{
  "id": "CVE-2020-8203",
  "package": "lodash",
  "title": "Prototype pollution em zipObjectDeep",
  "affected": "< 4.17.19",
  "patched": "4.17.19",
  "severity": "HIGH"
}

Por que a versão transitiva é o pesadelo

O caso fica interessante quando o pacote vulnerável não está nem no seu package.json: ele entrou como dependência de dependência, três níveis abaixo. Você nunca escolheu aquele lodash — mas ele está no seu artefato rodando em produção.

É aqui que o lockfile salva o dia: ele registra a árvore completa, não só o que está no manifesto. Sem SCA e sem lockfile, a pergunta 'usamos o lodash 4.17.15?' não tem resposta rápida nem no seu próprio repositório.

Como funciona, resumido

  • lê manifestos e lockfiles (package.json, package-lock, pom.xml, go.mod, requirements.txt)
  • monta a árvore completa de dependências, incluindo as transitivas
  • casa cada componente+versão com advisories publicados e pontua severidade (, , exploit conhecido)
  • abre PRs automáticos de atualização e gera o do artefato

Onde entra na pipeline

No PR e no build, bloqueando dependências críticas novas. E continuamente depois do deploy: novo contra versão antiga aparece todo dia — a ferramenta monitora o inventário e alerta (ou abre PR) quando uma dependência já usada vira risco.

Limitações

  • só conhece vulnerabilidades já publicadas — em dependência passa
  • não acha falha no seu código: para isso existem e DAST
  • sem política de severidade, vira fábrica de alertas ignorados
SCAAnálise de composição: inventaria dependências de terceiros e cruza com CVEs conhecidas.ver no glossário →NVDnational vulnerability databaseO banco do NIST que enriquece cada CVE com score CVSS e CWE associada. É de onde a maioria das ferramentas de SCA bebe.ver no glossário →CVSScommon vulnerability scoring systemScore de 0 a 10 que mede a severidade técnica de uma vulnerabilidade: como é explorada (rede ou local, complexidade, privilégio necessário, interação do usuário) e qual o impacto. 9.0+ é crítico, mas o número é teórico — não sabe se você está exposto.ver no glossário →EPSSexploit prediction scoring systemProbabilidade (0 a 100%) de um CVE ser explorado de verdade nos próximos 30 dias, baseada em evidência. Complementa o CVSS: um 9.8 com EPSS 0,1% pode ser menos urgente que um 7.5 com EPSS 60%.ver no glossário →SBOMA lista de ingredientes do software: dependências, versões, licenças e hashes, em formato padrão.ver no glossário →CVEcommon vulnerabilities and exposuresO identificador único de UMA vulnerabilidade pública específica, no formato CVE-ANO-NÚMERO. Ex.: CVE-2021-44228 é o Log4Shell. É a instância real, não a classe do problema.ver no glossário →Zero-dayVulnerabilidade explorada antes de existir correção pública. Contra zero-day, só defesa em profundidade e detecção ajudam na hora.ver no glossário →SASTAnálise estática: examina o código sem executar. Acha por análise de fluxo, não por adivinhação.ver no glossário →

conexões no mapa

atualizado em 14/10/2026 · fontes para aprofundar · reportar erro

em outros domínios

Estude antes

Desbloqueia

teste o que entendeu

Carregando perguntas…