
PMG protege a desarrolladores y agentes de IA de paquetes de código abierto maliciosos utilizando proxy, sandbox y el feed de inteligencia de amenazas de SafeDep.
Bloquea paquetes maliciosos de npm y pip antes de que se instalen.
Defensa en profundidad para los gestores de paquetes que ya usas.
Los desarrolladores y agentes de codificación de IA instalan paquetes cada día. Cada npm install o pip install ejecuta miles de líneas de código que nadie revisa.
Compromisos recientes en ecosistemas populares:
PMG es gratuito, de código abierto (Apache 2.0) y no requiere cuenta ni clave API. Intercepta cada instalación de paquete y la verifica contra la API comunitaria gratuita de SafeDep en busca de malware conocido antes de que se ejecute el código. Instálalo una vez y cubre cada npm install, pip install y poetry add a partir de entonces.
PMG adopta un enfoque de defensa en profundidad. Sin configuración, funciona en Zsh, Bash y Fish, y cada instalación pasa por las capas de protección habilitadas antes de que se ejecute el código, más un registro de auditoría después.
npm, pip y otros gestores de paquetes. Los desarrolladores y agentes de IA usan los mismos comandos. Sin cambios en el flujo de trabajo.PMG es el único cortafuegos de paquetes gratuito, de código abierto y en tiempo de instalación que cubre tanto a desarrolladores como a agentes de IA y viene con sandboxing y enfriamiento integrados.
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
Ver Instalación para Homebrew, npm y otros métodos de instalación.
Conecta PMG a tu shell para que intercepte los gestores de paquetes.
pmg setup install
# Reinicia tu terminal para aplicar los cambios
Consejo: Vuelve a ejecutar
pmg setup installdespués de actualizar PMG para recoger nuevas opciones de configuración.Linux todos los usuarios / imágenes golden:
sudo pmg setup install --system— ver docs/system-install.md.
Valida tu instalación y verifica que la protección funciona:
pmg setup doctor
Opcional: PMG inspecciona el tráfico HTTPS con una CA al vuelo que inyecta en los gestores de paquetes por ejecución. Para persistir una única CA entre ejecuciones y confiar en ella en el almacén de confianza del SO (necesario para herramientas que ignoran las variables de entorno de CA, como Go en macOS y Windows), instálala una vez:
pmg setup cert install # ámbito de usuario, sin sudo pmg setup cert status # verificar estado de confianza y caducidadVer Autoridad de Certificación para ámbitos, rotación y eliminación.
Ve cómo PMG bloquea amenazas.
npm install --no-cache --prefer-online [email protected]
Nota:
safedep-test-pkges un paquete de prueba benigno marcado como malicioso en la base de datos de SafeDep con fines de prueba y verificación.
Continúa usando tus gestores de paquetes como de costumbre, o deja que tu agente de codificación de IA los ejecute. PMG se sitúa en el camino, bloqueando paquetes maliciosos.
npm install express
# or
pip install requests
PMG soporta las herramientas que ya usas:
Descarga la última versión de GitHub, verifica su suma de comprobación SHA-256 y la instala en $HOME/.local/bin (si está en PATH) o en /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: Las instalaciones basadas en NPM pueden ser frágiles cuando Node.js es gestionado por gestores de versiones como
miseoasdf. La ruta global del binario denpmcambia con la versión activa de Node, por lo que cambiar de versiones puede dejarpmgno disponible enPATH(o apuntando a una instalación antigua). Para estas configuraciones, prefiere el script de instalación o Homebrew.
# Asegúrate de que $(go env GOPATH)/bin esté en tu $PATH
go install github.com/safedep/pmg@latest
Descarga el binario más reciente para tu plataforma desde la Página de Lanzamientos.
Imágenes multi-arquitectura precompiladas (linux/amd64, linux/arm64) se publican en GitHub Container Registry en cada lanzamiento. El punto de entrada de la imagen es pmg.
# Descarga la imagen más reciente (o fija una versión, por ejemplo :v1.2.3)
docker pull ghcr.io/safedep/pmg:latest
# Ejecuta cualquier comando de pmg
docker run --rm ghcr.io/safedep/pmg:latest version
Protege los flujos de trabajo de CI con un solo paso. PMG analiza cada npm install,
pip install, etc. en el trabajo.
- uses: safedep/pmg@v1
with:
server-mode: true
# interceptado vía HTTP_PROXY automáticamente
- run: npm ci
- name: Enforce PMG policy
if: always()
run: pmg proxy stop --fail-on-violation # detiene el daemon, falla el trabajo en un bloqueo
Por defecto obtienes bloqueo de malware y enfriamiento de dependencias. El aislamiento de sandbox es optativo mediante la entrada sandbox. Ajusta el comportamiento a través de entradas (paranoid, sandbox, cooldown-days, ...) o apunta config-file a un YAML en el repositorio. Consulta docs/github-action.md para la referencia completa.
Elimina la integración del shell:
pmg setup remove
Para eliminar también el archivo de configuración de PMG:
pmg setup remove --config-file
Luego desinstala PMG:
# Homebrew
brew uninstall safedep/tap/pmg
# NPM
npm uninstall -g @safedep/pmg
Las compilaciones de PMG son reproducibles y están firmadas.
Si PMG te salvó de un paquete malo, dale estrella a este repositorio. Ayuda a otros a encontrarlo.
Se aceptan contribuciones. Consulta CONTRIBUTING.md para instrucciones de construcción y prueba.
Gracias a todos los contribuyentes ❤️
PMG recopila datos de uso anónimos. Para deshabilitar, ya sea:
disable_telemetry: true en tu archivo de configuración de PMG, oPMG_DISABLE_TELEMETRY=true.| Capacidad | PMG | Socket | safe-chain | Snyk | Dependabot |
|---|
| Código abierto / construido en público | ✓ | ✗ | ✓ | ✗ | ✗ |
| Sin cuenta ni clave API | ✓ | ✓ | ✓ | ✗ | ✗ |
| Bloqueo de paquetes maliciosos en tiempo de instalación | ✓ | ✓ | ✓ | ✗ | ✗ |
| Política de enfriamiento de dependencias | ✓ | ✗ | ✓ | ✗ | ✗ |
| Sandboxing en tiempo de ejecución | ✓ | ✗ | ✗ | ✗ | ✗ |
| Protege de forma transparente a los agentes de codificación de IA | ✓ | ✗ | ✗ | ✗ | ✗ |
| Registros de auditoría locales | ✓ | ✗ | ✗ | ✗ | ✗ |
| PRs de remediación de CVE conocidos | ✗ | ✗ | ✗ | ✓ | ✓ |
| Ecosistema | Herramientas | Ejemplo 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> |