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

pmg v0.27.0

O PMG protege desenvolvedores e agentes de IA contra pacotes de código aberto maliciosos usando proxy, sandbox e o feed de inteligência de ameaças da SafeDep.

Compartilhar

Package Manager Guard (PMG)

Bloqueie pacotes npm e pip maliciosos antes que sejam instalados.
Defesa em profundidade para os gerenciadores de pacotes que você já usa.

safedep%2Fpmg | Trendshift

pmg em ação

Docs Website Discord Featured in tl;dr sec

Go Report Card License Release OpenSSF Scorecard CodeQL

Por que PMG?

Desenvolvedores e agentes de codificação de IA instalam pacotes todos os dias. Cada npm install ou pip install executa milhares de linhas de código que ninguém revisa.

Comprometimentos recentes em ecossistemas populares:

  • Mini Shai-Hulud - mais de 300 pacotes populares comprometidos
  • litellm 1.82.8 - uma biblioteca popular de proxy de IA comprometida para exfiltrar credenciais
  • telnyx 4.87.2 - um SDK legítimo de telecomunicações sequestrado no PyPI
  • pino-sdk-v2 - um pacote typosquat disfarçado como o popular logger pino

PMG é gratuito, open source (Apache 2.0) e não requer conta ou chave de API. Ele intercepta cada instalação de pacote e a verifica contra a API comunitária gratuita do SafeDep em busca de malware conhecido antes da execução do código. Instale uma vez, e ele cobre todos os npm install, pip install e poetry add posteriores.

Como o PMG Funciona

O PMG adota uma abordagem de defesa em profundidade. Zero configuração, funciona em Zsh, Bash e Fish, e cada instalação passa pelas camadas de proteção habilitadas antes da execução do código, além de um trilha de auditoria posterior.

Defesa em profundidade do PMG: comando de instalação interceptado pelo PMG, passado pela Camada 1 Inteligência de Ameaças, Camada 2 Cooldown, Camada 3 Sandbox, depois executado com uma entrada de log de auditoria
Detalhes das camadas
  • Interceptação Transparente - O PMG envolve npm, pip e outros gerenciadores de pacotes. Desenvolvedores e agentes de IA usam os mesmos comandos. Sem mudanças no fluxo de trabalho.
  • Camada 1: Inteligência de Ameaças - O PMG verifica cada pacote contra a inteligência de ameaças em tempo real do SafeDep antes da instalação. Pacotes conhecidos como maliciosos são bloqueados. Sem chave, sem login necessário.
  • Camada 2: Política (Cooldown de Dependências) - O PMG bloqueia versões de pacotes publicadas dentro de uma janela de cooldown configurável, para que versões recentemente comprometidas sejam ignoradas durante a janela.
  • Camada 3: Sandbox Opcional - Quando o sandboxing está habilitado e configurado, o PMG executa instalações dentro de sandboxes nativos do sistema operacional (macOS Seatbelt, Linux Landlock por padrão, ou fallback Bubblewrap) para que scripts de instalação tenham acesso restrito ao sistema, mesmo que uma ameaça passe pelas duas primeiras camadas.
  • Log de Auditoria - O PMG registra cada instalação (o quê, quando, de onde) para uma trilha de auditoria verificável.

Como o PMG se Compara

O PMG é o único firewall de pacotes em tempo de instalação gratuito e open source que cobre desenvolvedores e agentes de IA igualmente e vem com sandboxing e cooldown prontos para uso.

CapacidadePMGSocketsafe-chainSnykDependabot
OSS / construído em público
Sem conta ou chave de API
Bloqueio de pacotes maliciosos em tempo de instalação
Política de cooldown de dependências
Sandboxing em tempo de execução
Protege agentes de codificação de IA de forma transparente
Logs de auditoria locais
PRs de remediação de CVEs conhecidas

Início Rápido

1. Instalação

curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh

Consulte Instalação para Homebrew, npm e outros métodos de instalação.

2. Configuração

Conecte o PMG ao seu shell para que ele intercepte os gerenciadores de pacotes.

pmg setup install
# Reinicie seu terminal para aplicar as mudanças

Dica: Execute pmg setup install novamente após atualizar o PMG para obter novas opções de configuração.

Linux para todos os usuários / imagens douradas: sudo pmg setup install --system — consulte docs/system-install.md.

Valide sua instalação e verifique se a proteção está funcionando:

pmg setup doctor

Opcional: O PMG inspeciona o tráfego HTTPS com uma CA dinâmica que ele injeta nos gerenciadores de pacotes a cada execução. Para persistir uma única CA entre execuções e confiá-la no armazenamento de confiança do seu SO (necessário para ferramentas que ignoram variáveis de ambiente de CA, como Go no macOS e Windows), instale-a uma vez:

