ZurĂĽck zu den Updates
New releaseSep 1, 2026

vet v1.19.0

Schutz vor bösartigen Open-Source-Paketen 🤖

Teilen

SafeDep vet

Finden Sie bösartige Pakete, Schwachstellen und riskante CI-Workflows, bevor sie die Produktion erreichen.

Release Build OpenSSF Scorecard License Discord

Installation • Dokumentation • Befehle • Richtlinien • Discord

[!NOTE] Dieser Branch ist vet v2, in der Alpha-Phase. vet v1 befindet sich auf main und bleibt die neueste Version. Die v2.0.0-Versionshinweise ordnen jeden v1-Befehl und jedes Flag der v2 zu.

Warum vet

Ihre Abhängigkeiten, Ihre GitHub Actions-Workflows und Ihre KI-Agent-Konfigurationen führen Code aus, den Sie nicht geschrieben haben. vet findet die Risiken darin.

  • Bösartige Pakete. vet prĂĽft jedes Paket gegen SafeDep Threat Intel. Threat Intel analysiert neue Paketversionen, sobald die Registries sie veröffentlichen.
  • Bekannte Schwachstellen, mit der festen Version, auf die aktualisiert werden sollte.
  • Riskante Workflows. Gefährliche Trigger, Template-Injection, offengelegte Secrets und Actions ohne angehefteten Commit-SHA.
  • Manipulierte Lockfiles und frische Versionen. Einträge aus einer nicht vertrauenswĂĽrdigen Registry und Versionen innerhalb des Cooldown-Fensters.
  • Policy as Code. Regeln in CEL entscheiden, wann ein Scan fehlschlägt. Sie können eine Regel an einem gespeicherten Scan testen.
  • KI- und Krypto-Inventar. vet listet die KI-Bibliotheken und die Krypto-Algorithmen auf, die Ihr Code aufruft, und schreibt ein CycloneDX xBOM und CBOM.

vet benötigt kein Konto und sendet keinen Quellcode.

Schnellstart

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

vet scan findet ein bösartiges Paket, Schwachstellen und Workflow-Injection

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

Installation

KanalBefehl
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 installiert ein Release einen Tag nach dessen Veröffentlichung. install.md enthält den Befehl für den neuesten Build, die Release-Binaries und die Build-Attestierungen.

Was vet scannt

ZielBeispiel
Ein Verzeichnis (der Standard)vet scan, vet scan ./service
Ein Git-Repositoryvet scan https://github.com/safedep/vet
Ein Container-Imagevet scan oci://alpine:3.20, vet scan image.tar
Eine SBOM (CycloneDX oder SPDX)vet scan sbom.cdx.json
Ein Paketvet scan pkg:npm/[email protected]
Die Tools auf dieser Maschinevet endpoint audit

vet liest die Lockfiles und Manifeste von npm, PyPI, Go, Maven, Gradle, Cargo, RubyGems, NuGet, Packagist, Pub und weiteren. Es liest auĂźerdem die GitHub Actions Workflows und die AI-Agent-Konfigurationen des Ziels. Es installiert oder fĂĽhrt keines davon aus. Controls verwandeln diese Daten in Findings. Siehe controls.md.

Policy

Eine Policy entscheidet, wann ein Scan fehlschlägt. Speichern Sie diese Datei als 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

Testen Sie es mit dem letzten Scan, ohne einen neuen Scan. Wenden Sie es dann auf einen Pull Request an:

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

Nach Ablauf des GĂĽltigkeitsdatums verbirgt die UnterdrĂĽckung den Fund nicht mehr. Lies policy.md fĂĽr die Regelfelder, weitere Regeln und den Agent Skill, der eine Policy fĂĽr dich schreibt.

Anwendungsfälle

  • Pull-Request-PrĂĽfung. Die vet GitHub Action kommentiert einen Pull Request, der ein Paket, einen Workflow oder einen Fund hinzufĂĽgt, und lässt die PrĂĽfung bei einem Angriff fehlschlagen. vet ci init fĂĽgt sie einem Repository hinzu.
  • CI-Gate. Exit-Codes, SARIF fĂĽr GitHub Code Scanning, GitLab- und Bitbucket-Berichte. Siehe ci.md.
  • Pull-Request-Review. --base-ref meldet nur die Pakete und Workflows, die eine Ă„nderung hinzufĂĽgt.
  • xBOM und CBOM. Ein CycloneDX-1.7-Inventar der KI-Bibliotheken und der Kryptografie, die dein Code verwendet. Siehe inventory.md.
  • KI-Agenten. vet findet Claude Code und andere Agenten und schreibt dann JSON und fragt nie nach.
  • Endpoint-Audit. vet endpoint audit listet die KI-Tools, MCP-Server, Editor-Erweiterungen und globalen npm-Pakete auf einem Entwicklerrechner auf und prĂĽft sie auf Malware.

Dokumentation

Kategorien