
PMG protegge sviluppatori e agenti AI da pacchetti open source dannosi utilizzando proxy, sandbox e il feed di intelligence sulle minacce di SafeDep.
Blocca i pacchetti npm e pip dannosi prima che vengano installati.
Difesa a profondità per i gestori di pacchetti che già utilizzi.
Gli sviluppatori e gli agenti AI di codifica installano pacchetti ogni giorno. Ogni npm install o pip install esegue migliaia di righe di codice che nessuno revisiona.
Compromissioni recenti in ecosistemi popolari:
PMG è gratuito, open source (Apache 2.0) e non richiede account o chiave API. Intercetta ogni installazione di pacchetti e la controlla tramite l'API community gratuita di SafeDep per malware noti prima che il codice venga eseguito. Installalo una volta e coprirà ogni npm install, pip install e poetry add successivo.
PMG adotta un approccio di difesa a profondità. Zero configurazione, funziona con Zsh, Bash e Fish, e ogni installazione passa attraverso i livelli di protezione abilitati prima che il codice venga eseguito, più una traccia di audit successiva.
npm, pip e altri gestori di pacchetti. Sviluppatori e agenti AI usano gli stessi comandi. Nessun cambiamento nel flusso di lavoro.PMG è l'unico firewall per pacchetti gratuito, open-source, al momento dell'installazione, che copre sia sviluppatori che agenti AI ed è fornito con sandboxing e cooldown pronti all'uso.
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
Vedi Installazione per Homebrew, npm e altri metodi di installazione.
Collega PMG al tuo shell in modo che intercetti i gestori di pacchetti.
pmg setup install
# Riavvia il terminale per applicare le modifiche
Suggerimento: Esegui di nuovo
pmg setup installdopo aver aggiornato PMG per raccogliere nuove opzioni di configurazione.Linux per tutti gli utenti / immagini golden:
sudo pmg setup install --system— vedi docs/system-install.md.
Convalida la tua installazione e verifica che la protezione funzioni:
pmg setup doctor
Opzionale: PMG ispeziona il traffico HTTPS con una CA creata al volo che inietta nei gestori di pacchetti per ogni esecuzione. Per rendere persistente una singola CA tra le esecuzioni e fidarti di essa nel trust store del tuo sistema operativo (necessario per strumenti che ignorano le variabili d'ambiente CA, come Go su macOS e Windows), installala una volta:
pmg setup cert install # ambito utente, nessun sudo pmg setup cert status # verifica stato di fiducia e scadenzaVedi Certificate Authority per ambiti, rotazione e rimozione.
Guarda PMG bloccare le minacce.
npm install --no-cache --prefer-online [email protected]
Nota:
safedep-test-pkgè un pacchetto di test benigno segnalato come dannoso nel database di SafeDep per scopi di test e verifica.
Continua a usare i tuoi gestori di pacchetti come al solito, o lascia che il tuo agente AI di codifica li esegua. PMG si trova nel percorso, bloccando i pacchetti dannosi.
npm install express
# oppure
pip install requests
PMG supporta gli strumenti che già utilizzi:
Scarica l'ultima release da GitHub, verifica il checksum SHA-256 e installa in $HOME/.local/bin (se nel PATH) o /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
Nota: Le installazioni basate su NPM possono essere fragili quando Node.js è gestito da version manager come
miseoasdf. Il percorso bin globale dinpmcambia con la versione attiva di Node, quindi cambiare versione può lasciarepmgnon disponibile nelPATH(o puntare a una vecchia installazione). Per queste configurazioni, preferisci lo script di installazione o Homebrew.
# Ensure $(go env GOPATH)/bin is in your $PATH
go install github.com/safedep/pmg@latest
Scarica l'ultimo binario per la tua piattaforma dalla Pagina delle Release.
Immagini precompilate multi-arch (linux/amd64, linux/arm64) vengono pubblicate su GitHub Container Registry ad ogni release. Il punto di ingresso dell'immagine è pmg.
# Pull the latest image (or pin a version tag, e.g. :v1.2.3)
docker pull ghcr.io/safedep/pmg:latest
# Run any pmg command
docker run --rm ghcr.io/safedep/pmg:latest version
Proteggi i flussi di lavoro CI con un solo passaggio. PMG analizza ogni npm install, pip install, ecc. nel job.
- uses: safedep/pmg@v1
with:
server-mode: true
# intercepted via HTTP_PROXY automatically
- run: npm ci
- name: Enforce PMG policy
if: always()
run: pmg proxy stop --fail-on-violation # stops the daemon, fails the job on a block
Per impostazione predefinita ottieni il blocco del malware e il cooldown delle dipendenze. L'isolamento sandbox è opzionale tramite l'input sandbox. Regola il comportamento tramite input (paranoid, sandbox, cooldown-days, ...) o punta config-file a un YAML nel repository. Vedi docs/github-action.md per il riferimento completo.
Rimuovi l'integrazione con la shell:
pmg setup remove
Per rimuovere anche il file di configurazione di PMG:
pmg setup remove --config-file
Poi disinstalla PMG stesso:
# Homebrew
brew uninstall safedep/tap/pmg
# NPM
npm uninstall -g @safedep/pmg
Le build di PMG sono riproducibili e firmate.
Se PMG ti ha salvato da un pacchetto dannoso, metti una stella a questo repository. Aiuta altri a trovarlo.
I contributi sono benvenuti. Vedi CONTRIBUTING.md per le istruzioni di build e test.
Grazie a tutti i contributori ❤️
PMG raccoglie dati di utilizzo anonimi. Per disabilitarli, puoi:
disable_telemetry: true nel tuo file di configurazione PMG, oppurePMG_DISABLE_TELEMETRY=true.| Capacità | PMG | Socket | safe-chain | Snyk | Dependabot |
|---|
| Open Source / costruito in pubblico | ✓ | ✗ | ✓ | ✗ | ✗ |
| Nessun account o chiave API | ✓ | ✓ | ✓ | ✗ | ✗ |
| Blocco di pacchetti dannosi al momento dell'installazione | ✓ | ✓ | ✓ | ✗ | ✗ |
| Policy di cooldown delle dipendenze | ✓ | ✗ | ✓ | ✗ | ✗ |
| Sandbox a runtime | ✓ | ✗ | ✗ | ✗ | ✗ |
| Protegge gli agenti AI di codifica in modo trasparente | ✓ | ✗ | ✗ | ✗ | ✗ |
| Registri di audit locali | ✓ | ✗ | ✗ | ✗ | ✗ |
| PR di remediation per CVE noti | ✗ | ✗ | ✗ | ✓ | ✓ |
| Ecosistema | Strumenti | Esempio di Comando |
|---|
| 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> |