O que você recebe
Para cada patch que sugere um bump de versão, o ZeroPath:- Localiza os call sites no seu repositório que usam o pacote
- Classifica cada um como safe, needs-review ou breaking
- Exibe primeiro os sites mais arriscados na visualização do patch
Interpretando os rótulos
safe
safe
O ZeroPath não encontrou evidência de que o upgrade mude como esta chamada é resolvida — o símbolo é usado da mesma forma e sua assinatura não muda entre as versões. Note que mudanças apenas de comportamento (mesma assinatura, semântica de runtime diferente) não são detectáveis pela inspeção de assinaturas e ainda podem ser rotuladas como safe.
needs-review
needs-review
O upgrade pode afetar esta chamada, mas o ZeroPath não conseguiu confirmar em nenhum dos sentidos. Gatilhos comuns: o símbolo mudou de arquivo, o arquivo relevante é grande, ou a assinatura é genérica o bastante para que a inspeção direta seja inconclusiva. Cada rótulo needs-review vem com uma breve razão explicando o que não pôde ser confirmado.
breaking
breaking
Evidência forte de que esta chamada provavelmente quebrará na nova versão — por exemplo, o ZeroPath encontrou o símbolo removido, ou sua nova assinatura é incompatível com os argumentos usados aqui. Este é um sinal de compatibilidade de código, não uma avaliação de segurança. É exibido primeiro na visualização do patch para que os revisores possam tratá-lo de imediato.
needs-review como padrão quando a evidência é ambígua, favorecendo a inspeção em vez de uma mudança não percebida.
Gerenciadores de pacotes suportados
npm
PyPI
Go modules
Maven Central
crates.io (Cargo)
RubyGems
Packagist / Composer
O que ter em mente
O blast radius funciona examinando o código-fonte do pacote entre duas versões e comparando-o com seus call sites. Para a maioria dos upgrades isso é suficiente para agir diretamente. Alguns padrões são mais difíceis de detectar por inspeção de código-fonte — conhecê-los ajuda a interpretar o relatório:- Imports com alias — a descoberta de call sites pesquisa pelo nome do pacote, então usos alcançados apenas por meio de um binding local renomeado podem ser subcontados.
- Dispatch dinâmico — reflection em runtime (
getattrem Python, reflection em Java, dispatch baseado em interface/reflectem Go), exports gerados ou outros padrões de acesso indireto não são visíveis à detecção estática de call sites. - Mudanças apenas de comportamento — uma função com a mesma assinatura em ambas as versões mas semântica de runtime diferente (por exemplo, um validador de entrada mais estrito, um default diferente) não será marcada como breaking apenas pela inspeção de assinaturas.
- Re-exports através de pacotes aninhados — call sites que atingem um símbolo re-exportado podem mapear, na nova versão, para um arquivo diferente do que o blast radius examinou diretamente.
- Divergência de versão — o blast radius analisa exatamente as versões de origem/destino do upgrade proposto. Se seu ambiente acabar instalando uma versão diferente (faixas de versão, restrições transitivas), o relatório pode não refletir o que você de fato distribui.
O blast radius é uma análise derivada de IA. Para upgrades de alto risco — pacotes sensíveis à segurança, caminhos críticos de produção — combine a saída do blast radius com seu fluxo de revisão padrão.