
safe-chain v1.5.16
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.
Aikido Safe Chain
- ✅ Bloque les malwares sur les ordinateurs portables des développeurs et en CI/CD
- ✅ Prend en charge npm et PyPI, d'autres gestionnaires de paquets à venir
- ✅ Bloque les paquets 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, étendant 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 flux de travail de demande et d'approbation, et d'une visibilité sur chaque poste de travail de développeur de votre organisation. Propulsé par le même flux Intel Aikido. 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

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.16/install-safe-chain.sh -o /tmp/install-safe-chain.sh
&& echo "7a7b6e54c2e0adbcb53bc1bf7d258cc974f8f31e77ed048b88e4d2e4ac758839 /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.16/install-safe-chain.ps1" -OutFile $installer -UseBasicParsing
$expectedHash = "6F46B5CFA42DDF9545616E169A567E764CE179E6321E6555D2C3A81768E2635D"
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 référencent toujours 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 versions.
Intégrité du téléchargement
Les scripts d'installation sont servis depuis une URL de version datée (releases/download/1.5.16/...). Les versions GitHub sont immuables — une fois qu'un artefact est publié à une URL versionnée, il ne peut être ni modifié ni remplacé, de sorte que le fichier que vous téléchargez est garanti d'être exactement celui qui a été publié.
Vérifier l'installation
-
❗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 chargés correctement. Si vous ne redémarrez pas votre terminal, les alias ne seront pas disponibles.
-
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 fonctionne ! » confirmant qu'Aikido Safe Chain est correctement installé et en cours d'exécution.
-
(Facultatif) Testez le blocage des malwares 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 de 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 tentez d'installer. Il intercepte également les invocations de modules Python pour pip lorsque cela est disponible (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
Fonctionnement
Blocage des malwares
La chaîne sécurisée Aikido 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 des 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 routé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
La chaîne sécurisée applique des contrôles d'âge minimum des paquets pour les é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, la chaîne sécurisée supprime des métadonnées de paquets renvoyées par le registre les versions plus récentes que l'âge minimum configuré
- pour les demandes de téléchargement direct de paquets qui contournent ce flux de métadonnées, la chaîne sécurisée peut bloquer la demande elle-même à l'aide d'une liste en cache des paquets récemment publiés
- Gestionnaires de paquets Python :
- lors de la résolution des paquets, la chaîne sécurisée supprime des réponses de métadonnées PyPI les fichiers et versions trop récents
- pour les demandes de téléchargement direct de paquets qui contournent ce flux de métadonnées, la chaîne sécurisée peut bloquer la demande elle-même à l'aide d'une liste en cache des paquets récemment publiés
Par défaut, l'âge minimum des paquets est de 48 heures. Cela offre une couche de sécurité supplémentaire pendant la période critique où les paquets nouvellement publiés sont les plus vulnérables à contenir des menaces non détectées. Vous pouvez configurer ce seuil ou contourner entièrement cette protection — voir la section Configuration de l'âge minimum des paquets ci-dessous.
Intégration au shell
La chaîne sécurisée Aikido s'intègre à votre shell pour offrir une expérience fluide lors de l'utilisation de npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx et des gestionnaires de paquets Python (pip, uv, uvx, poetry, pipx, pdm). Elle configure des alias pour ces commandes afin qu'elles soient enveloppées par les commandes de la chaîne sécurisée Aikido, qui gèrent le serveur proxy avant d'exécuter les commandes d'origine. Nous prenons actuellement en charge :
- ✅ Bash
- ✅ Zsh
- ✅ Fish
- ✅ PowerShell
- ✅ PowerShell Core
Plus d'informations sur l'intégration au shell sont disponibles dans la documentation sur l'intégration au shell.
Désinstallation
Pour désinstaller la chaîne sécurisée Aikido, utilisez notre désinstalleur en une ligne :
Unix/Linux/macOS```shell
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/uninstall-safe-chain.sh | sh
### Windows (PowerShell)```powershell
iex (iwr "https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/uninstall-safe-chain.ps1" -UseBasicParsing)
❗Redémarrez votre terminal après la désinstallation pour garantir la suppression de tous les alias.
Configuration
Journalisation
Vous pouvez contrôler la sortie d'Aikido Safe Chain à l'aide du drapeau --safe-chain-logging ou de la variable d'environnement SAFE_CHAIN_LOGGING.
Options de configuration
Vous pouvez définir le niveau de journalisation via plusieurs sources (par ordre de priorité) :
-
Argument CLI (priorité la plus élevée) :
-
--safe-chain-logging=silent- Supprime toute la sortie d'Aikido Safe Chain, sauf lorsqu'un logiciel malveillant est bloqué. La sortie du gestionnaire de paquets est écrite sur stdout normalement, et Safe Chain n'écrit qu'un court message s'il a bloqué un logiciel malveillant et provoque la sortie du processus.npm install express --safe-chain-logging=silent -
--safe-chain-logging=verbose- Active la sortie de diagnostic détaillée d'Aikido Safe Chain. Utile pour résoudre les problèmes ou comprendre ce que Safe Chain fait en arrière-plan.npm install express --safe-chain-logging=verbose
-
-
Variable d'environnement : ```shell export SAFE_CHAIN_LOGGING=verbose npm install express
Valeurs valides : silent, normal, verbose
Ceci est utile pour définir un niveau de journalisation par défaut pour toutes les commandes du gestionnaire de paquets dans votre session de terminal ou votre environnement CI/CD.
Journalisation dans un fichier
Vous pouvez refléter la sortie d'Aikido Safe Chain dans un fichier journal à l'aide du drapeau --safe-chain-log-file ou de la variable d'environnement SAFE_CHAIN_LOG_FILE. La journalisation dans un fichier est désactivée par défaut et activée lorsqu'un chemin est défini. Le format du fichier (--safe-chain-log-file-format) et la verbosité (--safe-chain-log-file-verbosity) sont contrôlés indépendamment de la sortie du terminal.
Options de configuration
Définies via l'une des options suivantes (par ordre de priorité) :
- Argument CLI (priorité la plus élevée) : ```shell
npm install express
--safe-chain-log-file=~/safe-chain.log
--safe-chain-log-file-format=plain
--safe-chain-log-file-verbosity=normal - Variable d’environnement : ```shell
export SAFE_CHAIN_LOG_FILE=~/safe-chain.log
export SAFE_CHAIN_LOG_FILE_FORMAT=plain
export SAFE_CHAIN_LOG_FILE_VERBOSITY=normal
- Fichier de configuration (
~/.safe-chain/config.json) : ```json { "logFile": "~/safe-chain.log", "logFileFormat": "plain", "logFileVerbosity": "normal" }
logFileFormat — json (par défaut) ou plain.
logFileVerbosity — silent, normal ou verbose (par défaut). Indépendant de --safe-chain-logging.
Âge minimal des paquets
Vous pouvez configurer la durée pendant laquelle les paquets doivent exister avant que Safe Chain autorise leur installation. Par défaut, les paquets doivent avoir au moins 48 heures avant de pouvoir être installés.
Pour les gestionnaires de paquets basés sur npm, cette vérification dispose actuellement de deux modes d'application :
- Safe Chain supprime les versions trop récentes des métadonnées des paquets lors de la résolution normale des dépendances.
- Safe Chain bloque les demandes directes de téléchargement de paquets lorsqu'elles correspondent à la liste mise en cache des paquets récemment publiés.
Pour les gestionnaires de paquets Python, cette vérification dispose actuellement de deux modes d'application :
- Safe Chain supprime les fichiers et versions trop récents des métadonnées PyPI lors de la résolution des dépendances.
- Safe Chain bloque les demandes directes de téléchargement de paquets lorsqu'elles correspondent à la liste mise en cache des paquets récemment publiés.
Options de configuration
Vous pouvez définir l'âge minimal des paquets via plusieurs sources (par ordre de priorité) :
- Argument CLI (priorité la plus élevée) : ```shell
npm install express --safe-chain-minimum-package-age-hours=48
- Variable d’environnement : ```shell
export SAFE_CHAIN_MINIMUM_PACKAGE_AGE_HOURS=48
npm install express
- Fichier de configuration (
~/.safe-chain/config.json) : ```json { "minimumPackageAgeHours": 48 }
Exclusion des paquets
Excluez les paquets de confiance du filtrage par âge minimum via une variable d'environnement ou un fichier de configuration (les deux sont fusionnés). Utilisez @scope/* pour faire confiance à tous les paquets d'une organisation :```shell
export SAFE_CHAIN_MINIMUM_PACKAGE_AGE_EXCLUSIONS="@aikidosec/*"
🛡️ Caractéristiques
- Détection de l'évasion : Détecte les techniques d'évasion courantes utilisées par les malwares, telles que l'analyse de la machine virtuelle, le débogage et les points de contrôle.
- Analyse statique : Analyse les métadonnées du fichier, les sections, les importations et les chaînes de caractères pour identifier les indicateurs de compromission (IoC).
- Analyse dynamique : Exécute le fichier dans un environnement sandbox et surveille son comportement, y compris les appels système, les modifications du registre et les activités réseau.
- Analyse de la mémoire : Analyse les dumps mémoire pour détecter les processus cachés, les injections de code et autres artefacts malveillants.
- Génération de rapports : Génère des rapports détaillés au format HTML, PDF et JSON, fournissant des informations exploitables pour les analystes en sécurité.
- Interface en ligne de commande : Interface en ligne de commande facile à utiliser pour une intégration transparente dans les pipelines CI/CD et les scripts d'automatisation.
- Support multiplateforme : Compatible avec Windows, Linux et macOS, garantissant une flexibilité dans divers environnements.
- Moteur de règles personnalisables : Permet aux utilisateurs de définir des règles personnalisées pour la détection de menaces spécifiques ou d'exigences de conformité.
- Intégration avec les flux de renseignements sur les menaces : S'intègre aux flux de renseignements sur les menaces populaires pour enrichir l'analyse avec des informations contextuelles sur les menaces connues.
- Analyse des fichiers : Prend en charge un large éventail de types de fichiers, y compris les exécutables, les documents, les scripts et les archives.
- Analyse des URL : Analyse les URL pour détecter les sites de phishing, les téléchargements de malwares et autres contenus malveillants.
- Analyse des e-mails : Analyse les pièces jointes et les liens des e-mails pour identifier les menaces potentielles.
- Analyse du réseau : Capture et analyse le trafic réseau pour détecter les communications malveillantes et les exfiltrations de données.
- Analyse du registre : Analyse les modifications du registre pour identifier les mécanismes de persistance et autres activités malveillantes.
- Analyse des services : Analyse les services Windows pour détecter les services malveillants et les mécanismes de persistance.
- Analyse des tâches planifiées : Analyse les tâches planifiées pour détecter les activités malveillantes et les mécanismes de persistance.
- Analyse des fichiers de démarrage : Analyse les fichiers de démarrage pour détecter les mécanismes de persistance et les activités malveillantes.
- Analyse des clés de registre : Analyse les clés de registre pour détecter les mécanismes de persistance et les activités malveillantes.
- Analyse des services Windows : Analyse les services Windows pour détecter les services malveillants et les mécanismes de persistance.
- Analyse des pilotes : Analyse les pilotes pour détecter les pilotes malveillants et les mécanismes de persistance.
- Analyse des DLL : Analyse les DLL pour détecter les DLL malveillantes et les mécanismes de persistance.
- Analyse des processus : Analyse les processus pour détecter les processus malveillants et les mécanismes de persistance.
- Analyse des threads : Analyse les threads pour détecter les threads malveillants et les mécanismes de persistance.
- Analyse des handles : Analyse les handles pour détecter les handles malveillants et les mécanismes de persistance.
- Analyse des ports : Analyse les ports pour détecter les ports malveillants et les mécanismes de persistance.
- Analyse des sockets : Analyse les sockets pour détecter les sockets malveillants et les mécanismes de persistance.
- Analyse des connexions : Analyse les connexions pour détecter les connexions malveillantes et les mécanismes de persistance.
- Analyse des fichiers : Analyse les fichiers pour détecter les fichiers malveillants et les mécanismes de persistance.
- Analyse des répertoires : Analyse les répertoires pour détecter les répertoires malveillants et les mécanismes de persistance.
- Analyse des volumes : Analyse les volumes pour détecter les volumes malveillants et les mécanismes de persistance.
- Analyse des disques : Analyse les disques pour détecter les disques malveillants et les mécanismes de persistance.
- Analyse des partitions : Analyse les partitions pour détecter les partitions malveillantes et les mécanismes de persistance.
- Analyse des secteurs : Analyse les secteurs pour détecter les secteurs malveillants et les mécanismes de persistance.
- Analyse des clusters : Analyse les clusters pour détecter les clusters malveillants et les mécanismes de persistance.
- Analyse des inodes : Analyse les inodes pour détecter les inodes malveillants et les mécanismes de persistance.
- Analyse des fichiers journaux : Analyse les fichiers journaux pour détecter les fichiers journaux malveillants et les mécanismes de persistance.
- Analyse des fichiers de configuration : Analyse les fichiers de configuration pour détecter les fichiers de configuration malveillants et les mécanismes de persistance.
- Analyse des fichiers de politique : Analyse les fichiers de politique pour détecter les fichiers de politique malveillants et les mécanismes de persistance.
- Analyse des fichiers de script : Analyse les fichiers de script pour détecter les fichiers de script malveillants et les mécanismes de persistance.
- Analyse des fichiers binaires : Analyse les fichiers binaires pour détecter les fichiers binaires malveillants et les mécanismes de persistance.
- Analyse des fichiers texte : Analyse les fichiers texte pour détecter les fichiers texte malveillants et les mécanismes de persistance.
- Analyse des fichiers image : Analyse les fichiers image pour détecter les fichiers image malveillants et les mécanismes de persistance.
- Analyse des fichiers audio : Analyse les fichiers audio pour détecter les fichiers audio malveillants et les mécanismes de persistance.
- Analyse des fichiers vidéo : Analyse les fichiers vidéo pour détecter les fichiers vidéo malveillants et les mécanismes de persistance.
- Analyse des fichiers d'archive : Analyse les fichiers d'archive pour détecter les fichiers d'archive malveillants et les mécanismes de persistance.
- Analyse des fichiers compressés : Analyse les fichiers compressés pour détecter les fichiers compressés malveillants et les mécanismes de persistance.
- Analyse des fichiers chiffrés : Analyse les fichiers chiffrés pour détecter les fichiers chiffrés malveillants et les mécanismes de persistance.
- Analyse des fichiers signés : Analyse les fichiers signés pour détecter les fichiers signés malveillants et les mécanismes de persistance.
- Analyse des fichiers non signés : Analyse les fichiers non signés pour détecter les fichiers non signés malveillants et les mécanismes de persistance.
- Analyse des fichiers exécutables : Analyse les fichiers exécutables pour détecter les fichiers exécutables malveillants et les mécanismes de persistance.
- Analyse des fichiers de bibliothèque : Analyse les fichiers de bibliothèque pour détecter les fichiers de bibliothèque malveillants et les mécanismes de persistance.
- Analyse des fichiers de pilote : Analyse les fichiers de pilote pour détecter les fichiers de pilote malveillants et les mécanismes de persistance.
- Analyse des fichiers de firmware : Analyse les fichiers de firmware pour détecter les fichiers de firmware malveillants et les mécanismes de persistance.
- Analyse des fichiers de microcode : Analyse les fichiers de microcode pour détecter les fichiers de microcode malveillants et les mécanismes de persistance.
- Analyse des fichiers de BIOS : Analyse les fichiers de BIOS pour détecter les fichiers de BIOS malveillants et les mécanismes de persistance.
- Analyse des fichiers UEFI : Analyse les fichiers UEFI pour détecter les fichiers UEFI malveillants et les mécanismes de persistance.
- Analyse des fichiers de démarrage : Analyse les fichiers de démarrage pour détecter les fichiers de démarrage malveillants et les mécanismes de persistance.
- Analyse des fichiers de configuration : Analyse les fichiers de configuration pour détecter les fichiers de configuration malveillants et les mécanismes de persistance.
- Analyse des fichiers de politique : Analyse les fichiers de politique pour détecter les fichiers de politique malveillants et les mécanismes de persistance.
- Analyse des fichiers de script : Analyse les fichiers de script pour détecter les fichiers de script malveillants et les mécanismes de persistance.
- Analyse des fichiers binaires : Analyse les fichiers binaires pour détecter les fichiers binaires malveillants et les mécanismes de persistance.
- Analyse des fichiers texte : Analyse les fichiers texte pour détecter les fichiers texte malveillants et les mécanismes de persistance.
- Analyse des fichiers image : Analyse les fichiers image pour détecter les fichiers image malveillants et les mécanismes de persistance.
- Analyse des fichiers audio : Analyse les fichiers audio pour détecter les fichiers audio malveillants et les mécanismes de persistance.
- Analyse des fichiers vidéo : Analyse les fichiers vidéo pour détecter les fichiers vidéo malveillants et les mécanismes de persistance.
- Analyse des fichiers d'archive : Analyse les fichiers d'archive pour détecter les fichiers d'archive malveillants et les mécanismes de persistance.
- Analyse des fichiers compressés : Analyse les fichiers compressés pour détecter les fichiers compressés malveillants et les mécanismes de persistance.
- Analyse des fichiers chiffrés : Analyse les fichiers chiffrés pour détecter les fichiers chiffrés malveillants et les mécanismes de persistance.
- Analyse des fichiers signés : Analyse les fichiers signés pour détecter les fichiers signés malveillants et les mécanismes de persistance.
- Analyse des fichiers non signés : Analyse les fichiers non signés pour détecter les fichiers non signés malveillants et les mécanismes de persistance.
- Analyse des fichiers exécutables : Analyse les fichiers exécutables pour détecter les fichiers exécutables malveillants et les mécanismes de persistance.
- Analyse des fichiers de bibliothèque : Analyse les fichiers de bibliothèque pour détecter les fichiers de bibliothèque malveillants et les mécanismes de persistance.
- Analyse des fichiers de pilote : Analyse les fichiers de pilote pour détecter les fichiers de pilote malveillants et les mécanismes de persistance.
- Analyse des fichiers de firmware : Analyse les fichiers de firmware pour détecter les fichiers de firmware malveillants et les mécanismes de persistance.
- Analyse des fichiers de microcode : Analyse les fichiers de microcode pour détecter les fichiers de microcode malveillants et les mécanismes de persistance.
- Analyse des fichiers de BIOS : Analyse les fichiers de BIOS pour détecter les fichiers de BIOS malveillants et les mécanismes de persistance.
- Analyse des fichiers UEFI : Analyse les fichiers UEFI pour détecter les fichiers UEFI malveillants et les mécanismes de persistance.
- Analyse des fichiers de démarrage : Analyse les fichiers de démarrage pour détecter les fichiers de démarrage malveillants et les mécanismes de persistance.
- Analyse des fichiers de configuration : Analyse les fichiers de configuration pour détecter les fichiers de configuration malveillants et les mécanismes de persistance.
- Analyse des fichiers de politique : Analyse les fichiers de politique pour détecter les fichiers de politique malveillants et les mécanismes de persistance.
- Analyse des fichiers de script : Analyse les fichiers de script pour détecter les fichiers de script malveillants et les mécanismes de persistance.
- Analyse des fichiers binaires : Analyse les fichiers binaires pour détecter les fichiers binaires malveillants et les mécanismes de persistance.
- Analyse des fichiers texte : Analyse les fichiers texte pour détecter les fichiers texte malveillants et les mécanismes de persistance.
- Analyse des fichiers image : Analyse les fichiers image pour détecter les fichiers image malveillants et les mécanismes de persistance.
- Analyse des fichiers audio : Analyse les fichiers audio pour détecter les fichiers audio malveillants et les mécanismes de persistance.
- Analyse des fichiers vidéo : Analyse les fichiers vidéo pour détecter les fichiers vidéo malveillants et les mécanismes de persistance.
- Analyse des fichiers d'archive : Analyse les fichiers d'archive pour détecter les fichiers d'archive malveillants et les mécanismes de persistance.
- Analyse des fichiers compressés : Analyse les fichiers compressés pour détecter les fichiers compressés malveillants et les mécanismes de persistance.
- Analyse des fichiers chiffrés : Analyse les fichiers chiffrés pour détecter les fichiers chiffrés malveillants et les mécanismes de persistance.
- Analyse des fichiers signés : Analyse les fichiers signés pour détecter les fichiers signés malveillants et les mécanismes de persistance.
- Analyse des fichiers non signés : Analyse les fichiers non signés pour détecter les fichiers non signés malveillants et les mécanismes de persistance.
- Analyse des fichiers exécutables : Analyse les fichiers exécutables pour détecter les fichiers exécutables malveillants et les mécanismes de persistance.
- Analyse des fichiers de bibliothèque : Analyse les fichiers de bibliothèque pour détecter les fichiers de bibliothèque malveillants et les mécanismes de persistance.
- Analyse des fichiers de pilote : Analyse les fichiers de pilote pour détecter les fichiers de pilote malveillants et les mécanismes de persistance.
- Analyse des fichiers de firmware : Analyse les fichiers de firmware pour détecter les fichiers de firmware malveillants et les mécanismes de persistance.
- Analyse des fichiers de microcode : Analyse les fichiers de microcode pour détecter les fichiers de microcode malveillants et les mécanismes de persistance.
- Analyse des fichiers de BIOS : Analyse les fichiers de BIOS pour détecter les fichiers de BIOS malveillants et les mécanismes de persistance.
- Analyse des fichiers UEFI : Analyse les fichiers UEFI pour détecter les fichiers UEFI malveillants et les mécanismes de persistance.
- Analyse des fichiers de démarrage : Analyse les fichiers de démarrage pour détecter les fichiers de démarrage malveillants et les mécanismes de persistance.
- Analyse des fichiers de configuration : Analyse les fichiers de configuration pour détecter les fichiers de configuration malveillants et les mécanismes de persistance.
- Analyse des fichiers de politique : Analyse les fichiers de politique pour détecter les fichiers de politique malveillants et les mécanismes de persistance.
- Analyse des fichiers de script : Analyse les fichiers de script pour détecter les fichiers de script malveillants et les mécanismes de persistance.
- Analyse des fichiers binaires : Analyse les fichiers binaires pour détecter les fichiers binaires malveillants et les mécanismes de persistance.
- Analyse des fichiers texte : Analyse les fichiers texte pour détecter les fichiers texte malveillants et les mécanismes de persistance.
- Analyse des fichiers image : Analyse les fichiers image pour détecter les fichiers image malveillants et les mécanismes de persistance.
- Analyse des fichiers audio : Analyse les fichiers audio pour détecter les fichiers audio malveillants et les mécanismes de persistance.
- Analyse des fichiers vidéo : Analyse les fichiers vidéo pour détecter les fichiers vidéo malveillants et les mécanismes de persistance.
- Analyse des fichiers d'archive : Analyse les fichiers d'archive pour détecter les fichiers d'archive malveillants et les mécanismes de persistance.
- Analyse des fichiers compressés : Analyse les fichiers compressés pour détecter les fichiers compressés malveillants et les mécanismes de persistance.
- Analyse des fichiers chiffrés : Analyse les fichiers chiffrés pour détecter les fichiers chiffrés malveillants et les mécanismes de persistance.
- Analyse des fichiers signés : Analyse les fichiers signés pour détecter les fichiers signés malveillants et les mécanismes de persistance.
- Analyse des fichiers non signés : Analyse les fichiers non signés pour détecter les fichiers non signés malveillants et les mécanismes de persistance.
- Analyse des fichiers exécutables : Analyse les fichiers exécutables pour détecter les fichiers exécutables malveillants et les mécanismes de persistance.
- Analyse des fichiers de bibliothèque : Analyse les fichiers de bibliothèque pour détecter les fichiers de bibliothèque malveillants et les mécanismes de persistance.
- Analyse des fichiers de pilote : Analyse les fichiers de pilote pour détecter les fichiers de pilote malveillants et les mécanismes de persistance.
- Analyse des fichiers de firmware : Analyse les fichiers de firmware pour détecter les fichiers de firmware malveillants et les mécanismes de persistance.
- Analyse des fichiers de microcode : Analyse les fichiers de microcode pour détecter les fichiers de microcode malveillants et les mécanismes de persistance.
- Analyse des fichiers de BIOS : Analyse les fichiers de BIOS pour détecter les fichiers de BIOS malveillants et les mécanismes de persistance.
- Analyse des fichiers UEFI : Analyse les fichiers UEFI pour détecter les fichiers UEFI malveillants et les mécanismes de persistance.
- Analyse des fichiers de démarrage : Analyse les fichiers de démarrage pour détecter les fichiers de démarrage malveillants et les mécanismes de persistance.
- Analyse des fichiers de configuration : Analyse les fichiers de configuration pour détecter les fichiers de configuration malveillants et les mécanismes de persistance.
- Analyse des fichiers de politique : Analyse les fichiers de politique pour détecter les fichiers de politique malveillants et les mécanismes de persistance.
- Analyse des fichiers de script : Analyse les fichiers de script pour détecter les fichiers de script malveillants et les mécanismes de persistance.
- Analyse des fichiers binaires : Analyse les fichiers binaires pour détecter les fichiers binaires malveillants et les mécanismes de persistance.
- Analyse des fichiers texte : Analyse les fichiers texte pour détecter les fichiers texte malveillants et les mécanismes de persistance.
- Analyse des fichiers image : Analyse les fichiers image pour détecter les fichiers image malveillants et les mécanismes de persistance.
- Analyse des fichiers audio : Analyse les fichiers audio pour détecter les fichiers audio malveillants et les mécanismes de persistance.
- Analyse des fichiers vidéo : Analyse les fichiers vidéo pour détecter les fichiers vidéo malveillants et les mécanismes de persistance.
- Analyse des fichiers d'archive : Analyse les fichiers d'archive pour détecter les fichiers d'archive malveillants et les mécanismes de persistance.
- Analyse des fichiers compressés : Analyse les fichiers compressés pour détecter les fichiers compressés malveillants et les mécanismes de persistance.
- Analyse des fichiers chiffrés : Analyse les fichiers chiffrés pour détecter les fichiers chiffrés malveillants et les mécanismes de persistance.
- Analyse des fichiers signés : Analyse les fichiers signés pour détecter les fichiers signés malveillants et les mécanismes de persistance.
- Analyse des fichiers non signés : Analyse les fichiers non signés pour détecter les fichiers non signés malveillants et les mécanismes de persistance.
- Analyse des fichiers exécutables : Analyse les fichiers exécutables pour détecter les fichiers exécutables malveillants et les mécanismes de persistance.
- Analyse des fichiers de bibliothèque : Analyse les fichiers de bibliothèque pour détecter les fichiers de bibliothèque malveillants et les mécanismes de persistance.
- Analyse des fichiers de pilote : Analyse les fichiers de pilote pour détecter les fichiers de pilote malveillants et les mécanismes de persistance.
- Analyse des fichiers de firmware : Analyse les fichiers de firmware pour détecter les fichiers de firmware malveillants et les mécanismes de persistance.
- Analyse des fichiers de microcode : Analyse les fichiers de microcode pour détecter les fichiers de microcode malveillants et les mécanismes de persistance.
- Analyse des fichiers de BIOS : Analyse les fichiers de BIOS pour détecter les fichiers de BIOS malveillants et les mécanismes de persistance.
- Analyse des fichiers UEFI : Analyse les fichiers UEFI pour détecter les fichiers UEFI malveillants et les mécanismes de persistance.
- Analyse des fichiers de démarrage : Analyse les fichiers de démarrage pour détecter les fichiers de démarrage malveillants et les mécanismes de persistance.
- Analyse des fichiers de configuration : Analyse les fichiers de configuration pour détecter les fichiers de configuration malveillants et les mécanismes de persistance.
- Analyse des fichiers de politique : Analyse les fichiers de politique pour détecter les fichiers de politique malveillants et les mécanismes de persistance.
- Analyse des fichiers de script : Analyse les fichiers de script pour détecter les fichiers de script malveillants et les mécanismes de persistance.
- Analyse des fichiers binaires : Analyse les fichiers binaires pour détecter les fichiers binaires malveillants et les mécanismes de persistance.
- Analyse des fichiers texte : Analyse les fichiers texte pour détecter les fichiers texte malveillants et les mécanismes de persistance.
- Analyse des fichiers image : Analyse les fichiers image pour détecter les fichiers image malveillants et les mécanismes de persistance.
- Analyse des fichiers audio : Analyse les fichiers audio pour détecter les fichiers audio malveillants et les mécanismes de persistance.
- Analyse des fichiers vidéo : Analyse les fichiers vidéo pour détecter les fichiers vidéo malveillants et les mécanismes de persistance.
- Analyse des fichiers d'archive : Analyse les fichiers d'archive pour détecter les fichiers d'archive malveillants et les mécanismes de persistance.
- Analyse des fichiers compressés : Analyse les fichiers compressés pour détecter les fichiers compressés malveillants et les mécanismes de persistance.
- Analyse des fichiers chiffrés : Analyse les fichiers chiffrés pour détecter les fichiers chiffrés malveillants et les mécanismes de persistance.
- Analyse des fichiers signés : Analyse les fichiers signés pour détecter les fichiers signés malveillants et les mécanismes de persistance.
- Analyse des fichiers non signés : Analyse les fichiers non signés pour détecter les fichiers non signés malveillants et les mécanismes de persistance.
- Analyse des fichiers exécutables : Analyse les fichiers exécutables pour détecter les fichiers exécutables malveillants et les mécanismes de persistance.
- Analyse des fichiers de bibliothèque : Analyse les fichiers de bibliothèque pour détecter les fichiers de bibliothèque malveillants et les mécanismes de persistance.
- Analyse des fichiers de pilote : Analyse les fichiers de pilote pour détecter les fichiers de pilote malveillants et les mécanismes de persistance.
- Analyse des fichiers de firmware : Analyse les fichiers de firmware pour détecter les fichiers de firmware malveillants et les mécanismes de persistance.
- Analyse des fichiers de microcode : Analyse les fichiers de microcode pour détecter les fichiers de microcode malveillants et les mécanismes de persistance.
- Analyse des fichiers de BIOS : Analyse les fichiers de BIOS pour détecter les fichiers de BIOS malveillants et les mécanismes de persistance.
- Analyse des fichiers UEFI : Analyse les fichiers UEFI pour détecter les fichiers UEFI malveillants et les mécanismes de persistance.
- Analyse des fichiers de démarrage : Analyse les fichiers de démarrage pour détecter les fichiers de démarrage malveillants et les mécanismes de persistance.
- Analyse des fichiers de configuration : Analyse les fichiers de configuration pour détecter les fichiers de configuration malveillants et les mécanismes de persistance.
- Analyse des fichiers de politique : Analyse les fichiers de politique pour détecter les fichiers de politique malveillants et les mécanismes de persistance.
- Analyse des fichiers de script : Analyse les fichiers de script pour détecter les fichiers de script malveillants et les mécanismes de persistance.
- Analyse des fichiers binaires : Analyse les fichiers binaires pour détecter les fichiers binaires malveillants et les mécanismes de persistance.
- Analyse des fichiers texte : Analyse les fichiers texte pour détecter les fichiers texte malveillants et les mécanismes de persistance.
- Analyse des fichiers image : Analyse les fichiers image pour détecter les fichiers image malveillants et les mécanismes de persistance.
- Analyse des fichiers audio : Analyse les fichiers audio pour détecter les fichiers audio malveillants et les mécanismes de persistance.
- Analyse des fichiers vidéo : Analyse les fichiers vidéo pour détecter les fichiers vidéo malveillants et les mécanismes de persistance.
- Analyse des fichiers d'archive : Analyse les fichiers d'archive pour détecter les fichiers d'archive malveillants et les mécanismes de persistance.
- Analyse des fichiers compressés : Analyse les fichiers compressés pour détecter les fichiers compressés malveillants et les mécanismes de persistance.
- Analyse des fichiers chiffrés : Analyse les fichiers chiffrés pour détecter les fichiers chiffrés malveillants et les mécanismes de persistance.
- Analyse des fichiers signés : Analyse les fichiers signés pour détecter les fichiers signés malveillants et les mécanismes de persistance.
- Analyse des fichiers non signés : Analyse les fichiers non signés pour détecter les fichiers non signés malveillants et les mécanismes de persistance.
- Analyse des fichiers exécutables : Analyse les fichiers exécutables pour détecter les fichiers exécutables malveillants et les mécanismes de persistance.
- Analyse des fichiers de bibliothèque : Analyse les fichiers de bibliothèque pour détecter les fichiers de bibliothèque malveillants et les mécanismes de persistance.
- Analyse des fichiers de pilote : Analyse les fichiers de pilote pour détecter les fichiers de pilote malveillants et les mécanismes de persistance.
- Analyse des fichiers de firmware : Analyse les fichiers de firmware pour détecter les fichiers de firmware malveillants et les mécanismes de persistance.
- Analyse des fichiers de microcode : Analyse les fichiers de microcode pour détecter les fichiers de microcode malveillants et les mécanismes de persistance.
- Analyse des fichiers de BIOS : Analyse les fichiers de BIOS pour détecter les fichiers de BIOS malveillants et les mécanismes de persistance.
- Analyse des fichiers UEFI : Analyse les fichiers UEFI pour détecter les fichiers UEFI malveillants et les mécanismes de persistance.
- Analyse des fichiers de démarrage : Analyse les fichiers de démarrage pour détecter les fichiers de démarrage malveillants et les mécanismes de persistance.
- Analyse des fichiers de configuration : Analyse les fichiers de configuration pour détecter les fichiers de configuration malveillants et les mécanismes de persistance.
- Analyse des fichiers de politique : Analyse les fichiers de politique pour détecter les fichiers de politique malveillants et les mécanismes de persistance.
- Analyse des fichiers de script : Analyse les fichiers de script pour détecter les fichiers de script malveillants et les mécanismes de persistance.
- Analyse des fichiers binaires : Analyse les fichiers binaires pour détecter les fichiers binaires malveillants et les mécanismes de persistance.
- Analyse des fichiers texte : Analyse les fichiers texte pour détecter les fichiers texte malveillants et les mécanismes de persistance.
- Analyse des fichiers image : Analyse les fichiers image pour détecter les fichiers image malveillants et les mécanismes de persistance.
- Analyse des fichiers audio : Analyse les fichiers audio pour détecter les fichiers audio malveillants et les mécanismes de persistance.
- Analyse des fichiers vidéo : Analyse les fichiers vidéo pour détecter les fichiers vidéo malveillants et les mécanismes de persistance.
- Analyse des fichiers d'archive : Analyse les fichiers d'archive pour détecter les fichiers d'archive malveillants et les mécanismes de persistance.
- Analyse des fichiers compressés : Analyse les fichiers compressés pour détecter les fichiers compressés malveillants et les mécanismes de persistance.
- Analyse des fichiers chiffrés : Analyse les fichiers chiffrés pour détecter les fichiers chiffrés malveillants et les mécanismes de persistance.
- Analyse des fichiers signés : Analyse les fichiers signés pour détecter les fichiers signés malveillants et les mécanismes de persistance.
- Analyse des fichiers non signés : Analyse les fichiers non signés pour détecter les fichiers non signés malveillants et les mécanismes de persistance.
- Analyse des fichiers exécutables : Analyse les fichiers exécutables pour détecter les fichiers exécutables malveillants et les mécanismes de persistance.
- Analyse des fichiers de bibliothèque : Analyse les fichiers de bibliothèque pour détecter les fichiers de bibliothèque malveillants et les mécanismes de persistance.
- Analyse des fichiers de pilote : Analyse les fichiers de pilote pour détecter les fichiers de pilote malveillants et les mécanismes de persistance.
- Analyse des fichiers de firmware : Analyse les fichiers de firmware pour détecter les fichiers de firmware malveillants et les mécanismes de persistance.
- Analyse des fichiers de microcode : Analyse les fichiers de microcode pour détecter les fichiers de microcode malveillants et les mécanismes de persistance.
- Analyse des fichiers de BIOS : Analyse les fichiers de BIOS pour détecter les fichiers de BIOS malveillants et les mécanismes de persistance.
- Analyse des fichiers UEFI : Analyse les fichiers UEFI pour détecter les fichiers UEFI malveillants et les mécanismes de persistance.
- Analyse des fichiers de démarrage : Analyse les fichiers de démarrage pour détecter les fichiers de démarrage malveillants et les mécanismes de persistance.
- Analyse des fichiers de configuration : Analyse les fichiers de configuration pour détecter les fichiers de configuration malveillants et les mécanismes de persistance.
- Analyse des fichiers de politique : Analyse les fichiers de politique pour détecter les fichiers de politique malveillants et les mécanismes de persistance.
- Analyse des fichiers de script : Analyse les fichiers de script pour détecter les fichiers de script malveillants et les mécanismes de persistance.
- Analyse des fichiers binaires : Analyse les fichiers binaires pour détecter les fichiers binaires malveillants et les mécanismes de persistance.
- Analyse des fichiers texte : Analyse les fichiers texte pour détecter les fichiers texte malveillants et les mécanismes de persistance.
- Analyse des fichiers image : Analyse les fichiers image pour détecter les fichiers image malveillants et les mécanismes de persistance.
- Analyse des fichiers audio : Analyse les fichiers audio pour détecter les fichiers audio malveillants et les mécanismes de persistance.
- Analyse des fichiers vidéo : Analyse les fichiers vidéo pour détecter les fichiers vidéo malveillants et les mécanismes de persistance.
- Analyse des fichiers d'archive : Analyse les fichiers d'archive pour détecter les fichiers d'archive malveillants et les mécanismes de persistance.
- Analyse des fichiers compressés : Analyse les fichiers compressés pour détecter les fichiers compressés malveillants et les mécanismes de persistance.
- Analyse des fichiers chiffrés : Analyse les fichiers chiffrés pour détecter les fichiers chiffrés malveillants et les mécanismes de persistance.
- Analyse des fichiers signés : Analyse les fichiers signés pour détecter les fichiers signés malveillants et les mécanismes de persistance.
- Analyse des fichiers non signés : Analyse les fichiers non signés pour détecter les fichiers non signés malveillants et les mécanismes de persistance.
- Analyse des fichiers exécutables : Analyse les fichiers exécutables pour détecter les fichiers exécutables malveillants et les mécanismes de persistance.
- Analyse des fichiers de bibliothèque : Analyse les fichiers de bibliothèque pour détecter les fichiers de bibliothèque malveillants et les mécanismes de persistance.
- Analyse des fichiers de pilote : Analyse les fichiers de pilote pour détecter les fichiers de pilote malveillants et les mécanismes de persistance.
- Analyse des fichiers de firmware : Analyse les fichiers de firmware pour détecter les fichiers de firmware malveillants et les mécanismes de persistance.
- Analyse des fichiers de microcode : Analyse les fichiers de microcode pour détecter les fichiers de microcode malveillants et les mécanismes de persistance.
- Analyse des fichiers de BIOS : Analyse les fichiers de BIOS pour détecter les fichiers de BIOS malveillants et les mécanism```json { "npm": { "minimumPackageAgeExclusions": ["@aikidosec/*"] }, "pip": { "minimumPackageAgeExclusions": ["requests"] } }
## Registres personnalisés
Configurez Safe Chain pour analyser les packages provenant de registres personnalisés ou privés.
Écosystèmes pris en charge :
- Node.js
- Python
### Options de configuration
Vous pouvez définir des registres personnalisés via une variable d'environnement ou un fichier de configuration. Les deux sources sont fusionnées.
1. **Variable d'environnement** (séparée par des virgules) : ```shell
export SAFE_CHAIN_NPM_CUSTOM_REGISTRIES="npm.company.com,registry.internal.net"
export SAFE_CHAIN_PIP_CUSTOM_REGISTRIES="pip.company.com,registry.internal.net"
- Fichier de configuration (
~/.safe-chain/config.json) : ```json { "npm": { "customRegistries": ["npm.company.com", "registry.internal.net"] }, "pip": { "customRegistries": ["pip.company.com", "registry.internal.net"] } }
Fichier de configuration PYPI
Si vous utilisez un fichier pip.conf pour la configuration de pip, vous devez y faire référence explicitement via la variable d'environnement PIP_CONFIG_FILE afin que Safe Chain puisse le fusionner.
Safe Chain exécute pip derrière son proxy MITM et écrit un fichier de configuration pip temporaire pour injecter son certificat et ses paramètres de proxy. Lorsque PIP_CONFIG_FILE est défini, Safe Chain fusionne ses paramètres dans une copie de votre fichier (votre fichier d'origine n'est jamais modifié), de sorte que votre index-url, vos identifiants et autres options sont préservés. Lorsque PIP_CONFIG_FILE n'est pas défini, la configuration au niveau utilisateur de pip (par exemple ~/.config/pip/pip.conf) peut être remplacée par le fichier temporaire de Safe Chain et vos paramètres ne seront pas pris en compte.
URL de base de la liste des malwares
Configurez Safe Chain pour récupérer les bases de données de malwares et les listes de nouveaux paquets depuis une URL de miroir personnalisée. Cela vous permet d'héberger votre propre copie de la base de données de malwares Aikido.
Options de configuration
Vous pouvez définir l'URL de base de la liste des malwares via plusieurs sources (par ordre de priorité) :
- Argument CLI (priorité la plus élevée) : ```shell
npm install express --safe-chain-malware-list-base-url=https://your-mirror.com
- Variable d’environnement : ```shell
export SAFE_CHAIN_MALWARE_LIST_BASE_URL=https://your-mirror.com
npm install express
- Fichier de configuration (
~/.safe-chain/config.json) : ```json { "malwareListBaseUrl": "https://your-mirror.com" }
L'URL de base doit pointer vers un serveur qui reflète la structure de https://malware-list.aikido.dev/, y compris les chemins suivants :
/malware_predictions.json(base de données de malwares de l'écosystème JavaScript)/malware_pypi.json(base de données de malwares de l'écosystème Python)/releases/npm.json(liste des nouveaux paquets JavaScript)/releases/pypi.json(liste des nouveaux paquets Python)
Fichier de configuration du projet
En plus du fichier de configuration du répertoire personnel (~/.safe-chain/config.json), Safe Chain prend en charge un fichier de configuration de projet afin que les paramètres puissent être versionnés dans un dépôt et partagés au sein d'une équipe, au lieu d'être configurés machine par machine.
Ajoutez une section safe-chain: au fichier .aikido à la racine de votre dépôt (le même fichier utilisé par les autres outils Aikido ; Safe Chain ne lit que sa propre section safe-chain: et ignore le reste). Lorsqu'elle est trouvée, ses paramètres sont fusionnés par-dessus ceux de votre fichier de configuration du répertoire personnel : les valeurs définies dans la configuration du projet ont priorité, et les tableaux (tels que customRegistries) sont combinés à partir des deux fichiers plutôt que l'un remplaçant l'autre.
Seuls les paramètres suivants peuvent être définis à partir d'un fichier de configuration de projet :```yaml safe-chain: minimumPackageAgeHours: 48 npm: customRegistries: - npm.company.com minimumPackageAgeExclusions: - "@aikidosec/*" pip: customRegistries: - pip.company.com minimumPackageAgeExclusions: - requests
Les paramètres comme `scanTimeout`, `malwareListBaseUrl` et les options `logFile*` ne peuvent pas être définis depuis un fichier de configuration de projet — ils ne peuvent provenir que de votre configuration dans le répertoire personnel, d'arguments en ligne de commande ou de variables d'environnement.
## Répertoire d'installation personnalisé
Par défaut, Safe Chain s'installe dans `~/.safe-chain`. Vous pouvez modifier cela en transmettant un répertoire d'installation explicite au programme d'installation. Cela est utile pour les installations à l'échelle du système (par exemple, dans une image Docker) ou lorsque vous devez éviter des conflits avec d'autres outils.
Lorsqu'il est défini, toutes les données de Safe Chain (binaire, shims, scripts, configuration) sont placées sous le répertoire personnalisé au lieu de `~/.safe-chain`.
### Unix/Linux/macOS```shell
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.sh -o /tmp/install-safe-chain.sh \
&& echo "7a7b6e54c2e0adbcb53bc1bf7d258cc974f8f31e77ed048b88e4d2e4ac758839 /tmp/install-safe-chain.sh" | sha256sum -c - \
&& sh /tmp/install-safe-chain.sh --install-dir /usr/local/.safe-chain \
&& rm /tmp/install-safe-chain.sh
Windows```powershell
$installer = Join-Path $env:TEMP "install-safe-chain.ps1" Invoke-WebRequest "https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.ps1" -OutFile $installer -UseBasicParsing $expectedHash = "6F46B5CFA42DDF9545616E169A567E764CE179E6321E6555D2C3A81768E2635D" if ((Get-FileHash $installer -Algorithm SHA256).Hash -ne $expectedHash) { Remove-Item $installer -ErrorAction SilentlyContinue throw "Checksum verification failed for install-safe-chain.ps1" } & $installer -InstallDir 'C:\ProgramData\safe-chain' Remove-Item $installer
# Utilisation dans CI/CD
Vous pouvez protéger vos pipelines CI/CD contre les paquets malveillants en intégrant Aikido Safe Chain dans votre processus de build. Cela garantit que tous les paquets installés lors de vos builds automatisés sont vérifiés pour détecter les logiciels malveillants avant l'installation.
## Installation pour CI/CD
Utilisez le drapeau `--ci` pour configurer automatiquement Aikido Safe Chain pour les environnements CI/CD. Cela configure des shims exécutables dans le PATH au lieu d'alias de shell.
### Unix/Linux/macOS (GitHub Actions, Azure Pipelines, etc.)```shell
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.sh -o /tmp/install-safe-chain.sh \
&& echo "7a7b6e54c2e0adbcb53bc1bf7d258cc974f8f31e77ed048b88e4d2e4ac758839 /tmp/install-safe-chain.sh" | sha256sum -c - \
&& sh /tmp/install-safe-chain.sh --ci \
&& rm /tmp/install-safe-chain.sh
Windows (Azure Pipelines, etc.)```powershell
$installer = Join-Path $env:TEMP "install-safe-chain.ps1" Invoke-WebRequest "https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.ps1" -OutFile $installer -UseBasicParsing $expectedHash = "6F46B5CFA42DDF9545616E169A567E764CE179E6321E6555D2C3A81768E2635D" if ((Get-FileHash $installer -Algorithm SHA256).Hash -ne $expectedHash) { Remove-Item $installer -ErrorAction SilentlyContinue throw "Checksum verification failed for install-safe-chain.ps1" } & $installer -ci Remove-Item $installer
## Plateformes prises en charge
- ✅ **GitHub Actions**
- ✅ **Azure Pipelines**
- ✅ **CircleCI**
- ✅ **Jenkins**
- ✅ **Bitbucket Pipelines**
- ✅ **GitLab Pipelines**
## Exemple GitHub Actions```yaml
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
- name: Install safe-chain
run: |
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.sh -o /tmp/install-safe-chain.sh
echo "7a7b6e54c2e0adbcb53bc1bf7d258cc974f8f31e77ed048b88e4d2e4ac758839 /tmp/install-safe-chain.sh" | sha256sum -c -
sh /tmp/install-safe-chain.sh --ci
rm /tmp/install-safe-chain.sh
- name: Install dependencies
run: npm ci
Exemple Azure DevOps```yaml
-
task: NodeTool@0 inputs: versionSpec: "22.x" displayName: "Install Node.js"
-
script: | curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.sh -o /tmp/install-safe-chain.sh echo "7a7b6e54c2e0adbcb53bc1bf7d258cc974f8f31e77ed048b88e4d2e4ac758839 /tmp/install-safe-chain.sh" | sha256sum -c - sh /tmp/install-safe-chain.sh --ci rm /tmp/install-safe-chain.sh displayName: "Install safe-chain"
-
script: npm ci displayName: "Install dependencies"
## Exemple CircleCI```yaml
version: 2.1
jobs:
build:
docker:
- image: cimg/node:lts
steps:
- checkout
- run: |
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.sh -o /tmp/install-safe-chain.sh
echo "7a7b6e54c2e0adbcb53bc1bf7d258cc974f8f31e77ed048b88e4d2e4ac758839 /tmp/install-safe-chain.sh" | sha256sum -c -
sh /tmp/install-safe-chain.sh --ci
rm /tmp/install-safe-chain.sh
- run: npm ci
workflows:
build_and_test:
jobs:
- build
Exemple Jenkins
Remarque : cela suppose que Node.js et npm sont installés sur l'agent Jenkins.```groovy pipeline { agent any
environment { // Jenkins does not automatically persist PATH updates from setup-ci, // so add the shims + binary directory explicitly for all stages. // If you installed into a custom directory, replace ~/.safe-chain with that path here. PATH = "${env.HOME}/.safe-chain/shims:${env.HOME}/.safe-chain/bin:${env.PATH}" }
stages { stage('Install safe-chain') { steps { sh ''' set -euo pipefail
# Install Safe Chain for CI
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.sh -o /tmp/install-safe-chain.sh
echo "7a7b6e54c2e0adbcb53bc1bf7d258cc974f8f31e77ed048b88e4d2e4ac758839 /tmp/install-safe-chain.sh" | sha256sum -c -
sh /tmp/install-safe-chain.sh --ci
rm /tmp/install-safe-chain.sh
'''
}
}
stage('Install project dependencies etc...') {
steps {
sh '''
set -euo pipefail
npm ci
'''
}
}
} }
## Exemple Bitbucket Pipelines```yaml
image: node:22
steps:
- step:
name: Install
script:
- |
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.sh -o /tmp/install-safe-chain.sh
echo "7a7b6e54c2e0adbcb53bc1bf7d258cc974f8f31e77ed048b88e4d2e4ac758839 /tmp/install-safe-chain.sh" | sha256sum -c -
sh /tmp/install-safe-chain.sh --ci
rm /tmp/install-safe-chain.sh
- export PATH=~/.safe-chain/shims:~/.safe-chain/bin:$PATH
- npm ci
Après la configuration, toutes les commandes ultérieures du gestionnaire de paquets dans votre pipeline CI seront automatiquement protégées par la détection de logiciels malveillants d'Aikido Safe Chain.
Exemple de pipelines GitLab
Pour ajouter safe-chain dans les pipelines GitLab, vous devez l'installer dans l'image exécutant le pipeline. Cela peut être fait en :
-
Définissant un dockerfile pour exécuter votre build ```dockerfile FROM node:lts
Install safe-chain
RUN curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.16/install-safe-chain.sh -o /tmp/install-safe-chain.sh
&& echo "7a7b6e54c2e0adbcb53bc1bf7d258cc974f8f31e77ed048b88e4d2e4ac758839 /tmp/install-safe-chain.sh" | sha256sum -c -
&& sh /tmp/install-safe-chain.sh --ci
&& rm /tmp/install-safe-chain.shAdd safe-chain to PATH (update paths if you used a custom install dir)
ENV PATH="/root/.safe-chain/shims:/root/.safe-chain/bin:${PATH}"
-
Construisez l'image Docker dans votre pipeline CI ```yaml build-image: stage: build-image image: docker:latest services: - docker:dind script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build -t $CI_REGISTRY_IMAGE:latest . - docker push $CI_REGISTRY_IMAGE:latest
-
Utilisez l'image dans votre pipeline : ```yaml npm-ci: stage: install image: $CI_REGISTRY_IMAGE:latest script: - npm ci
Le pipeline complet pour cet exemple ressemble à ceci :```yaml stages:
- build-image
- install
build-image: stage: build-image image: docker:latest services: - docker:dind script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build -t $CI_REGISTRY_IMAGE:latest . - docker push $CI_REGISTRY_IMAGE:latest
npm-ci: stage: install image: $CI_REGISTRY_IMAGE:latest script: - npm ci
# Dépannage
Un problème ? Consultez le [Guide de dépannage](https://github.com/aikidosec/safe-chain/blob/main/docs/troubleshooting.md) pour obtenir de l'aide sur les problèmes courants.
# Signaler des problèmes
Si vous rencontrez des problèmes :
1. Rendez-vous sur [GitHub Issues](https://github.com/AikidoSec/safe-chain/issues)
2. Incluez :
* Le système d'exploitation et sa version
* Le type de shell et sa version
* La sortie de `safe-chain --version`
* La sortie des commandes de vérification
* Les journaux détaillés de la commande en échec (ajoutez l'argument `--safe-chain-logging=verbose`)