E-NPM
npm
Inspecciona manifiestos, scripts y lockfiles de paquetes Node sin instalar la app.
Sitio oficialVolver al catálogo
RESUMEN
npm (docs.npmjs.com/cli) es la CLI por defecto del registro de paquetes de Node. En una revisión las partes útiles son las que no instalan nada: `npm ls` imprime el árbol desde un lockfile existente, `npm pkg get scripts` muestra los hooks de ciclo de vida, y `npm audit` compara el lockfile con avisos conocidos.
`npm install` es otra operación. Los scripts de ciclo de vida (`preinstall`, `install`, `postinstall`) corren como el usuario actual, por eso un package.json no confiable es un hallazgo de ejecución de código a punto de ocurrir. Inspecciona el manifiesto primero; si tienes que instalar, usa `--ignore-scripts` en un entorno aislado y trata el resultado como código no confiable.
CASOS DE USO
Casos de uso en un engagement
- 01
Listar el árbol de dependencias desde un lockfile sin descargar paquetes.
- 02
Leer scripts de install y start en package.json en busca de comandos inesperados.
- 03
Correr npm audit contra un lockfile en alcance para marcar versiones vulnerables conocidas.
- 04
Comparar el nombre de un paquete privado con el registro público como pista de confusion.
PRIMEROS PASOS
Cuando tienes un package.json o lockfile en alcance y necesitas el árbol de dependencias y los scripts de install antes de tocar node_modules.
- Trabaja sobre una copia del manifiesto y del lockfile, no sobre un checkout de producción.
- Imprime el bloque de scripts y el árbol de dependencias antes de cualquier install.
- Si hace falta instalar, usa una máquina aislada y --ignore-scripts.
- Anota cualquier comando de ciclo de vida inesperado o nombre de paquete privado sin auditar.
npm pkg get scripts && npm ls --all --omit=dev --package-lock-onlyANTES DE USARLA
Qué revisar antes de lanzarla
npm install ejecuta scripts de ciclo de vida de cada paquete del árbol salvo que pases --ignore-scripts — trata un install no confiable como ejecutar código desconocido.
npm audit solo conoce datos de CVE/avisos publicados; un paquete malicioso pero sin flag no aparecerá.
El tráfico al registro de npm view/install deja tu IP y token (si hay) en el registro — usa un token de usar y tirar y quédate en las cuentas acordadas.