
PMG schützt Entwickler und KI-Agenten vor bösartigen Open-Source-Paketen mittels Proxy, Sandbox und dem Threat-Intelligence-Feed von SafeDep.
Schädliche npm- und pip-Pakete blockieren, bevor sie installiert werden.
Verteidigung in der Tiefe für die Paketmanager, die Sie bereits verwenden.
Entwickler und KI-Codierungsagenten installieren täglich Pakete. Jedes npm install oder pip install führt Tausende von Codezeilen aus, die niemand überprüft.
Aktuelle Kompromittierungen in beliebten Ökosystemen:
PMG ist kostenlos, Open Source (Apache 2.0) und erfordert kein Konto oder API-Schlüssel. Es unterbricht jede Paketinstallation und prüft sie gegen die kostenlose Community-API von SafeDep auf bekannte Schadsoftware, bevor Code ausgeführt wird. Einmal installiert, deckt es jedes anschließende npm install, pip install und poetry add ab.
PMG verfolgt einen Ansatz der Verteidigung in der Tiefe. Keine Konfiguration erforderlich, funktioniert mit Zsh, Bash und Fish, und jede Installation durchläuft die aktivierten Schutzschichten, bevor Code ausgeführt wird, plus einer Prüfspur danach.
npm, pip und andere Paketmanager. Entwickler und KI-Agenten verwenden dieselben Befehle. Keine Änderung der Arbeitsabläufe.PMG ist die einzige kostenlose, quelloffene Installationszeit-Paketfirewall, die sowohl Entwickler als auch KI-Agenten abdeckt und standardmäßig mit Sandboxing und Abkühlphase ausgeliefert wird.
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
Siehe Installation für Homebrew, npm und andere Installationsmethoden.
Binden Sie PMG in Ihre Shell ein, damit es Paketmanager abfängt.
pmg setup install
# Starten Sie Ihr Terminal neu, um die Änderungen zu übernehmen
Tipp: Führen Sie
pmg setup installnach 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.
Überprüfen Sie Ihre Installation und stellen Sie sicher, dass der Schutz funktioniert:
pmg setup doctor
Optional: PMG inspiziert HTTPS-Datenverkehr mit einer fliegenden CA, die es pro Lauf in Paketmanager einfügt. Um eine einzelne CA über mehrere Läufe hinweg zu persistieren und in Ihrem Betriebssystem-Vertrauensspeicher zu verankern (erforderlich für Tools, die CA-Umgebungsvariablen ignorieren, wie Go unter macOS und Windows), installieren Sie sie einmal:
pmg setup cert install # Benutzerbereich, kein sudo pmg setup cert status # Vertrauensstatus und Ablauf prüfenSiehe Certificate Authority für Bereiche, Rotation und Entfernung.
Sehen Sie, wie PMG Bedrohungen blockiert.
npm install --no-cache --prefer-online [email protected]
Hinweis:
safedep-test-pkgist ein harmloses Testpaket, das in der Datenbank von SafeDep zu Test- und Verifizierungszwecken als schädlich markiert wurde.
Verwenden Sie Ihre Paketmanager wie gewohnt weiter oder lassen Sie Ihren KI-Codierungsagenten sie ausführen. PMG sitzt im Pfad und blockiert schädliche Pakete.
npm install express
# oder
pip install requests
PMG unterstützt die Tools, die Sie bereits verwenden:
Lädt die neueste Version von GitHub herunter, überprüft die SHA-256-Prüfsumme und installiert sie in $HOME/.local/bin (falls im PATH) oder /usr/local/bin.
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
brew tap safedep/tap
brew install safedep/tap/pmg
npm install -g @safedep/pmg
Hinweis: NPM-basierte Installationen können instabil sein, wenn Node.js von Versionsverwaltungstools wie
miseoderasdfverwaltet wird. Der globalenpm-Bin-Pfad ändert sich mit der aktiven Node-Version, sodass ein Versionswechsel dazu führen kann, dasspmgnicht imPATHverfügbar ist (oder auf eine alte Installation verweist). Für solche Einrichtungen sind das Installationsskript oder Homebrew zu bevorzugen.
# Stellen Sie sicher, dass $(go env GOPATH)/bin in Ihrem $PATH ist
go install github.com/safedep/pmg@latest
Laden Sie die neueste Binärdatei für Ihre Plattform von der Releases-Seite herunter.
Vorgefertigte Multi-Arch-Images (linux/amd64, linux/arm64) werden bei jeder Veröffentlichung im GitHub Container Registry veröffentlicht. Der Einstiegspunkt des Images ist pmg.
# Pullen Sie das neueste Image (oder legen Sie eine Version fest, z. B. :v1.2.3)
docker pull ghcr.io/safedep/pmg:latest
# Führen Sie einen beliebigen pmg-Befehl aus
docker run --rm ghcr.io/safedep/pmg:latest version
Schützen Sie CI-Workflows mit einem Schritt. PMG analysiert jedes npm install,
pip install usw. im Job.
- uses: safedep/pmg@v1
with:
server-mode: true
# automatisch über HTTP_PROXY abgefangen
- run: npm ci
- name: Enforce PMG policy
if: always()
run: pmg proxy stop --fail-on-violation # stoppt den Daemon, der Job schlägt bei einer Blockierung fehl
Standardmäßig erhalten Sie Malware-Blockierung und Abhängigkeits-Abkühlphase. Die Sandbox-Isolation ist opt-in über die Eingabe sandbox. Passen Sie das Verhalten über Eingaben (paranoid, sandbox, cooldown-days, ...) an oder verweisen Sie mit config-file auf ein YAML im Repository. Siehe docs/github-action.md für die vollständige Referenz.
Shell-Integration entfernen:
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
PMG-Builds sind reproduzierbar und signiert.
Wenn PMG Sie vor einem schlechten Paket bewahrt hat, markieren Sie dieses Repository mit einem Stern. Es hilft anderen, es zu finden.
Beiträge sind willkommen. Siehe CONTRIBUTING.md für Build- und Testanweisungen.
Vielen Dank an alle Mitwirkenden ❤️
PMG sammelt anonyme Nutzungsdaten. Um dies zu deaktivieren, entweder:
disable_telemetry: true in Ihrer PMG-Konfigurationsdatei, oderPMG_DISABLE_TELEMETRY=true.| Fähigkeit | PMG | Socket | safe-chain | Snyk | Dependabot |
|---|
| Open Source / öffentlich entwickelt | ✓ | ✗ | ✓ | ✗ | ✗ |
| Kein Konto oder API-Schlüssel | ✓ | ✓ | ✓ | ✗ | ✗ |
| Blockieren schädlicher Pakete zur Installationszeit | ✓ | ✓ | ✓ | ✗ | ✗ |
| Richtlinie zur Abhängigkeits-Abkühlphase | ✓ | ✗ | ✓ | ✗ | ✗ |
| Laufzeit-Sandboxing | ✓ | ✗ | ✗ | ✗ | ✗ |
| Schützt KI-Codierungsagenten transparent | ✓ | ✗ | ✗ | ✗ | ✗ |
| Lokale Prüfprotokolle | ✓ | ✗ | ✗ | ✗ | ✗ |
| Bekannte CVE-Behebungs-PRs | ✗ | ✗ | ✗ | ✓ | ✓ |
| Ökosystem | Tools | Befehlsbeispiel |
|---|
| Node.js | npm | npm install <pkg> |
pnpm | pnpm add <pkg> | |
yarn | yarn add <pkg> | |
bun | bun add <pkg> | |
npx | npx <pkg> | |
pnpx | pnpx <pkg> | |
| Python | pip | pip install <pkg> |
pipx | pipx run <pkg> | |
poetry | poetry add <pkg> | |
uv | uv add <pkg> | |
uvx | uvx <pkg> |