Voltar às atualizações
New releaseAug 5, 2026

safe-chain v1.5.15

Proteja contra código malicioso instalado via npm, yarn, pnpm, npx, pnpx, pip, uv e poetry com Aikido Safe Chain. Grátis para usar, sem necessidade de tokens.

Compartilhar

Aikido Safe Chain

Aikido Safe Chain

NPM Version NPM Downloads

  • ✅ Bloqueie malware em laptops de desenvolvedores e em CI/CD
  • ✅ Suporta npm e PyPI mais gerenciadores de pacotes em breve
  • ✅ Bloqueia pacotes com menos de 48 horas sem quebrar sua build
  • ✅ Sem token, gratuito, nenhum dado de build é compartilhado

Precisa de proteção além do npm e PyPI?

O Aikido Device Protection é construído sobre o Safe Chain, estendendo a segurança de pacotes e extensões por mais ecossistemas: npm, PyPI, VS Code, Open VSX - (Cursor, Windsurf, Kiro, Vs Codium, ...), Maven, NuGet, extensões do Chrome, Go, Skills.sh AI skills, Ruby, Rust, e mais.

Obtenha gerenciamento centralizado de políticas, fluxos de solicitação e aprovação, e visibilidade em cada estação de trabalho de desenvolvedor na sua organização. Desenvolvido com o mesmo feed do Aikido Intel. Faça o deploy manualmente ou gerencie-o através da sua ferramenta de MDM (Jamf, Fleet ou Iru).


O Aikido Safe Chain suporta os seguintes gerenciadores de pacotes:

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

Uso

Aikido Safe Chain demo

Instalação

Instalar o Aikido Safe Chain é fácil com o script de instalação.

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

Os comandos de instalação acima sempre fazem referência a uma versão específica. Para instalar uma versão diferente, substitua a versão pelo número da versão desejada. Todas as versões disponíveis estão na página de releases.

Integridade do download

Os scripts de instalação são servidos a partir de um URL de release versionado (releases/download/1.5.20/...). As releases do GitHub são imutáveis — uma vez que um artefato é publicado num URL versionado, não pode ser modificado ou substituído, pelo que o ficheiro que descarrega tem a garantia de ser exatamente o que foi lançado.

Verificar a instalação

  1. ❗Reinicie o seu terminal para começar a usar o Aikido Safe Chain.

    • Este passo é crucial, pois garante que os aliases de shell para npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, poetry, uv, uvx, pipx e pdm são carregados corretamente. Se não reiniciar o terminal, os aliases não estarão disponíveis.
  2. Verifique a instalação executando o comando de verificação: ```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

  • A saída deve exibir "OK: Safe-chain works!" confirmando que o Aikido Safe Chain está devidamente instalado e em execução.
  1. (Opcional) Testar o bloqueio de malware tentando instalar um pacote de teste:

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

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

- A saída deve mostrar que o Aikido Safe Chain está bloqueando a instalação desses pacotes de teste, pois eles são sinalizados como malware.

Ao executar os comandos `npm`, `npx`, `yarn`, `pnpm`, `pnpx`, `rush`, `rushx`, `bun`, `bunx`, `pip`, `pip3`, `uv`, `uvx`, `poetry`, `pipx` e `pdm`, o Aikido Safe Chain verificará automaticamente se há malware nos pacotes que você está tentando instalar. Ele também intercepta invocações de módulos Python para pip quando disponível (por exemplo, `python -m pip install ...`, `python3 -m pip download ...`). Se algum malware for detectado, ele solicitará que você saia do comando.

Você pode verificar a versão instalada executando:```shell
safe-chain --version

Como funciona

Bloqueio de Malware

O Aikido Safe Chain funciona executando um servidor proxy leve que intercepta downloads de pacotes do registro npm e do PyPI. Quando você executa os comandos npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx, pip, pip3, uv, uvx, poetry, pipx ou pdm, todos os downloads de pacotes são roteados através deste proxy local, que verifica os pacotes em tempo real contra o Aikido Intel - Open Sources Threat Intelligence. Se malware for detectado em qualquer pacote (incluindo dependências profundas), o proxy bloqueia o download antes que o código malicioso chegue à sua máquina.

Idade mínima do pacote

O Safe Chain aplica verificações de idade mínima de pacote aos ecossistemas suportados.

A aplicação atual difere por ecossistema:

  • gerenciadores de pacotes baseados em npm:
    • durante a resolução normal de pacotes, o Safe Chain suprime versões mais recentes que a idade mínima configurada dos metadados do pacote retornados pelo registro
    • para solicitações diretas de download de pacotes que contornam esse fluxo de metadados, o Safe Chain pode bloquear a própria solicitação usando uma lista em cache de pacotes recém-lançados
  • gerenciadores de pacotes Python:
    • durante a resolução de pacotes, o Safe Chain suprime arquivos e versões muito recentes das respostas de metadados do PyPI
    • para solicitações diretas de download de pacotes que contornam esse fluxo de metadados, o Safe Chain pode bloquear a própria solicitação usando uma lista em cache de pacotes recém-lançados

Por padrão, a idade mínima do pacote é de 48 horas. Isso fornece uma camada adicional de segurança durante o período crítico em que pacotes recém-publicados são mais vulneráveis a conter ameaças não detectadas. Você pode configurar esse limite ou contornar completamente essa proteção - consulte a seção Minimum Package Age Configuration abaixo.

Integração com o Shell

O Aikido Safe Chain integra-se com o seu shell para proporcionar uma experiência perfeita ao usar npm, npx, yarn, pnpm, pnpx, rush, rushx, bun, bunx e gerenciadores de pacotes Python (pip, uv, uvx, poetry, pipx, pdm). Ele configura aliases para esses comandos de modo que sejam envolvidos pelos comandos do Aikido Safe Chain, que gerenciam o servidor proxy antes de executar os comandos originais. Atualmente suportamos:

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

Mais informações sobre a integração com o shell podem ser encontradas na documentação de integração com o shell.

Desinstalação

Categorias