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"?
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.
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.
J'étais patient et ils ont résolu le problème:
npm update karma@latest
devrait marcher.