Zurück zu den Updates
New releaseAug 30, 2026

pmg v0.27.0

PMG schützt Entwickler und KI-Agenten vor bösartigen Open-Source-Paketen mittels Proxy, Sandbox und dem Threat-Intelligence-Feed von SafeDep.

Teilen

Package Manager Guard (PMG)

Blockieren Sie bösartige npm- und pip-Pakete, bevor sie installiert werden.
Defense in Depth für die Paketmanager, die Sie bereits verwenden.

safedep%2Fpmg | Trendshift

pmg in action

Docs Website Discord Featured in tl;dr sec

Go Report Card License Release OpenSSF Scorecard CodeQL

Warum PMG?

Entwickler und KI-Coding-Agenten installieren täglich Pakete. Jede npm install- oder pip install-Ausführung führt Tausende von Codezeilen aus, die niemand überprüft.

Aktuelle Kompromittierungen in beliebten Ökosystemen:

  • Mini Shai-Hulud - 300+ beliebte Pakete kompromittiert
  • litellm 1.82.8 - eine beliebte KI-Proxy-Bibliothek kompromittiert, um Anmeldeinformationen zu exfiltrieren
  • telnyx 4.87.2 - ein legitimes Telekom-SDK auf PyPI gekapert
  • pino-sdk-v2 - ein Typosquat-Paket, das als beliebter pino-Logger getarnt ist

PMG ist kostenlos, Open Source (Apache 2.0) und erfordert kein Konto oder keinen API-Schlüssel. Es fängt jede Paketinstallation ab und prüft sie über SafeDeps kostenlose Community-API auf bekannte Malware, bevor Code ausgeführt wird. Installieren Sie es einmal, und es deckt jede nachfolgende npm install, pip install und poetry add ab.

So funktioniert PMG

PMG verfolgt einen Defense-in-Depth-Ansatz. Null Konfiguration, funktioniert mit Zsh, Bash und Fish, und jede Installation durchläuft die aktivierten Schutzschichten, bevor Code ausgeführt wird, plus eine Audit-Trail danach.

PMG Defense in Depth: Installationsbefehl von PMG abgefangen, durch Layer 1 Threat Intel, Layer 2 Cooldown, Layer 3 Sandbox geleitet, dann mit einem Audit-Log-Eintrag ausgeführt
Schichtdetails
  • Transparente Abfangung - PMG umschließt npm, pip und andere Paketmanager. Entwickler und KI-Agenten verwenden dieselben Befehle. Keine Workflow-Änderungen.
  • Layer 1: Threat Intelligence - PMG prüft jedes Paket vor der Installation gegen SafeDeps Echtzeit-Threat-Intelligence. Bekannt bösartige Pakete werden blockiert. Kein Schlüssel, kein Login erforderlich.
  • Layer 2: Richtlinie (Dependency Cooldown) - PMG blockiert Paketversionen, die innerhalb eines konfigurierbaren Cooldown-Fensters veröffentlicht wurden, sodass kürzlich kompromittierte Versionen während des Fensters übersprungen werden.
  • Layer 3: Opt-in-Sandbox - Wenn Sandboxing aktiviert und konfiguriert ist, führt PMG Installationen in OS-nativen Sandboxes aus (macOS Seatbelt, Linux Landlock standardmäßig, oder Bubblewrap als Fallback), sodass Installationsskripte eingeschränkten Systemzugriff haben, selbst wenn eine Bedrohung die ersten beiden Schichten passiert.
  • Audit-Logging - PMG protokolliert jede Installation (was, wann, von wo) für eine überprüfbare Audit-Trail.

Wie PMG im Vergleich abschneidet

PMG ist die einzige kostenlose, Open-Source-Installationszeit-Paketfirewall, die Entwickler und KI-Agenten gleichermaßen abdeckt und standardmäßig mit Sandboxing und Cooldown ausgeliefert wird.

FähigkeitPMGSocketsafe-chainSnykDependabot
OSS / öffentlich gebaut
Kein Konto oder API-Schlüssel
Blockierung bösartiger Pakete zur Installationszeit
Dependency-Cooldown-Richtlinie
Laufzeit-Sandboxing
Schützt KI-Coding-Agenten transparent
Lokale Audit-Logs
Bekannte-CVE-Behebungs-PRs

Schnellstart

1. Installation

curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh

Siehe Installation für Homebrew, npm und andere Installationsmethoden.

2. Einrichtung

Binden Sie PMG in Ihre Shell ein, damit es Paketmanager abfängt.

pmg setup install
# Starten Sie Ihr Terminal neu, um Änderungen zu übernehmen

Tipp: Führen Sie pmg setup install nach einem Upgrade von PMG erneut aus, um neue Konfigurationsoptionen zu übernehmen.

Linux für alle Benutzer / Golden Images: sudo pmg setup install --system — siehe docs/system-install.md.

Validieren Sie Ihre Installation und überprüfen Sie, ob der Schutz funktioniert:

pmg setup doctor

Optional: PMG prüft HTTPS-Datenverkehr mit einer On-the-fly-CA, die es pro Lauf in Paketmanager injiziert. Um eine einzelne CA über mehrere Läufe hinweg beizubehalten und sie im OS-Vertrauensspeicher zu verankern (erforderlich für Tools, die CA-Umgebungsvariablen ignorieren, wie Go auf macOS und Windows), installieren Sie sie einmal:

