Volver a actualizaciones
Nuevo releaseAug 20, 2026

pmg v0.26.0

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.

Compartir

Guardia del Gestor de Paquetes (PMG)

Bloquea paquetes maliciosos de npm y pip antes de que se instalen.
Defensa en profundidad para los gestores de paquetes que ya usas.

safedep%2Fpmg | Trendshift

pmg in action

Docs Website Discord Featured in tl;dr sec

Go Report Card License Release OpenSSF Scorecard CodeQL

¿Por qué PMG?

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:

  • Mini Shai-Hulud - más de 300 paquetes populares comprometidos
  • litellm 1.82.8 - una biblioteca popular de proxy de IA comprometida para exfiltrar credenciales
  • telnyx 4.87.2 - un SDK legítimo de telecomunicaciones secuestrado en PyPI
  • pino-sdk-v2 - un paquete typosquat disfrazado del popular registrador pino

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.

Cómo funciona PMG

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.

PMG defense in depth: install command intercepted by PMG, passed through Layer 1 Threat Intel, Layer 2 Cooldown, Layer 3 Sandbox, then run with an audit log entry
Detalles de las capas
  • Intercepción Transparente - PMG envuelve a npm, pip y otros gestores de paquetes. Los desarrolladores y agentes de IA usan los mismos comandos. Sin cambios en el flujo de trabajo.
  • Capa 1: Inteligencia de Amenazas - PMG verifica cada paquete contra la inteligencia de amenazas en tiempo real de SafeDep antes de la instalación. Los paquetes maliciosos conocidos son bloqueados. Sin clave, sin inicio de sesión requerido.
  • Capa 2: Política (Período de Enfriamiento de Dependencias) - PMG bloquea las versiones de paquetes publicadas dentro de una ventana de enfriamiento configurable, para que las versiones recién comprometidas se salten durante la ventana.
  • Capa 3: Sandbox Optativo - Cuando el sandboxing está habilitado y configurado, PMG ejecuta las instalaciones dentro de sandboxes nativos del sistema operativo (macOS Seatbelt, Linux Landlock por defecto, o Bubblewrap como alternativa) para que los scripts de instalación tengan acceso restringido al sistema incluso si una amenaza evade las dos primeras capas.
  • Registro de Auditoría - PMG registra cada instalación (qué, cuándo, desde dónde) para un rastro de auditoría verificable.

Cómo se Compara PMG

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.

CapacidadPMGSocketsafe-chainSnykDependabot
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

Inicio Rápido

1. Instalación

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.

2. Configuració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 install despué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 caducidad

Ver Autoridad de Certificación para ámbitos, rotación y eliminación.

3. Uso

Ve cómo PMG bloquea amenazas.

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

Nota: safedep-test-pkg es 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

Gestores de Paquetes Soportados

PMG soporta las herramientas que ya usas:

EcosistemaHerramientasEjemplo 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>

Instalación

Script de Instalación (MacOS/Linux)

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
Homebrew (MacOS/Linux)
brew tap safedep/tap
brew install safedep/tap/pmg
NPM (Multiplataforma)
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 mise o asdf. La ruta global del binario de npm cambia con la versión activa de Node, por lo que cambiar de versiones puede dejar pmg no disponible en PATH (o apuntando a una instalación antigua). Para estas configuraciones, prefiere el script de instalación o Homebrew.

Go (Compilar desde Código Fuente)
# Asegúrate de que $(go env GOPATH)/bin esté en tu $PATH
go install github.com/safedep/pmg@latest
Descarga Binaria

Descarga el binario más reciente para tu plataforma desde la Página de Lanzamientos.

Imagen de Contenedor (GHCR)

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

Acciones de GitHub

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.

Desinstalación

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

Confianza y Seguridad

Las compilaciones de PMG son reproducibles y están firmadas.

  • Atestaciones: Las atestaciones de GitHub y npm garantizan la integridad de los artefactos.
  • Verificación: Puedes demostrar criptográficamente que el binario coincide con el código fuente.
  • Consulta Confiar en PMG para los pasos de verificación.

Guía de Usuario

Soporte

Si PMG te salvó de un paquete malo, dale estrella a este repositorio. Ayuda a otros a encontrarlo.

Historial de Estrellas

Star History Chart

Contribuciones

Se aceptan contribuciones. Consulta CONTRIBUTING.md para instrucciones de construcción y prueba.

Gracias a todos los contribuyentes ❤️

Contributors to PMG

Telemetría

PMG recopila datos de uso anónimos. Para deshabilitar, ya sea:

  • Establece disable_telemetry: true en tu archivo de configuración de PMG, o
  • Exporta PMG_DISABLE_TELEMETRY=true.

Categorías