github npm package-lock.json

github - Forma correcta de corregir una posible vulnerabilidad de seguridad en una dependencia definida en package-lock.json



npm (7)

Github me ha dado este error en uno de mis repositorios.

We found a potential security vulnerability in one of your dependencies. A dependency defined in ./package-lock.json has known security vulnerabilities and should be updated.

La dependencia no está definida en nuestro archivo package.json . A mi entender, no es una buena práctica eliminar el archivo package-lock.json y package-lock.json . Sin embargo, no puedo ver ninguna otra forma de solucionar este problema. Si descarto esta vulnerabilidad de seguridad, aparecerá nuevamente un par de días después. ¿Algunas ideas? ¡Gracias!



vulnerabilidades de seguridad conocidas y deben actualizarse.

Desde el 23 de mayo de 2019, ahora tiene " Dependabot: correcciones de seguridad automatizadas "

A través de la integración de Dependabot, hemos lanzado correcciones de seguridad automatizadas como una versión beta pública.

Las correcciones de seguridad automatizadas son solicitudes de extracción generadas por GitHub para corregir vulnerabilidades de seguridad.
Automatizan una parte tediosa del flujo de trabajo y facilitan a los desarrolladores mantener sus dependencias actualizadas.

Ver más en " Configuración de soluciones de seguridad automatizadas "

Nota: Las correcciones de seguridad automáticas están disponibles en versión beta y están sujetas a cambios.

Puede habilitar correcciones de seguridad automáticas para cualquier repositorio que use alertas de seguridad y el gráfico de dependencia.
Habilitaremos automáticamente las correcciones de seguridad automáticas en cada repositorio que use alertas de seguridad y el gráfico de dependencia durante los próximos meses, a partir de mayo de 2019.


  1. En GitHub, navegue a la página principal del repositorio.
  2. Debajo de su nombre de repositorio, haga clic en Seguridad.
  3. Haga clic en la alerta que desea ver.
  4. Revise los detalles de la vulnerabilidad y, si está disponible, la solicitud de extracción que contiene la corrección de seguridad automatizada.
  5. Opcionalmente, si aún no existe una solución de seguridad automatizada para la alerta, para crear una solicitud de extracción para resolver la vulnerabilidad, haga clic en Crear solución de seguridad automatizada.
  6. Cuando esté listo para actualizar su dependencia y resolver la vulnerabilidad, combine la solicitud de extracción.

Ver detalles


Debe intentar identificar el nombre del paquete problemático y luego ejecutar

npm install package-name

reemplazando nombre-paquete, obviamente.

Esto instalará la última versión del paquete, y muy a menudo, la última versión ha solucionado el problema de seguridad. Si tiene una restricción en la versión (por ejemplo: 1.2), siempre puede intentar:

npm install package-name@^1.2

y se instalará la última versión parcheada

Nuevo: ahora, con npm @ 6 puede ejecutar directamente

npm audit fix


Esto funciona para mi. desinstale todas sus dependencias e instálelo nuevamente

Por ejemplo

de package.json vea la lista de sus dependencias

{ "name": "ebook-saler", "version": "1.0.0", "description": "App for selling ebooks", "main": "app.js", "scripts": { "start": "node app.js" }, "author": "Md Shayon", "license": "ISC", "dependencies": { "body-parser": "^1.19.0", "express": "^4.17.1", "express-handlebars": "^3.1.0", "hoek": "^6.1.3", "stripe": "^7.5.0" } }

Sigue el comando para esto

npm uninstall body-parser express express-handlebars hoek stripe npm install body-parser express express-handlebars hoek stripe git commit -m "updated" git push



Para resolver esto:

Solución1: Primero encuentre la vulnerabilidad: Usando su terminal: cd en su proyecto , luego ejecute "npm ls hoek"

Y finalmente: npm install bcrypt @ latest

Luego empuje el proyecto actualizado a git. (Es decir, realice una nueva confirmación).

Solución 2:

si la primera opción / solución no resuelve el problema. Cambie la versión manualmente en su paquete-lock.json. Cambie su versión manualmente de 2.16.3 a 4.2.1

"hoek": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true

Luego actualice su proyecto en GitHub (commit / push) Solo asegúrese de que cada versión de hoek en su versión package-lock.json se cambie a 4.2.1

Alternativamente, si puede encontrar una manera de cambiar la versión de hoek / actualizar hoek usando npm, hará las cosas mucho más simples (algo así como: npm update @ hoek..version ) ... o desinstale la dependencia específica y luego vuelva a instalarla usando bower o npm.