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

vet v1.19.0

Schutz vor bösartigen Open-Source-Paketen 🤖

Teilen

SafeDep vet

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

Release Build OpenSSF Scorecard License Discord

Installation • Dokumentation • Befehle • Policy • 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 v2 zu.

Warum vet

Deine Abhängigkeiten, deine GitHub-Actions-Workflows und deine KI-Agent-Konfigurationen führen Code aus, den du nicht geschrieben hast. vet findet das Risiko 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 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. Du kannst eine Regel an einem gespeicherten Scan testen.
  • KI- und Krypto-Inventar. vet listet die KI-Bibliotheken und die Krypto-Algorithmen auf, die dein 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 eine Version einen Tag nach ihrer Veröffentlichung. install.md enthält den Befehl für den neuesten Build, die Release-Binärdateien 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
Ein 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 mehr. Es liest auch die GitHub-Actions-Workflows und die KI-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. Speichere 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

Teste sie am letzten Scan, ohne einen neuen Scan. Wende sie 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 ihrem Ablaufdatum verbirgt die UnterdrĂĽckung das Finding 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 ein Finding 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 Krypto, 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 einer Entwicklermaschine auf und prĂĽft sie auf Malware.

Dokumentation

Kategorien