Muitos alertas do Dependabot? Siga o caminho até a função vulnerável

Dev
Visualizações 2

O mesmo pacote não significa a mesma urgência. Um serviço pode chamar a função vulnerável ao atender uma requisição, outro instalá-lo sem usar essa função. A prévia pública da análise de alcançabilidade do Dependabot, anunciada em 28 de outubro de 2026, mostra essa diferença.

Do pacote ao caminho de chamada

O Dependabot identifica versões vulneráveis. A nova análise busca um caminho do código do repositório até a função afetada. Um workflow Actions gerenciado pelo GitHub usa CodeQL para construir o grafo e compará-lo com dados selecionados dos avisos.

Nosso código fictício liga uma API de pedidos a package.parseUnsafe por uma função auxiliar. Outra entrada usa apenas package.formatLabel e não atinge o alvo nesse grafo. Não é uma vulnerabilidade real nem um resultado do analisador GitHub: explica por que a lista de pacotes não basta.

Exemplo JavaScript fictício original: pedidos chega a parseUnsafe; etiquetas termina em formatLabel. Não é vulnerabilidade real nem tela oficial.
Exemplo JavaScript fictício original: pedidos chega a parseUnsafe; etiquetas termina em formatLabel. Não é vulnerabilidade real nem tela oficial.

Quatro resultados diferentes

Reachable indica pelo menos um caminho, não prova que um ataque seja possível. Entradas externas e uso em produção ainda importam. Os cinco caminhos de exemplo no máximo não são uma lista completa.

Potentially reachable não descarta uma chamada e deve ser priorizado com Reachable. Unreachable significa análise concluída sem caminho encontrado; Reachability unavailable significa que não há resultado disponível. Não são equivalentes e nenhum fecha ou dispensa alertas automaticamente.

Alterar o código não atualiza o resultado imediatamente

A ativação inicia a primeira análise. As seguintes ocorrem a cada 24 horas enquanto houver alertas abertos. Um push não dispara uma análise imediata, e a prévia não permite execução sob demanda.

Remover a chamada hoje pode deixar o antigo Reachable visível. Adicioná-la pode manter temporariamente o antigo Unreachable. A segunda imagem é a saída real de Python para nosso grafo fictício. Para uma correção real, relacione o horário da análise ao código avaliado.

Saída Python real do grafo fictício: caminho encontrado e ausente. Não mede resultados GitHub ou explorabilidade.
Saída Python real do grafo fictício: caminho encontrado e ausente. Não mede resultados GitHub ou explorabilidade.

Repositórios compatíveis

A prévia está disponível no GitHub Enterprise Cloud, incluindo residência de dados. Exige JavaScript ou TypeScript, lockfile npm, Yarn ou pnpm e Dependabot alerts habilitados. Não exige licença GitHub Code Security. É gratuita, não consome minutos Actions faturados e não aceita runners próprios.

A função começa desativada. Ative em Settings > Advanced Security ou com uma configuração de segurança personalizada. Alguns monorepos grandes podem atingir o limite de três horas ou de recursos. Gravidade, EPSS e exposição em produção continuam relevantes. O ganho é ter mais evidências para ordenar os alertas abertos.

Fontes e leituras adicionais

GitHub Changelog · 2026-10-28

GitHub Docs · Reachability analysis