
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.
Bloqueie pacotes npm e pip maliciosos antes da instalação.
Defesa em profundidade para os gerenciadores de pacotes que você já usa.
Desenvolvedores e agentes de IA que codificam instalam pacotes todos os dias. Cada npm install ou pip install executa milhares de linhas de código que ninguém revisa.
Compromissos recentes em ecossistemas populares:
O 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 na API comunitária gratuita do SafeDep em busca de malware conhecido antes da execução do código. Instale uma vez e ele cobre todo npm install, pip install e poetry add a partir de então.
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 rastro de auditoria após.
npm, pip e outros gerenciadores de pacotes. Desenvolvedores e agentes de IA usam os mesmos comandos. Sem alterações no fluxo de trabalho.O PMG é o único firewall de pacotes gratuito e open source no momento da instalação que cobre tanto desenvolvedores quanto agentes de IA e já vem com sandbox e cooldown prontos para uso.
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
Veja Instalação para Homebrew, npm e outros métodos de instalação.
Conecte o PMG ao seu shell para que ele intercepte os gerenciadores de pacotes.
pmg setup install
# Reinicie seu terminal para aplicar as alterações
Dica: Execute
pmg setup installnovamente após atualizar o PMG para obter novas opções de configuração.Linux para todos os usuários / imagens golden:
sudo pmg setup install --system— veja 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 por execução. Para persistir uma única CA entre execuções e confiar nela no repositório 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 # verificar estado de confiança e validadeVeja Autoridade Certificadora para escopos, rotação e remoção.
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 IA executá-los. O PMG fica no caminho, bloqueando pacotes maliciosos.
npm install express
# ou
pip install requests
O PMG suporta as ferramentas que você já usa:
Baixa a última versão do GitHub, verifica seu checksum 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
brew tap safedep/tap
brew install safedep/tap/pmg
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
miseouasdf. O caminho global do binárionpmmuda com a versão ativa do Node, então alternar versões pode deixar opmgindisponível noPATH(ou apontar para uma instalação antiga). Para essas configurações, prefira o script de instalação ou Homebrew.
# Certifique-se de que $(go env GOPATH)/bin está no seu $PATH
go install github.com/safedep/pmg@latest
Baixe o binário mais recente para sua plataforma na Página de Releases.
Imagens pré-construídas multi-arquitetura (linux/amd64, linux/arm64) são publicadas no Registro de Contêineres do GitHub em 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
Proteja fluxos de trabalho de CI com uma etapa. 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ência. Isolamento
com sandbox é opt-in via entrada sandbox. Ajuste o comportamento via entradas (paranoid,
sandbox, cooldown-days, ...) ou aponte
config-file para um YAML no repositório. Veja
docs/github-action.md para a referência completa.
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
As builds do PMG são reproduzíveis e assinadas.
Se o PMG te salvou de um pacote ruim, dê uma estrela neste repositório. Isso ajuda outras pessoas a encontrá-lo.
Contribuições são bem-vindas. Veja CONTRIBUTING.md para instruções de build e teste.
Obrigado a todos os contribuidores ❤️
O PMG coleta dados de uso anônimos. Para desativar, ou:
disable_telemetry: true no seu arquivo de configuração do PMG, ouPMG_DISABLE_TELEMETRY=true.| Capacidade | PMG | Socket | safe-chain | Snyk | Dependabot |
|---|
| OSS / construído em público | ✓ | ✗ | ✓ | ✗ | ✗ |
| Sem conta ou chave de API | ✓ | ✓ | ✓ | ✗ | ✗ |
| Bloqueio de pacotes maliciosos na instalação | ✓ | ✓ | ✓ | ✗ | ✗ |
| Política de cooldown de dependência | ✓ | ✗ | ✓ | ✗ | ✗ |
| Sandbox em tempo de execução | ✓ | ✗ | ✗ | ✗ | ✗ |
| Protege agentes de IA de forma transparente | ✓ | ✗ | ✗ | ✗ | ✗ |
| Logs de auditoria locais | ✓ | ✗ | ✗ | ✗ | ✗ |
| PRs de correção de CVE conhecidas | ✗ | ✗ | ✗ | ✓ | ✓ |
| Ecossistema | Ferramentas | Exemplo de Comando |
|---|
| Node.js | npm | npm install <pkg> |
pnpm | pnpm add <pkg> | |
yarn | yarn add <pkg> | |
bun | bun add <pkg> | |
npx | npx <pkg> | |
pnpx | pnpx <pkg> | |
| Python | pip | pip install <pkg> |
pipx | pipx run <pkg> | |
poetry | poetry add <pkg> | |
uv | uv add <pkg> | |
uvx | uvx <pkg> |