Retour aux mises à jour
New releaseAug 5, 2026

safe-chain v1.5.15

Protégez-vous contre les codes malveillants installés via npm, yarn, pnpm, npx, pnpx, pip, uv et poetry avec Aikido Safe Chain. Gratuit à utiliser, aucun jeton requis.

Partager

Aikido Safe Chain

Aikido Safe Chain

NPM Version NPM Downloads

  • ✅ Bloquez les malwares sur les ordinateurs portables des développeurs et dans les pipelines CI/CD
  • ✅ Prend en charge npm et PyPI d'autres gestionnaires de paquets arrivent bientôt
  • ✅ Bloque les paquets datant de moins de 48 heures sans casser votre build
  • ✅ Sans jeton, gratuit, aucune donnée de build partagée

Besoin d'une protection au-delà de npm et PyPI ?

Aikido Device Protection s'appuie sur Safe Chain et étend la sécurité des paquets et des extensions à davantage d'écosystèmes : npm, PyPI, VS Code, Open VSX - (Cursor, Windsurf, Kiro, Vs Codium, ...), Maven, NuGet, extensions Chrome, Go, compétences IA Skills.sh, Ruby, Rust, et plus encore.

Bénéficiez d'une gestion centralisée des politiques, de workflows de demande et d'approbation, et d'une visibilité sur chaque poste de développeur de votre organisation. Propulsé par le même flux Aikido Intel. Déployez-le manuellement ou gérez-le via votre outil MDM (Jamf, Fleet ou Iru).


Aikido Safe Chain prend en charge les gestionnaires de paquets suivants :

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

Utilisation

Aikido Safe Chain demo

Installation

L'installation d'Aikido Safe Chain est simple grâce au script d'installation.

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

Les commandes d'installation ci-dessus font toujours référence à une version spécifique. Pour installer une version différente, remplacez la version par le numéro de version souhaité. Toutes les versions disponibles se trouvent sur la page des releases.

Intégrité du téléchargement

Les scripts d'installation sont servis depuis une URL de release versionnée (releases/download/1.5.20/...). Les releases GitHub sont immuables — une fois qu'un artefact est publié à une URL versionnée, il ne peut être ni modifié ni remplacé, le fichier que vous téléchargez est donc garanti d'être exactement ce qui a été publié.

Vérifier l'installation

  1. ❗Redémarrez votre terminal pour commencer à utiliser Aikido Safe Chain.

    • Cette étape est cruciale car elle garantit que les alias de shell pour npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, poetry, uv, uvx, pipx et pdm sont correctement chargés. Si vous ne redémarrez pas votre terminal, les alias ne seront pas disponibles.
  2. Vérifiez l'installation en exécutant la commande de vérification : ```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

  • La sortie doit afficher « OK: Safe-chain works! » confirmant qu'Aikido Safe Chain est correctement installé et fonctionnel.
  1. (Facultatif) Tester le blocage de logiciels malveillants en tentant d'installer un paquet de test :

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

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

- La sortie doit montrer qu'Aikido Safe Chain bloque l'installation de ces paquets de test car ils sont signalés comme malveillants.

Lors de l'exécution des commandes `npm`, `npx`, `yarn`, `pnpm`, `pnpx`, `rush`, `rushx`, `bun`, `bunx`, `pip`, `pip3`, `uv`, `uvx`, `poetry`, `pipx` et `pdm`, Aikido Safe Chain vérifie automatiquement la présence de malwares dans les paquets que vous essayez d'installer. Il intercepte également les invocations de modules Python pour pip lorsqu'elles sont disponibles (par exemple, `python -m pip install ...`, `python3 -m pip download ...`). Si un malware est détecté, il vous invite à quitter la commande.

Vous pouvez vérifier la version installée en exécutant :```shell
safe-chain --version

Comment ça fonctionne

Blocage des malwares

L'Aikido Safe Chain fonctionne en exécutant un serveur proxy léger qui intercepte les téléchargements de paquets depuis le registre npm et PyPI. Lorsque vous exécutez les commandes npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, uv, uvx, poetry, pipx ou pdm, tous les téléchargements de paquets sont acheminés via ce proxy local, qui vérifie les paquets en temps réel par rapport à Aikido Intel - Open Sources Threat Intelligence. Si un malware est détecté dans un paquet (y compris les dépendances profondes), le proxy bloque le téléchargement avant que le code malveillant n'atteigne votre machine.

Âge minimum des paquets

Safe Chain applique des vérifications d'âge minimum des paquets aux écosystèmes pris en charge.

L'application actuelle diffère selon l'écosystème :

  • gestionnaires de paquets basés sur npm :
    • lors de la résolution normale des paquets, Safe Chain supprime les versions plus récentes que l'âge minimum configuré des métadonnées de paquets renvoyées par le registre
    • pour les requêtes de téléchargement direct de paquets qui contournent ce flux de métadonnées, Safe Chain peut bloquer la requête elle-même à l'aide d'une liste mise en cache des paquets récemment publiés
  • gestionnaires de paquets Python :
    • lors de la résolution des paquets, Safe Chain supprime les fichiers et versions trop récents des réponses de métadonnées PyPI
    • pour les requêtes de téléchargement direct de paquets qui contournent ce flux de métadonnées, Safe Chain peut bloquer la requête elle-même à l'aide d'une liste mise en cache des paquets récemment publiés

Par défaut, l'âge minimum des paquets est de 48 heures. Cela fournit une couche de sécurité supplémentaire pendant la période critique où les paquets nouvellement publiés sont les plus susceptibles de contenir des menaces non détectées. Vous pouvez configurer ce seuil ou contourner entièrement cette protection - consultez la section Minimum Package Age Configuration ci-dessous.

Intégration au shell

Catégories