web-dev-qa-db-fra.com

Comment se débarrasser des vulnérabilités «hoek»

J'ai récemment poussé une application CLI Angular CLI 5 vers GitHub et cela a indiqué ce qui suit:

We found a potential security vulnerability in one of your dependencies.
A dependency defined in net-incident/package-lock.json has known security vulnerabilities and should be updated.
Dependencies defined in net-incident/package-lock.json 816
hapijs / hoek Known security vulnerability in 2.16.3

J'ai parcouru la sortie de "npm audit" et exécuté les différentes mises à jour, y compris les suivantes (ce qui n'a pas été suggéré):

npm install --save-dev [email protected]

Le package "request" contient "hawk" qui contient "hoek". Quand je regarde le package ‘request’ dans node_modules, la version a changé. Mais les deux mises à jour suivantes de ‘npm audit’ ne semblent rien faire:

npm update fsevents --depth 4 npm update stringstream --depth 5

Et je me retrouve avec ce qui suit:

[!] 33 vulnerabilities found [12201 packages audited]
    Severity: 5 Low | 24 Moderate | 4 High
    Run `npm audit` for more detail

Et bon nombre des vulnérabilités sont les suivantes:

Moderate        Prototype pollution
Package         hoek
Patched in      > 4.2.0 < 5.0.0 || >= 5.0.3
Dependency of   karma
Path            karma > log4js > loggly > request > hawk > boom > hoek
More info       https://nodesecurity.io/advisories/566

Au final, l'application ne se compilerait pas, j'ai donc remplacé le package et verrouillé les fichiers, et maintenant je reviens au début. Je veux vraiment résoudre les problèmes de sécurité. Comment puis-je me débarrasser des vulnérabilités embêtantes de "hoek"?

24
P. Huhn

Vous devez exécuterrm package-lock.json && npm update && npm install, si cela ne résout toujours pas votre problème, vous pouvez continuer en exécutant npm ls hoek, ce qui devrait vous donner:

├─┬ [email protected]
│ └─┬ [email protected]
│   └─┬ [email protected]
│     ├─┬ [email protected]
│     │ └── [email protected]
│     ├── [email protected]
│     └─┬ [email protected]
│       └── [email protected]
└── [email protected]

Vérifiez la version de hawk par rapport à celle de npm hawk , si elle ne correspond pas, exécutez npm i hawk --save ou npm i hoek@latest --save, vous devez également exécuter: npm i karma@latest --save, puis npm audit Après quoi j'ai de nouveau exécuté mes commandes git normales:

git add .
git commit -m 'whatever_message'
git Push 

Ensuite, vous pouvez revenir à Github, la vulnérabilité de sécurité devrait être corrigée.

3
antzshrek

Cette réponse résout un problème hoek similaire, et cette réponse explique en détail les rapports d'audit de non-vulnérabilité.

npm audit signale possible problèmes. Il n'est pas nécessaire que ce soient de vrais problèmes qui doivent être résolus.

Une dépendance imbriquée comme karma > log4js > loggly > request > hawk > boom > hoek peut nécessiter de fork de nombreux packages dans la chaîne de dépendance au cas où il devrait être corrigé.

Prototype pollution le diagnostic indique une odeur de code. La raison pour laquelle la pollution du prototype sent est qu'elle peut causer des problèmes de sécurité. C'est la raison pour laquelle il est appelé Moderate. Il est peu probable que cela cause des risques de sécurité dans le package hoek en raison de son fonctionnement, quelle que soit la façon dont le package est utilisé (c'est également important).

Aditionellement, karma > log4js > loggly > request > hawk > boom > hoek chaîne de dépendance signifie que le problème se produit dans la dépendance de développement. La plupart des problèmes de sécurité sont principalement applicables aux dépendances utilisées en production. Ce problème est spécifique aux tests et au Karma. C'est pratiquement impossible, c'est une menace.

TL; DR: ce n'est pas une vulnérabilité . Il faut l'ignorer. Tout npm audit le rapport doit réussir le test de santé mentale avant tout effort pour y remédier.

2
Estus Flask

J'étais patient et ils ont résolu le problème:

npm update karma@latest

devrait marcher.

1
P. Huhn