tag - Error de vulnerabilidad de seguridad potencial de Github para el módulo de nodo hoek
hacer release github (8)
Encontré una solución here .
Básicamente, en git bash, cd
a tu carpeta de proyectos, escribe los siguientes códigos:
npm i hoek
npm uninstall hoek
npm update
npm install
entonces
git add .
git commit -m ''update-hoek''
git push origin master
Ahora revise la página del proyecto de GitHub nuevamente, la advertencia debería desaparecer.
Saludos.
Hoy github muestra el siguiente error en mi repositorio de github:
Encontramos una vulnerabilidad de seguridad potencial en una de sus dependencias. Una dependencia definida en ./package-lock.json tiene vulnerabilidades de seguridad conocidas y debe actualizarse.
Al hacer clic en Revisar el botón de dependencia vulnerable se mostró el siguiente mensaje:
El módulo de nodo hoek antes de 5.0.3 sufre una vulnerabilidad de Modificación de datos supuestamente inmutables (MAID) a través de ''fusionar''
Hasta ayer no mostraba tal error. No he hecho ningún impulso a este repositorio durante más de 5 días. Cualquier idea de por qué está sucediendo.
Intenté todo lo anterior, pero no funcionó para mí, así que seguí adelante para verificar la causa principal de la mía.
Corrí npm ls hoek
que me dio:
├─┬ [email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ └─┬ [email protected]
│ └── [email protected]
└── [email protected]
Noté la versión de mi hawk
contra la de npm hawk , así que corrí npm i hawk --save
. Después de lo cual volví a ejecutar mis comandos git normales
git add .
git commit -m ''whatever_message''
git push
Y volví a Github y se solucionó mi vulnerabilidad de seguridad .
Intente ejecutar npm install [email protected]
npm install hoek@5
en su proyecto.
Eso instalará la última versión requerida de hoek en las dependencias de package.json que sobrescriben sobre la versión de hoek en package-lock.json.
Nada de lo anterior funcionó para mí. Mi dependencia hoek era profunda en los subárboles. Primero hice npm ls hoek
y obtuve algo como esto:
├── [email protected]
└─┬ [email protected]
├─┬ [email protected]
│ └─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │ └── [email protected] deduped
│ ├── [email protected]
│ └─┬ [email protected]
│ └── [email protected] deduped
└─┬ [email protected]
└─┬ [email protected]
└─┬ [email protected]
├─┬ [email protected]
│ └── [email protected] deduped
├── [email protected]
└─┬ [email protected]
└── [email protected] deduped
Entonces vi que lo que realmente necesita actualizarse es watson-developer-cloud
ya que eso es lo que usa hoek en el nivel superior.
Luego hice npm install watson-developer-cloud@latest
y eso lo resolvió.
Sí, el paquete CVE-2018-3728 es vulnerable. Las versiones de hoek anteriores a 4.2.1 y 5.0.3 son vulnerables a la contaminación prototipo. Las versiones afectadas de hoek son hasta la versión 5.0.2, la solución es actualizar a la versión 4.2.1, 5.0.3 o posterior. Para obtener más información, puede ver la solicitud de corrección de arreglos aquí: https://github.com/hapijs/hoek/pull/231/commits/5aed1a8c4a3d55722d1c799f2368857bf418d6df
Utilicé npm update hoek && npm install hoek y el paquete se actualizó a 5.0.3.
La alerta de vulnerabilidad desapareció de mi github Repo después de eso.
npm update
debería funcionar solo si el paquete vulnerable se declara como dependencia directa del proyecto . Pero usualmente (como en el caso de hoek
) las vulnerabilidades se encuentran en aquellos paquetes que se encuentran en su árbol de dependencias .
Como en mi caso decidí no actualizar todas las dependencias de mi proyecto (eliminando y reconstruyendo todo el archivo package-lock.json
), package-lock.json
por el siguiente enfoque (y, por supuesto, más lento):
- encuentre todas las ocurrencias del paquete vulnerable en mi
package-lock.json
- burbujea el árbol de dependencias para encontrar qué paquetes de nivel superior los importan
- desinstale y vuelva a instalar los paquetes de nivel superior con la misma versión secundaria
Me gusta:
npm r package-1 package-2 && npm i package-1@^1.2.3 package-2@^1.2.3
Este enfoque solo funcionará si el paquete vulnerable fue arreglado y liberado y los paquetes consumidores importan el vulnerable con un número de versión suelto abierto a parches o versiones secundarias .
Utilicé: rm package-lock.json
&& npm update && npm install
. Para mí, este hoek
actualizado a 4.2.1
, que también contiene la corrección ( por este comentario ).
Edición: En otra aplicación, ejecuté rm package-lock.json
y npm i hoek && npm up && npm i && npm un hoek
o npm i hoek && npm un hoek && npm up && npm i
(no recuerdo el orden) , que está más alineado con este comentario (de JamesSingleton) .
( rm package-lock.json
es solo si existe).
Edición: en una aplicación 3, revisé npm outdated
y encontré que tenía que actualizar react-scripts-ts
de 2.13.0
a 2.15.1
. Para esto, actualicé el package.json
manualmente, luego ejecuté npm i
. Una vez hecho esto, hoek
actualizado a 4.2.1.
(Dirigiéndose específicamente a ese componente de retención / primario).
Edición: Mi solución para un sitio de Zurb Foundation 6:
npm outdated
todos mis paquetes a sus versiones principales usando npm outdated
. Entonces corri
npm i hoek@latest --save && npm up hoek
npm i boom hawk sntp uncss gulp-uncss --save && npm up boom hawk sntp uncss gulp-uncss && npm un boom hawk sntp gulp-uncss uncss --save
Había dos holdouts; browser-sync : 2.23.7
y node-sass : 4.9.0
, ambos en sus últimas versiones. No importa: la advertencia de GitHub se resolvió después de cometer.