Saltar para o conteúdo principal
Um pacote pode aparecer no seu grafo de dependências, ser importado e, ainda assim, não ser explorável na prática: a função vulnerável pode nunca ser chamada, ou nada que um atacante controla pode alcançá-la. A alcançabilidade é um dos sinais mais fortes para reduzir ruído. Combinada com a severidade do advisory e com os sinais de exploit KEV e EPSS abaixo, ela indica quais achados priorizar. A análise de alcançabilidade vai além de verificar se um pacote é importado. Para cada dependência vulnerável, o ZeroPath avalia se o caminho de código vulnerável é de fato invocado a partir da sua aplicação e pondera se entrada influenciada por um atacante pode alcançá-lo.
Alcançabilidade e explorabilidade são relacionadas, mas distintas. Alcançabilidade é se o código vulnerável é invocado a partir do seu código. Explorabilidade é se um atacante consegue acioná-lo, considerando entradas, configuração e fronteiras de confiança. Alcançabilidade é condição necessária para a explorabilidade, não prova dela.

Alcançabilidade de pacotes

Todo pacote vulnerável recebe um status de alcançabilidade:
  • Reachable — o caminho de código vulnerável é invocado na sua aplicação.
  • Not reachable — o pacote está presente, mas o caminho vulnerável não é invocado. Dependências que rodam apenas em tempo de build ou de desenvolvimento tendem a ser classificadas neste estado.
  • Not tested — a análise ainda não foi executada para este pacote.
Um pacote permanece not tested até que a análise seja executada para ele; o ZeroPath não presume alcançabilidade. Cada resultado inclui um breve resumo, e você pode filtrar as visualizações de inventário e de achados pela alcançabilidade do pacote.
Um resultado not reachable reduz a prioridade, mas não é prova de segurança. A análise de alcançabilidade estática e assistida por IA pode não detectar reflection, dispatch dinâmico, desserialização e invocação dirigida por configuração. Não trate “not reachable” como motivo para deixar sem correção um advisory crítico ou listado no KEV.

Explorabilidade nos achados

No nível do achado, o ZeroPath consolida o veredito de alcançabilidade de cada achado nos buckets de explorabilidade pelos quais você pode filtrar a visualização de achados:
  • Likely exploitable — alcançável.
  • Needs review — a alcançabilidade é ambígua.
  • Likely not exploitable — não alcançável.
  • Not yet analyzed — a análise ainda não foi concluída para este achado.
Os achados no bucket likely-exploitable são a prioridade máxima. Achados alcançáveis podem ser tratados com a auto-remediação, que abre PRs de upgrade. As pré-condições de um achado indicam o que ainda precisa ser verdadeiro para que um problema alcançável se concretize.

Inteligência de exploits: KEV e EPSS

A alcançabilidade diz se uma vulnerabilidade é explorável no seu código. Dois feeds do setor dizem se ela está sendo explorada no mundo real, e o ZeroPath enriquece todo achado com CVE usando ambos, atualizados diariamente:
  • CISA KEV (Known Exploited Vulnerabilities) marca um achado como Known exploited quando seu CVE está no catálogo da CISA de vulnerabilidades sob exploração ativa, com a data em que a CISA o adicionou e um indicador de campanha de ransomware conhecida. Uma listagem de exploração ativa é o sinal de prioridade mais forte para um achado.
  • FIRST EPSS (Exploit Prediction Scoring System) é a probabilidade de que um CVE seja explorado nos próximos 30 dias, exibida como um score EPSS com seu percentil, para que você possa classificar por probabilidade os CVEs ainda não explorados.
Um achado que é alcançável, listado no KEV e com EPSS alto é sua prioridade máxima. Um achado não alcançável, com score EPSS baixo e sem listagem no KEV, geralmente pode esperar.
Se um CVE não está no KEV ou o EPSS não o pontua, nenhum badge é exibido. Quando um feed não pode ser acessado durante um scan, o ZeroPath registra um aviso de cobertura Exploit intelligence unavailable.

Pré-condições

Quando uma vulnerabilidade é alcançável, mas sua exploração depende de condições que não podem ser confirmadas apenas pelo código, o ZeroPath exibe pré-condições, por exemplo “O método vulnerável só é chamado com entrada controlada pelo servidor” ou “Requer uma configuração de runtime específica para ser acionado”. As pré-condições permitem julgar a explorabilidade no mundo real de cada achado alcançável.

Triagem de transitivas

A maioria das dependências é transitiva, e investigar indiscriminadamente todo CVE transitivo soterra os achados que importam. Antes de gastar esforço de análise em uma vulnerabilidade transitiva, o ZeroPath avalia se a cadeia de dependências realmente a expõe. Cadeias profundas e opacas e dependências exclusivas de desenvolvimento são despriorizadas, para que a investigação se concentre onde um caminho real e alcançável é plausível.

Modelo de ameaças e contexto da aplicação

Se você configurou um modelo de ameaças ou contexto de aplicação para um repositório, a análise de alcançabilidade e a triagem de transitivas os incorporam. Áreas fora de escopo, fronteiras de zonas de confiança e premissas que você define entram nos vereditos de alcançabilidade, de modo que dependências em subárvores que você marcou como fora de escopo geram muito menos ruído.
Alcançabilidade e explorabilidade são avaliações probabilísticas assistidas por IA. Trate-as como sinais de priorização e confirme achados críticos de supply chain com revisão humana antes de usá-las para despriorizar um achado ou fazer merge automático de uma correção.