Saltar al contenido
OPS // KITitspentest.sh

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.

  1. Trabaja sobre una copia del manifiesto y del lockfile, no sobre un checkout de producción.
  2. Imprime el bloque de scripts y el árbol de dependencias antes de cualquier install.
  3. Si hace falta instalar, usa una máquina aislada y --ignore-scripts.
  4. 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-only

ANTES 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.

SIGUE EXPLORANDO

Ver toda la fase →