Torna agli aggiornamenti
New releaseAug 5, 2026

safe-chain v1.5.15

Proteggiti dal codice malevolo installato tramite npm, yarn, pnpm, npx, pnpx, pip, uv e poetry con Aikido Safe Chain. Gratuito, nessun token richiesto.

Condividi

Aikido Safe Chain

Aikido Safe Chain

NPM Version NPM Downloads

  • ✅ Blocca malware sui laptop degli sviluppatori e nelle pipeline CI/CD
  • ✅ Supporta npm e PyPI, altri package manager in arrivo
  • ✅ Blocca i pacchetti più recenti di 48 ore senza rompere la tua build
  • ✅ Senza token, gratuito, nessun dato di build condiviso

Hai bisogno di protezione oltre npm e PyPI?

Aikido Device Protection si basa su Safe Chain, estendendo la sicurezza di pacchetti ed estensioni a più ecosistemi: npm, PyPI, VS Code, Open VSX - (Cursor, Windsurf, Kiro, Vs Codium, ...), Maven, NuGet, estensioni Chrome, Go, Skills.sh AI skills, Ruby, Rust e altri.

Ottieni una gestione centralizzata delle policy, flussi di lavoro di richiesta e approvazione, e visibilità su ogni workstation degli sviluppatori nella tua organizzazione. Basato sullo stesso feed Aikido Intel. Distribuiscilo manualmente o gestiscilo tramite il tuo strumento MDM (Jamf, Fleet o Iru).


Aikido Safe Chain supporta i seguenti package manager:

  • 📦 npm
  • 📦 npx
  • 📦 yarn
  • 📦 pnpm
  • 📦 pnpx
  • 📦 rush
  • 📦 rushx
  • 📦 bun
  • 📦 bunx
  • 📦 pip
  • 📦 pip3
  • 📦 uv
  • 📦 poetry
  • 📦 uvx
  • 📦 pipx
  • 📦 pdm

Utilizzo

Aikido Safe Chain demo

Installazione

Installare Aikido Safe Chain è semplice con lo script di installazione.

Unix/Linux/macOS```shell

curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.20/install-safe-chain.sh -o /tmp/install-safe-chain.sh
&& echo "0ad25efe15d1fa56105157a454d647223e78eb0c53d1f85e3d10afcd722e7bfd /tmp/install-safe-chain.sh" | sha256sum -c -
&& sh /tmp/install-safe-chain.sh
&& rm /tmp/install-safe-chain.sh

### Windows (PowerShell)```powershell
$installer = Join-Path $env:TEMP "install-safe-chain.ps1"
Invoke-WebRequest "https://github.com/AikidoSec/safe-chain/releases/download/1.5.20/install-safe-chain.ps1" -OutFile $installer -UseBasicParsing
$expectedHash = "468C342C5AABB71200B0BD19950984EDD5C4B39811B653B13A5AD15E0FBA4DFA"
if ((Get-FileHash $installer -Algorithm SHA256).Hash -ne $expectedHash) {
    Remove-Item $installer -ErrorAction SilentlyContinue
    throw "Checksum verification failed for install-safe-chain.ps1"
}
& $installer
Remove-Item $installer

I comandi di installazione sopra fanno sempre riferimento a una release specifica. Per installare una versione diversa, sostituisci la versione con il numero di versione desiderato. Tutte le versioni disponibili sono nella pagina delle release.

Integrità del download

Gli script di installazione vengono serviti da un URL di release versionato (releases/download/1.5.20/...). Le release di GitHub sono immutabili — una volta che un artefatto è pubblicato a un URL versionato non può essere modificato o sostituito, quindi il file che scarichi è garantito essere esattamente quello che è stato rilasciato.

