Torna agli aggiornamenti
New releaseSep 1, 2026

vet v1.19.0

Proteggiti da pacchetti open source dannosi 🤖

Condividi

SafeDep vet

Individua pacchetti malevoli, vulnerabilità e workflow CI rischiosi prima che raggiungano la produzione.

Release Build OpenSSF Scorecard License Discord

Installazione • Documentazione • Comandi • Policy • Discord

[!NOTE] Questo branch è vet v2, in alpha. vet v1 si trova su main e rimane l'ultima release. Le note di rilascio v2.0.0 mappano ogni comando e flag di v1 su v2.

Perché vet

Le tue dipendenze, i tuoi workflow GitHub Actions e le configurazioni dei tuoi agenti AI eseguono codice che non hai scritto. vet individua il rischio in essi.

  • Pacchetti malevoli. vet verifica ogni pacchetto rispetto a SafeDep Threat Intel. Threat Intel analizza le nuove versioni dei pacchetti quando i registry le pubblicano.
  • Vulnerabilità note, con la versione corretta a cui aggiornare.
  • Workflow rischiosi. Trigger pericolosi, template injection, segreti esposti e action senza commit SHA fissato.
  • Manomissione dei lockfile e versioni recenti. Voci provenienti da un registry non attendibile e versioni all'interno della finestra di cooldown.
  • Policy as code. Regole in CEL decidono quando una scansione fallisce. Puoi testare una regola su una scansione salvata.
  • Inventario AI e crypto. vet elenca le librerie AI e gli algoritmi crittografici che il tuo codice richiama, e scrive un CycloneDX xBOM e CBOM.

vet non richiede alcun account e non invia codice sorgente.

Avvio rapido

brew install --cask safedep/tap/vet@edge
vet scan

vet scan rileva un pacchetto malevolo, vulnerabilità e injection nel workflow

vet scan --fail-on high                         # exit 1 on a high or critical finding
vet scan --base-ref origin/main --fail-on high  # report only what a pull request changes
vet report show --report sarif=vet.sarif        # write SARIF from the saved scan, with no new scan

Installazione

CanaleComando
Homebrewbrew install --cask safedep/tap/vet@edge
misemise use -g 'github:safedep/vet[prerelease=true]@2'
Gogo install github.com/safedep/vet/v2/cmd/vet@latest
Containerdocker run --rm -v "$PWD:/src" -w /src ghcr.io/safedep/vet:v2-latest scan

mise installa una release un giorno dopo la sua pubblicazione. install.md contiene il comando per la build più recente, i binari di release e le attestazioni di build.

Cosa analizza vet

TargetEsempio
Una directory (l'impostazione predefinita)vet scan, vet scan ./service
Un repository gitvet scan https://github.com/safedep/vet
Un'immagine containervet scan oci://alpine:3.20, vet scan image.tar
Un SBOM (CycloneDX o SPDX)vet scan sbom.cdx.json
Un singolo pacchettovet scan pkg:npm/[email protected]
Gli strumenti presenti su questa macchinavet endpoint audit

vet legge i lockfile e i manifest di npm, PyPI, Go, Maven, Gradle, Cargo, RubyGems, NuGet, Packagist, Pub e altri ancora. Legge inoltre i workflow di GitHub Actions e le configurazioni degli agenti AI del target. Non ne installa né ne esegue alcuno. I controlli trasformano questi dati in risultati. Vedi controls.md.

Policy

Una policy stabilisce quando una scansione fallisce. Salva questo file come vet-policy.yml:

version: 2
rules:
  - id: no-malware
    description: A malicious or suspicious package fails the build.
    when: finding.family == "malware"
    action: fail
  - id: no-workflow-injection
    when: finding.control_id in ["dangerous-trigger", "template-injection"]
    action: fail
  - id: no-critical-vulnerability
    when: finding.control_id == "vulnerability" && finding.severity == "critical"
    action: fail
  - id: new-dependency-age
    description: A pull request cannot add a version that is less than 14 days old.
    when: package.change == "ADDED" && has(package.days_since_publish) && package.days_since_publish < 14
    action: fail
suppressions:
  - purl: pkg:npm/[email protected]
    reason: The upgrade to 4.18.1 is in pull request 42.
    expires: 2026-12-31

Testalo sull'ultima scansione, senza una nuova scansione. Poi applicalo a una pull request:

vet report show last --policy vet-policy.yml
vet scan --base-ref origin/main --policy vet-policy.yml

Dopo la data di scadenza, la soppressione non nasconde più il finding. Leggi policy.md per i campi delle regole, ulteriori regole e la Agent Skill che scrive una policy per te.

Casi d'uso

  • Controllo delle pull request. La vet GitHub Action commenta su una pull request che aggiunge un pacchetto, un workflow o un finding, e fa fallire il controllo in caso di attacco. vet ci init la aggiunge a un repository.
  • Gate CI. Codici di uscita, SARIF per GitHub code scanning, report GitLab e Bitbucket. Vedi ci.md.
  • Revisione delle pull request. --base-ref segnala solo i pacchetti e i workflow che una modifica aggiunge.
  • xBOM e CBOM. Un inventario CycloneDX 1.7 delle librerie AI e della crittografia che il tuo codice utilizza. Vedi inventory.md.
  • Agenti AI. vet rileva Claude Code e altri agenti, poi scrive JSON e non chiede mai input.
  • Audit degli endpoint. vet endpoint audit elenca gli strumenti AI, i server MCP, le estensioni dell'editor e i pacchetti npm globali su una macchina dello sviluppatore, e li controlla alla ricerca di malware.

Documentazione

Categorie