
safe-chain v1.5.14
Protégete contra el código malicioso instalado mediante npm, yarn, pnpm, npx, pnpx, pip, uv y poetry con Aikido Safe Chain. De uso gratuito, sin necesidad de tokens.
Aikido Safe Chain
- ✅ Bloquea malware en portátiles de desarrolladores y CI/CD
- ✅ Compatible con npm y PyPI más gestores de paquetes próximamente
- ✅ Bloquea paquetes con menos de 48 horas sin romper tu build
- ✅ Sin tokens, gratuito, sin compartir datos de build
¿Necesitas protección más allá de npm y PyPI?
Aikido Device Protection se basa en Safe Chain, ampliando la seguridad de paquetes y extensiones a más ecosistemas: npm, PyPI, VS Code, Open VSX - (Cursor, Windsurf, Kiro, Vs Codium, ...), Maven, NuGet, extensiones de Chrome, Go, Skills.sh AI skills, Ruby, Rust, y más.
Obtén gestión centralizada de políticas, flujos de solicitud y aprobación, y visibilidad en cada estación de trabajo de desarrollador de tu organización. Impulsado por el mismo feed de Aikido Intel. Despliégalo manualmente o gestiónalo a través de tu herramienta MDM (Jamf, Fleet o Iru).
Aikido Safe Chain es compatible con los siguientes gestores de paquetes:
- 📦 npm
- 📦 npx
- 📦 yarn
- 📦 pnpm
- 📦 pnpx
- 📦 rush
- 📦 rushx
- 📦 bun
- 📦 bunx
- 📦 pip
- 📦 pip3
- 📦 uv
- 📦 poetry
- 📦 uvx
- 📦 pipx
- 📦 pdm
Uso

Instalación
Instalar Aikido Safe Chain es fácil con el script de instalación.
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
Los comandos de instalación anteriores siempre hacen referencia a una versión específica. Para instalar una versión diferente, reemplaza la versión con el número de versión que desees. Todas las versiones disponibles están en la página de releases.
Integridad de la descarga
Los scripts de instalación se sirven desde una URL de release versionada (releases/download/1.5.20/...). Los releases de GitHub son inmutables — una vez que un artefacto se publica en una URL versionada, no puede modificarse ni reemplazarse, por lo que el archivo que descargas está garantizado que es exactamente lo que se publicó.
Verificar la instalación
-
❗Reinicia tu terminal para comenzar a usar Aikido Safe Chain.
- Este paso es crucial, ya que garantiza que los alias de shell para npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, poetry, uv, uvx, pipx y pdm se carguen correctamente. Si no reinicias tu terminal, los alias no estarán disponibles.
-
Verifica la instalación ejecutando el comando de verificación: ```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 salida debería mostrar "OK: Safe-chain works!" confirmando que Aikido Safe Chain está correctamente instalado y en ejecución.
-
(Opcional) Probar el bloqueo de malware intentando instalar un paquete de prueba:
Para JavaScript/Node.js: ```shell npm install safe-chain-test
Para Python: ```shell pip3 install safe-chain-pi-test
- La salida debería mostrar que Aikido Safe Chain está bloqueando la instalación de estos paquetes de prueba, ya que están marcados como malware.
Al ejecutar los comandos `npm`, `npx`, `yarn`, `pnpm`, `pnpx`, `rush`, `rushx`, `bun`, `bunx`, `pip`, `pip3`, `uv`, `uvx`, `poetry`, `pipx` y `pdm`, Aikido Safe Chain comprobará automáticamente si hay malware en los paquetes que intentas instalar. También intercepta las invocaciones de módulos de Python para pip cuando están disponibles (por ejemplo, `python -m pip install ...`, `python3 -m pip download ...`). Si se detecta algún malware, te pedirá que salgas del comando.
Puedes comprobar la versión instalada ejecutando:```shell
safe-chain --version
Cómo funciona
Bloqueo de malware
Aikido Safe Chain funciona ejecutando un servidor proxy ligero que intercepta las descargas de paquetes desde el registro de npm y PyPI. Cuando ejecutas los comandos npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, uv, uvx, poetry, pipx o pdm, todas las descargas de paquetes se enrutan a través de este proxy local, que verifica los paquetes en tiempo real contra Aikido Intel - Open Sources Threat Intelligence. Si se detecta malware en cualquier paquete (incluidas las dependencias profundas), el proxy bloquea la descarga antes de que el código malicioso llegue a tu máquina.
Antigüedad mínima del paquete
Safe Chain aplica comprobaciones de antigüedad mínima de los paquetes a los ecosistemas compatibles.
La aplicación actual difiere según el ecosistema:
- gestores de paquetes basados en npm:
- durante la resolución normal de paquetes, Safe Chain suprime las versiones más recientes que la antigüedad mínima configurada de los metadatos del paquete devueltos por el registro
- para las solicitudes de descarga directa de paquetes que omiten ese flujo de metadatos, Safe Chain puede bloquear la solicitud en sí utilizando una lista en caché de paquetes recién publicados
- gestores de paquetes de Python:
- durante la resolución de paquetes, Safe Chain suprime los archivos y versiones demasiado recientes de las respuestas de metadatos de PyPI
- para las solicitudes de descarga directa de paquetes que omiten ese flujo de metadatos, Safe Chain puede bloquear la solicitud en sí utilizando una lista en caché de paquetes recién publicados
De forma predeterminada, la antigüedad mínima del paquete es de 48 horas. Esto proporciona una capa de seguridad adicional durante el período crítico en el que los paquetes recién publicados son más vulnerables a contener amenazas no detectadas. Puedes configurar este umbral u omitir esta protección por completo; consulta la sección Minimum Package Age Configuration a continuación.
Integración con el shell
Aikido Safe Chain se integra con tu shell para proporcionar una experiencia fluida al usar npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx y los gestores de paquetes de Python (pip, uv, uvx, poetry, pipx, pdm). Configura alias para estos comandos de modo que queden envueltos por los comandos de Aikido Safe Chain, que gestionan el servidor proxy antes de ejecutar los comandos originales. Actualmente admitimos:
- ✅ Bash
- ✅ Zsh
- ✅ Fish
- ✅ PowerShell
- ✅ PowerShell Core