pmg setup cert install          # escopo do usuário, sem sudo
pmg setup cert status           # verifica estado de confiança e expiração

Consulte Autoridade Certificadora para escopos, rotação e remoção.

3. Uso

Veja o PMG bloqueando ameaças.

npm install --no-cache --prefer-online [email protected]

Nota: safedep-test-pkg é um pacote de teste benigno sinalizado como malicioso no banco de dados do SafeDep para fins de teste e verificação.

Continue usando seus gerenciadores de pacotes normalmente, ou deixe seu agente de codificação de IA executá-los. O PMG fica no caminho, bloqueando pacotes maliciosos.

npm install express
# ou
pip install requests

Gerenciadores de Pacotes Suportados

O PMG suporta as ferramentas que você já usa:

EcossistemaFerramentasExemplo de Comando
Node.jsnpmnpm install <pkg>
pnpmpnpm add <pkg>
yarnyarn add <pkg>
bunbun add <pkg>
npxnpx <pkg>
pnpxpnpx <pkg>
Pythonpippip install <pkg>
pipxpipx run <pkg>
poetrypoetry add <pkg>
uvuv add <pkg>
uvxuvx <pkg>

Instalação

Script de Instalação (MacOS/Linux)

Baixa a versão mais recente do GitHub, verifica sua soma de verificação SHA-256 e instala em $HOME/.local/bin (se estiver no PATH) ou /usr/local/bin.

curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
Homebrew (MacOS/Linux)
brew tap safedep/tap
brew install safedep/tap/pmg
NPM (Multiplataforma)
npm install -g @safedep/pmg

Nota: Instalações baseadas em NPM podem ser frágeis quando o Node.js é gerenciado por gerenciadores de versão como mise ou asdf. O caminho global do binário npm muda com a versão ativa do Node, então alternar versões pode deixar pmg indisponível no PATH (ou apontando para uma instalação antiga). Para esses cenários, prefira o script de instalação ou o Homebrew.

Go (Compilar a partir do Código Fonte)
# Certifique-se de que $(go env GOPATH)/bin está no seu $PATH
go install github.com/safedep/pmg@latest
Download do Binário

Baixe o binário mais recente para sua plataforma na Página de Releases.

Imagem de Contêiner (GHCR)

Imagens pré-construídas multi-arquitetura (linux/amd64, linux/arm64) são publicadas no GitHub Container Registry a cada release. O entrypoint da imagem é pmg.

# Baixe a imagem mais recente (ou fixe uma tag de versão, ex.: :v1.2.3)
docker pull ghcr.io/safedep/pmg:latest

# Execute qualquer comando pmg
docker run --rm ghcr.io/safedep/pmg:latest version

GitHub Actions

Proteja fluxos de trabalho de CI com um único passo. O PMG analisa cada npm install, pip install, etc. no job.

- uses: safedep/pmg@v1
  with:
    server-mode: true

# interceptado via HTTP_PROXY automaticamente
- run: npm ci

- name: Aplicar política do PMG
  if: always()
  run: pmg proxy stop --fail-on-violation   # para o daemon, falha o job em caso de bloqueio

Por padrão, você obtém bloqueio de malware e cooldown de dependências. O isolamento por sandbox é opcional via input sandbox. Ajuste o comportamento via inputs (paranoid, sandbox, cooldown-days, ...) ou aponte config-file para um YAML no repositório. Consulte docs/github-action.md para a referência completa.

Desinstalação

Remova a integração com o shell:

pmg setup remove

Para também remover o arquivo de configuração do PMG:

pmg setup remove --config-file

Em seguida, desinstale o próprio PMG:

# Homebrew
brew uninstall safedep/tap/pmg

# NPM
npm uninstall -g @safedep/pmg

Confiança e Segurança

As builds do PMG são reproduzíveis e assinadas.

  • Atestados: Atestados do GitHub e npm garantem a integridade dos artefatos.
  • Verificação: Você pode provar criptograficamente que o binário corresponde ao código-fonte.
  • Consulte Confiando no PMG para etapas de verificação.

Guia do Usuário

Suporte

Se o PMG salvou você de um pacote ruim, dê uma estrela neste repositório. Isso ajuda outras pessoas a encontrá-lo.

Contribuindo

Contribuições são bem-vindas. Consulte CONTRIBUTING.md para instruções de build e teste.

Agradecemos a todos os contribuidores ❤️

Contribuidores do PMG

Telemetria

O PMG coleta dados de uso anônimos. Para desativar, faça uma das seguintes opções:

  • Defina disable_telemetry: true no seu arquivo de configuração do PMG, ou
  • Exporte PMG_DISABLE_TELEMETRY=true.

Categorias