DepsGuard: endurece las configuraciones de tus gestores de paquetes frente a ataques a la cadena de suministro

Fuentes: DepsGuard: harden package manager configs against supply chain attacks
Imagen generada por IA con el prompt: Terminal window on a dark workspace showing a security audit table with green checkmarks and red warning rows, minimalist developer style, soft ambient lighting, no faces or logos.
Imagen generada con IA

DepsGuard es una herramienta de línea de comandos escrita en Rust que audita y refuerza las configuraciones de los principales gestores de paquetes de JavaScript y Python para mitigar ataques a la cadena de suministro. La aplicación localiza los archivos de configuración de npm, pnpm, yarn, bun y uv en el sistema, los compara con un conjunto de ajustes recomendados y propone, de forma interactiva, correcciones que el usuario debe aprobar antes de aplicarlas. También detecta archivos de configuración de Renovate y Dependabot en los repositorios del proyecto.

Funcionamiento y casos de uso: DepsGuard nunca ejecuta instalaciones de paquetes; su única acción es editar archivos de configuración previa confirmación y crea copias de seguridad con marca temporal antes de cualquier escritura. Incorpora una interfaz TUI interactiva en la que el usuario revisa los hallazgos, activa o desactiva las correcciones y previsualiza un diff antes de aplicarlas. Dispone de un subcomando scan para informes de solo lectura y de restore para revertir archivos a partir de las copias guardadas. Está pensada para desarrolladores individuales y, sobre todo, para equipos de plataforma y seguridad que necesiten aplicar políticas de hardening de forma homogénea en máquinas Linux, macOS y Windows.

Ajustes que aplica: Entre las verificaciones se incluyen min-release-age (retraso de siete días para nuevas versiones en npm), ignore-scripts para bloquear scripts de instalación maliciosos, minimum-release-age y block-exotic-subdeps en pnpm, npmMinimalAgeGate en yarn, minimumReleaseAge en bun y exclude-newer en uv. En el lado de los bots, configura minimumReleaseAge en Renovate y cooldown.default-days en Dependabot. Algunos ajustes requieren versiones mínimas (npm ≥ 11.10, pnpm ≥ 10.16, yarn ≥ 4.10, uv ≥ 0.9.17), que la propia herramienta indica.

Instalación: Se distribuye como binario estático sin dependencias de crates de Rust de terceros, con archivos para Linux (x86_64 glibc y musl, aarch64), macOS (Intel y Apple Silicon) y Windows (x86_64). Está disponible mediante repositorio APT propio, Homebrew (tap arnica/depsguard), WinGet, Scoop y crates.io; la integridad se verifica con los ficheros .sha256 adjuntos en cada release. Para compilar desde el código fuente se necesita Rust 1.74 o superior.