Dependencias: paquetes vulnerables o viejos en tus proyectos
La sección Dependencias revisa todos tus proyectos de una vez: lee sus archivos de bloqueo, sin tocarlos, y los cruza con OSV.dev, el catálogo de vulnerabilidades explotadas de CISA y endoflife.date. Te dice qué paquetes tienen fallas de seguridad, cuáles son maliciosos, deprecados o muy viejos, y qué runtimes perdieron soporte, con el comando para actualizar.
Si programas, tu Mac está llena de proyectos con cientos de dependencias cada uno. Algunas tienen vulnerabilidades conocidas, otras se abandonaron hace años, y el runtime de algún proyecto viejo ya no recibe parches. Revisarlos uno por uno no lo hace nadie. Pruneo los revisa todos juntos.
Qué revisa
Por cada proyecto, Pruneo lee su archivo de bloqueo y avisa:
- Vulnerabilidades conocidas, según OSV.dev, la base abierta de Google que reúne los avisos de GitHub, PyPI, RustSec, Go y otros.
- Vulnerabilidades explotadas, según el catálogo KEV de CISA: las que ya se usan en ataques reales.
- Paquetes maliciosos, publicados para robar datos o credenciales.
- Paquetes deprecados o retirados por sus autores.
- Paquetes muy viejos, varias versiones por detrás de la actual.
- Runtimes sin soporte, como una versión de Node o Python que dejó de recibir parches, según endoflife.date.
Para cada aviso, muestra el comando para actualizar. Nunca toca el proyecto.
Qué archivos lee
| Ecosistema | Archivos |
|---|---|
| JavaScript | package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock, bun.lock |
| Rust | Cargo.lock |
| Go | go.mod |
| Python | poetry.lock, uv.lock, Pipfile.lock, requirements.txt |
| Java y Kotlin | pom.xml, gradle.lockfile, build.gradle, build.gradle.kts |
| Ruby | Gemfile.lock |
| PHP | composer.lock |
| Dart y Flutter | pubspec.lock |
| Swift | Package.resolved |
Privacidad: el cruce es local
La primera vez, Pruneo baja a tu Mac las bases públicas de OSV.dev de los ecosistemas que usas, y las actualiza como mucho una vez por día. El cruce con tus proyectos pasa en tu Mac.
La consulta a los registros oficiales (npm, crates.io, PyPI…), que sirve para saber si un paquete está deprecado o es muy viejo, es opcional. Si la activas, envía solo el nombre y la versión de cada paquete.
Cómo usarla
- En la app: Profesional › Dependencias. La primera vez te pide activarla. Puedes apagarla o borrar lo descargado en Ajustes.
- En la terminal:
pruneo deps.
Preguntas frecuentes
¿Qué lenguajes y gestores admite?
npm, pnpm, Yarn y Bun; Cargo (Rust); Go; Poetry, uv, Pipenv y requirements.txt (Python); Maven y Gradle (Java y Kotlin); Bundler (Ruby); Composer (PHP); Pub (Dart y Flutter) y Swift Package Manager.
¿Envía mi código a algún servidor?
No. Pruneo baja las bases públicas de OSV.dev a tu Mac y hace el cruce ahí. Solo si activas la consulta a los registros (npm, crates.io, PyPI…) se envía el nombre y la versión de cada paquete, nunca tu código.
¿Pruneo actualiza mis dependencias?
No. Nunca toca tus proyectos: te muestra el problema y el comando para actualizar, y lo ejecutas tú.
¿Viene activado?
No. Es opcional: lo activas en la sección Dependencias o en Ajustes, donde también lo apagas o borras lo descargado.
¿Se puede usar desde la terminal?
Sí, con pruneo deps.