Troppe segnalazioni Dependabot? Segui il percorso fino alla funzione vulnerabile

Dev
Visualizzazioni 2

Lo stesso pacchetto non implica la stessa urgenza. Un servizio può chiamare la funzione vulnerabile durante una richiesta, un altro installarla senza usarla. L’anteprima pubblica dell’analisi di raggiungibilità Dependabot del 28 ottobre 2026 rende visibile questa differenza.

Dal pacchetto al percorso di chiamata

Dependabot identifica versioni vulnerabili. La nuova analisi cerca un percorso dal codice del repository alla funzione interessata. Un workflow Actions gestito da GitHub usa CodeQL per costruire il grafo e confrontarlo con dati curati degli avvisi.

Il nostro codice inventato collega un’API ordini a package.parseUnsafe tramite un helper. Un’altra entrata usa solo package.formatLabel e non raggiunge l’obiettivo nel grafo. Non è una vulnerabilità reale né un risultato dell’analizzatore GitHub: spiega perché l’elenco dei pacchetti non basta.

Esempio JavaScript inventato originale: ordini raggiunge parseUnsafe, etichette termina in formatLabel. Non è una vulnerabilità reale né uno schermo ufficiale.
Esempio JavaScript inventato originale: ordini raggiunge parseUnsafe, etichette termina in formatLabel. Non è una vulnerabilità reale né uno schermo ufficiale.

Quattro esiti diversi

Reachable indica almeno un percorso, non dimostra che un attacco sia possibile. Contano ancora gli input esterni e l’uso in produzione. I cinque percorsi di esempio al massimo non sono un elenco completo.

Potentially reachable non esclude una chiamata e va prioritizzato insieme a Reachable. Unreachable significa analisi completata senza percorso trovato; Reachability unavailable significa nessun esito disponibile. Non sono equivalenti e nessuno chiude o ignora automaticamente le segnalazioni.

Cambiare codice non aggiorna subito l’esito

L’attivazione avvia la prima scansione. Le successive avvengono ogni 24 ore finché ci sono segnalazioni aperte. Un push non avvia una scansione immediata e l’anteprima non consente scansioni su richiesta.

Rimuovere oggi la chiamata può lasciare visibile il vecchio Reachable; aggiungerla può mantenere temporaneamente il vecchio Unreachable. La seconda immagine mostra l’output reale di Python sul nostro grafo inventato. Per una correzione reale bisogna collegare il momento della scansione al codice analizzato.

Output Python reale del grafo inventato: percorso trovato e assente. Non misura esiti GitHub o sfruttabilità.
Output Python reale del grafo inventato: percorso trovato e assente. Non misura esiti GitHub o sfruttabilità.

Repository supportati

L’anteprima è disponibile in GitHub Enterprise Cloud, residenza dei dati inclusa. Richiede JavaScript o TypeScript, un lockfile npm, Yarn o pnpm e Dependabot alerts attivi. Non serve una licenza GitHub Code Security. Le scansioni sono gratuite e non consumano minuti Actions fatturati; i runner propri non sono supportati.

La funzione è disattivata inizialmente. Si abilita da Settings > Advanced Security o con una configurazione di sicurezza personalizzata. Alcuni grandi monorepo possono raggiungere il limite di tre ore o di risorse. Gravità, EPSS ed esposizione in produzione restano rilevanti. Il vantaggio è decidere meglio quale segnalazione aperta affrontare prima.

Fonti e approfondimenti

GitHub Changelog · 2026-10-28

GitHub Docs · Reachability analysis