
safe-chain v1.5.15
Защититесь от вредоносного кода, устанавливаемого через npm, yarn, pnpm, npx, pnpx, pip, uv и poetry, с помощью Aikido Safe Chain. Бесплатно, токены не требуются.
Aikido Safe Chain
- ✅ Блокирует вредоносное ПО на ноутбуках разработчиков и в CI/CD
- ✅ Поддерживает npm и PyPI — другие менеджеры пакетов уже в разработке
- ✅ Блокирует пакеты новее 48 часов, не ломая вашу сборку
- ✅ Без токенов, бесплатно, данные о сборке не передаются
Нужна защита за пределами npm и PyPI?
Aikido Device Protection развивает идеи Safe Chain, распространяя безопасность пакетов и расширений на большее число экосистем: npm, PyPI, VS Code, Open VSX — (Cursor, Windsurf, Kiro, Vs Codium, ...), Maven, NuGet, расширения Chrome, Go, навыки ИИ Skills.sh, Ruby, Rust и другие.
Получите централизованное управление политиками, процессы запросов и согласований, а также видимость по всем рабочим станциям разработчиков в вашей организации. Работает на той же ленте Aikido Intel. Разверните вручную или управляйте через ваш MDM-инструмент (Jamf, Fleet или Iru).
Aikido Safe Chain поддерживает следующие менеджеры пакетов:
- 📦 npm
- 📦 npx
- 📦 yarn
- 📦 pnpm
- 📦 pnpx
- 📦 rush
- 📦 rushx
- 📦 bun
- 📦 bunx
- 📦 pip
- 📦 pip3
- 📦 uv
- 📦 poetry
- 📦 uvx
- 📦 pipx
- 📦 pdm
Использование

Установка
Установить Aikido Safe Chain легко с помощью установочного скрипта.
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
Команды установки выше всегда ссылаются на конкретный релиз. Чтобы установить другую версию, замените версию на нужный вам номер версии. Все доступные версии находятся на странице релизов.
Целостность загрузки
Скрипты установки отдаются по URL версионированного релиза (releases/download/1.5.20/...). Релизы GitHub неизменяемы — после публикации артефакта по версионированному URL его нельзя изменить или заменить, поэтому загружаемый файл гарантированно является именно тем, что было выпущено.
Проверка установки
-
❗Перезапустите терминал, чтобы начать использовать Aikido Safe Chain.
- Этот шаг критически важен, так как он гарантирует, что псевдонимы оболочки для npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, poetry, uv, uvx, pipx и pdm загружены корректно. Если вы не перезапустите терминал, псевдонимы не будут доступны.
-
Проверьте установку, выполнив команду проверки: ```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
- Вывод должен отображать "OK: Safe-chain works!", подтверждая, что Aikido Safe Chain правильно установлен и работает.
-
(Необязательно) Проверьте блокировку вредоносного ПО, попытавшись установить тестовый пакет:
Для JavaScript/Node.js: ```shell npm install safe-chain-test
Для Python: ```shell pip3 install safe-chain-pi-test
- В выводе должно быть видно, что Aikido Safe Chain блокирует установку этих тестовых пакетов, так как они помечены как вредоносные.
При выполнении команд `npm`, `npx`, `yarn`, `pnpm`, `pnpx`, `rush`, `rushx`, `bun`, `bunx`, `pip`, `pip3`, `uv`, `uvx`, `poetry`, `pipx` и `pdm` Aikido Safe Chain автоматически проверяет пакеты, которые вы пытаетесь установить, на наличие вредоносного ПО. Он также перехватывает вызовы модулей Python для pip, когда это возможно (например, `python -m pip install ...`, `python3 -m pip download ...`). Если обнаружено вредоносное ПО, он предложит вам прервать выполнение команды.
Проверить установленную версию можно, выполнив:```shell
safe-chain --version
Как это работает
Блокировка вредоносного ПО
Aikido Safe Chain работает путём запуска лёгкого прокси-сервера, который перехватывает загрузки пакетов из реестра npm и PyPI. Когда вы запускаете команды npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, uv, uvx, poetry, pipx или pdm, все загрузки пакетов направляются через этот локальный прокси, который проверяет пакеты в реальном времени с помощью Aikido Intel - Open Sources Threat Intelligence. Если в каком-либо пакете обнаружено вредоносное ПО (включая глубокие зависимости), прокси блокирует загрузку до того, как вредоносный код достигнет вашей машины.
Минимальный возраст пакета
Safe Chain применяет проверки минимального возраста пакета к поддерживаемым экосистемам.
Текущее применение различается в зависимости от экосистемы:
- менеджеры пакетов на основе npm:
- во время обычного разрешения пакетов Safe Chain подавляет версии, которые новее настроенного минимального возраста, из метаданных пакета, возвращаемых реестром
- для прямых запросов на загрузку пакетов, которые обходят этот поток метаданных, Safe Chain может заблокировать сам запрос, используя кэшированный список недавно выпущенных пакетов
- менеджеры пакетов Python:
- во время разрешения пакетов Safe Chain подавляет слишком новые файлы и релизы из ответов метаданных PyPI
- для прямых запросов на загрузку пакетов, которые обходят этот поток метаданных, Safe Chain может заблокировать сам запрос, используя кэшированный список недавно выпущенных пакетов
По умолчанию минимальный возраст пакета составляет 48 часов. Это обеспечивает дополнительный уровень безопасности в критический период, когда недавно опубликованные пакеты наиболее уязвимы к содержанию необнаруженных угроз. Вы можете настроить этот порог или полностью обойти эту защиту — см. раздел Minimum Package Age Configuration ниже.
Интеграция с оболочкой
Aikido Safe Chain интегрируется с вашей оболочкой, обеспечивая бесшовную работу при использовании npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx и менеджеров пакетов Python (pip, uv, uvx, poetry, pipx, pdm). Он настраивает псевдонимы для этих команд, чтобы они оборачивались командами Aikido Safe Chain, которые управляют прокси-сервером перед выполнением исходных команд. В настоящее время мы поддерживаем:
- ✅ Bash
- ✅ Zsh
- ✅ Fish
- ✅ PowerShell
- ✅ PowerShell Core
Дополнительную информацию об интеграции с оболочкой можно найти в документации по интеграции с оболочкой.
Удаление
Чтобы удалить Aikido Safe Chain, используйте наш однострочный деинсталлятор: