Solo le vulnerabilità che contano, corrette con una pull request
Scandar legge i tuoi lockfile, tiene i problemi che il tuo codice può davvero raggiungere, li spiega in parole semplici e apre una pull request da rivedere.
main ← scandar/fix-web
Pull request di correzione aperta
Aggiornamenti delle dipendenze committati su scandar/fix-web.
Controlli
Tutti e 3 i controlli superati
Unione in main
Pronta da unire. Scandar la unisce con squash ed elimina il branch.
npm, pnpm, Yarn, PyPI, Go, Cargo, Composer, RubyGems
GitHub, GitLab, URL pubblico, caricamento lockfile
GitHub, PyPA, Go, RustSec, RubySec…
Ogni correzione è una pull request
Come funziona
Dal lockfile alla correzione unita in tre passaggi.
- 01
Collega il tuo codice
Installa la GitHub App sui repository scelti, collega GitLab, incolla un URL pubblico o trascina i lockfile.
- 02
Vedi ciò che conta
Ogni dipendenza è verificata su OSV.dev, poi ordinata per gravità, raggiungibilità dai tuoi import e disponibilità di una correzione.
- 03
Unisci la correzione
Scandar apre una pull request che porta ogni pacchetto alla versione corretta. La CI gira, tu unisci.
Una pull request, non una lista di cose da fare
Pull request di esempio. Pacchetti e id sono inventati.
Correzioni delle dipendenze generate da Scandar dagli avvisi OSV.dev.
| Pacchetto | Da | A | Tipo | Corregge |
|---|---|---|---|---|
| minimatch | 3.0.4 | 3.1.2 | diretto (package.json) | EXAMPLE-001 |
| brace-expansion | 1.1.11 | 1.1.12 | override (transitivo) | EXAMPLE-002 |
package-lock.json è stato risolto di nuovo con npm install. Dopo questa modifica non restano avvisi noti. Esegui i test prima di unire, soprattutto per le modifiche segnate major o override.
In parole semplici
minimatch 3.0.4 → 3.1.2 · EXAMPLE-001
- Cosa consente: Un attaccante che controlla il testo confrontato può far durare il processo così a lungo da bloccare la richiesta. Questa frase è un'illustrazione, non un avviso.
- Quando sei esposto: Solo se l'applicazione passa al pacchetto input non attendibili. L'esempio non descrive un progetto reale.
- Aggiornamento: L'esempio porta una dipendenza diretta a una release 3.x successiva. Leggi le note di rilascio prima di unire.
Gli intervalli diretti passano alla versione corretta, i pacchetti transitivi sono fissati con override e il lockfile viene rigenerato.
La descrizione nomina ogni pacchetto e, se una spiegazione è già in cache, dice cosa significa in parole semplici.
Come nasce una correzioneFunzionalità
Tutto ciò che aiuta a decidere cosa correggere, e poi a correggerlo.
Raggiungibilità
Distingue i pacchetti importati da quelli che il codice non raggiunge, così il rumore cala.
Subito, da pianificare, più tardi
Un punteggio di priorità per vulnerabilità, non un muro di badge rossi.
Pacchetti malevoli
I pacchetti segnalati come malware su OSV appaiono per primi, con la versione da rimuovere.
Spiegazioni semplici
Cosa significa un avviso per il tuo progetto e cosa cambia aggiornando, in poche frasi.
Controlli sulle pull request
Un controllo su ogni pull request che fallisce se aggiunge un avviso critico o alto.
Avvisi
Nuove scansioni in background, con avvisi Slack, Discord e in-app quando arriva un nuovo avviso.
Più PR di correzione
Più correzioni per progetto, mai lo stesso pacchetto due volte, mai un push su main.
Esportazioni
SBOM CycloneDX e SPDX, CSV, report stampabile e badge per il README.
Confronta
Scandar accanto a Dependabot, Snyk, Socket e Aikido, in base a ciò che ognuno pubblica.
Domande
Correggi oggi le vulnerabilità che contano
Scansiona un repository pubblico senza account, o accedi per aprire una pull request sul tuo codice.