pmg setup cert install          # Benutzerbereich, kein sudo
pmg setup cert status           # Vertrauensstatus und Ablauf prüfen

Siehe Certificate Authority für Bereiche, Rotation und Entfernung.

3. Verwendung

Sehen Sie, wie PMG Bedrohungen blockiert.

npm install --no-cache --prefer-online [email protected]

Hinweis: safedep-test-pkg ist ein harmloses Testpaket, das in SafeDeps Datenbank als bösartig markiert ist, zu Test- und Verifizierungszwecken.

Verwenden Sie Ihre Paketmanager wie gewohnt weiter, oder lassen Sie Ihren KI-Coding-Agenten sie ausführen. PMG sitzt im Pfad und blockiert bösartige Pakete.

npm install express
# oder
pip install requests

Unterstützte Paketmanager

PMG unterstützt die Tools, die Sie bereits verwenden:

ÖkosystemToolsBefehlsbeispiel
Node.jsnpmnpm install <pkg>
pnpmpnpm add <pkg>
yarnyarn add <pkg>
bunbun add <pkg>
npxnpx <pkg>
pnpxpnpx <pkg>
Pythonpippip install <pkg>
pipxpipx run <pkg>
poetrypoetry add <pkg>
uvuv add <pkg>
uvxuvx <pkg>

Installation

Installationsskript (MacOS/Linux)

Lädt die neueste Version von GitHub herunter, verifiziert ihre SHA-256-Prüfsumme und installiert sie nach $HOME/.local/bin (falls auf PATH) oder /usr/local/bin.

curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
Homebrew (MacOS/Linux)
brew tap safedep/tap
brew install safedep/tap/pmg
NPM (Plattformübergreifend)
npm install -g @safedep/pmg

Hinweis: NPM-basierte Installationen können fragil sein, wenn Node.js von Versionsmanagern wie mise oder asdf verwaltet wird. Der globale npm-Bin-Pfad ändert sich mit der aktiven Node-Version, sodass ein Versionswechsel pmg auf PATH unverfügbar machen kann (oder auf eine alte Installation verweist). Für solche Setups bevorzugen Sie das Installationsskript oder Homebrew.

Go (Build aus dem Quellcode)
# Stellen Sie sicher, dass $(go env GOPATH)/bin in Ihrem $PATH ist
go install github.com/safedep/pmg@latest
Binär-Download

Laden Sie die neueste Binärdatei für Ihre Plattform von der Releases-Seite herunter.

Container-Image (GHCR)

Vorgefertigte Multi-Arch-Images (linux/amd64, linux/arm64) werden bei jeder Veröffentlichung im GitHub Container Registry veröffentlicht. Der Image-Einstiegspunkt ist pmg.

# Neuestes Image ziehen (oder eine Version markieren, z. B. :v1.2.3)
docker pull ghcr.io/safedep/pmg:latest

# Beliebigen pmg-Befehl ausführen
docker run --rm ghcr.io/safedep/pmg:latest version

GitHub Actions

Schützen Sie CI-Workflows mit einem Schritt. PMG analysiert jede npm install, pip install usw. im Job.

- uses: safedep/pmg@v1
  with:
    server-mode: true

# automatisch über HTTP_PROXY abgefangen
- run: npm ci

- name: PMG-Richtlinie durchsetzen
  if: always()
  run: pmg proxy stop --fail-on-violation   # stoppt den Daemon, schlägt den Job bei einem Block fehl

Standardmäßig erhalten Sie Malware-Blockierung und Dependency-Cooldown. Sandbox-Isolation ist über den sandbox-Input opt-in. Passen Sie das Verhalten über Inputs an (paranoid, sandbox, cooldown-days, ...) oder zeigen Sie mit config-file auf eine YAML-Datei im Repo. Siehe docs/github-action.md für die vollständige Referenz.

Deinstallation

Entfernen Sie die Shell-Integration:

pmg setup remove

Um auch die PMG-Konfigurationsdatei zu entfernen:

pmg setup remove --config-file

Dann deinstallieren Sie PMG selbst:

# Homebrew
brew uninstall safedep/tap/pmg

# NPM
npm uninstall -g @safedep/pmg

Vertrauen und Sicherheit

PMG-Builds sind reproduzierbar und signiert.

  • Attestationen: GitHub- und npm-Attestationen garantieren die Integrität der Artefakte.
  • Verifizierung: Sie können kryptografisch nachweisen, dass die Binärdatei dem Quellcode entspricht.
  • Siehe PMG vertrauen für Verifizierungsschritte.

Benutzerhandbuch

Unterstützung

Wenn PMG Sie vor einem schlechten Paket bewahrt hat, markieren Sie dieses Repo mit einem Stern. Es hilft anderen, es zu finden.

Mitwirken

Beiträge sind willkommen. Siehe CONTRIBUTING.md für Build- und Testanweisungen.

Danke an alle Mitwirkenden ❤️

Contributors to PMG

Telemetrie

PMG sammelt anonyme Nutzungsdaten. Zum Deaktivieren entweder:

  • Setzen Sie disable_telemetry: true in Ihrer PMG-Konfigurationsdatei, oder
  • Exportieren Sie PMG_DISABLE_TELEMETRY=true.

Kategorien