Verifica l'installazione

  1. ❗Riavvia il tuo terminale per iniziare a usare Aikido Safe Chain.

    • Questo passaggio è cruciale poiché garantisce che gli alias della shell per npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, poetry, uv, uvx, pipx e pdm vengano caricati correttamente. Se non riavvii il terminale, gli alias non saranno disponibili.
  2. Verifica l'installazione eseguendo il comando di verifica: ```shell npm safe-chain-verify pnpm safe-chain-verify pip safe-chain-verify uv safe-chain-verify

    Any other supported package manager: {packagemanager} safe-chain-verify

  • L'output dovrebbe mostrare "OK: Safe-chain works!" confermando che Aikido Safe Chain è installato e funzionante correttamente.
  1. (Opzionale) Testare il blocco del malware tentando di installare un pacchetto di test:

    Per JavaScript/Node.js: ```shell npm install safe-chain-test

Per Python: ```shell pip3 install safe-chain-pi-test

- L'output dovrebbe mostrare che Aikido Safe Chain sta bloccando l'installazione di questi pacchetti di test poiché sono contrassegnati come malware.

Quando si eseguono i comandi `npm`, `npx`, `yarn`, `pnpm`, `pnpx`, `rush`, `rushx`, `bun`, `bunx`, `pip`, `pip3`, `uv`, `uvx`, `poetry`, `pipx` e `pdm`, Aikido Safe Chain controllerà automaticamente la presenza di malware nei pacchetti che stai tentando di installare. Intercetta anche le invocazioni dei moduli Python per pip quando disponibile (ad esempio, `python -m pip install ...`, `python3 -m pip download ...`). Se viene rilevato malware, ti verrà chiesto di uscire dal comando.

Puoi verificare la versione installata eseguendo:```shell
safe-chain --version

Come funziona

Blocco dei malware

Aikido Safe Chain funziona eseguendo un server proxy leggero che intercetta i download dei pacchetti dal registry npm e da PyPI. Quando esegui i comandi npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, uv, uvx, poetry, pipx o pdm, tutti i download dei pacchetti vengono instradati attraverso questo proxy locale, che verifica i pacchetti in tempo reale rispetto a Aikido Intel - Open Sources Threat Intelligence. Se viene rilevato malware in qualsiasi pacchetto (incluse le dipendenze profonde), il proxy blocca il download prima che il codice malevolo raggiunga la tua macchina.

Età minima del pacchetto

Safe Chain applica controlli sull'età minima dei pacchetti agli ecosistemi supportati.

L'applicazione attuale varia a seconda dell'ecosistema:

  • package manager basati su npm:
    • durante la normale risoluzione dei pacchetti, Safe Chain sopprime le versioni più recenti dell'età minima configurata dai metadati del pacchetto restituiti dal registry
    • per le richieste dirette di download di pacchetti che bypassano quel flusso di metadati, Safe Chain può bloccare la richiesta stessa utilizzando una lista in cache dei pacchetti appena rilasciati
  • package manager Python:
    • durante la risoluzione dei pacchetti, Safe Chain sopprime file e release troppo recenti dalle risposte dei metadati di PyPI
    • per le richieste dirette di download di pacchetti che bypassano quel flusso di metadati, Safe Chain può bloccare la richiesta stessa utilizzando una lista in cache dei pacchetti appena rilasciati

Per impostazione predefinita, l'età minima del pacchetto è di 48 ore. Questo fornisce un ulteriore livello di sicurezza durante il periodo critico in cui i pacchetti appena pubblicati sono più vulnerabili a contenere minacce non rilevate. Puoi configurare questa soglia o bypassare completamente questa protezione - vedi la sezione Minimum Package Age Configuration di seguito.

Integrazione con la shell

Aikido Safe Chain si integra con la tua shell per offrire un'esperienza fluida quando usi npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx e i package manager Python (pip, uv, uvx, poetry, pipx, pdm). Configura degli alias per questi comandi in modo che siano wrappati dai comandi di Aikido Safe Chain, che gestiscono il server proxy prima di eseguire i comandi originali. Attualmente supportiamo:

  • ✅ Bash
  • ✅ Zsh
  • ✅ Fish
  • ✅ PowerShell
  • ✅ PowerShell Core

Categorie