Après chaque installation d'un nouveau module NPM dans mon projet, j'obtiens l'erreur suivante:
[!] 40 vulnerabilities found - Packages audited: 5840 (0 dev, 299 optional)
Severity: 8 Low | 24 Moderate | 8 High
Alors je lance npm audit
et j'obtiens les détails de chacune des 40 vulnérabilités telles que:
# Run npm install [email protected] to resolve 22 vulnerabilities
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Prototype pollution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ npm │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ npm > libcipm > npm-lifecycle > node-gyp > request > hawk > │
│ │ boom > hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://nodesecurity.io/advisories/566 │
└───────────────┴──────────────────────────────────────────────────────────────┘
ou ca :
# Run npm update fsevents --depth 2 to resolve 3 vulnerabilities
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ chokidar │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ chokidar > fsevents > node-pre-gyp > tar-pack > debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://nodesecurity.io/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
Je lance donc npm install [email protected]
(même si j'avais déjà 6.0.1) puis npm update fsevents --depth 2
Mais après cela, je relance npm audit
et rien n'a changé, j'ai toujours les 40 mêmes vulnérabilités et certaines d'entre elles sont vraiment effrayantes. Que devrais-je faire ?
Cela a fonctionné pour moi sur MacOS:
Lorsque vous exécutez à nouveau 'npm audit', les seules vulnérabilités restantes devraient être des problèmes de "révision manuelle".
Cela semble être un bogue dans npm 6.0.1 lié à la gestion des dépendances facultatives: https://github.com/npm/npm/issues/20577
Source: https://github.com/npm/npm/issues/20675 . Un problème fsevents
peut être lié au fait que
fsevents
ne peut pas être installé sur Windows, vous devrez donc le mettre à jour sur une machine macOS.
C'est un peu étrange, car regarder la solution d'exhnozoaa, à partir de cette date, semble impliquer le contraire:
J'ai pu contourner cela sur Windows avec les étapes suivantes.
- Ouvrir
package-lock.json
dans un éditeur.- Rechercher
"fsevents"
. Trouvez celui qui est un objet directement sous"dependencies"
.- Supprimer
"fsevents"
(la clé et l'objet entier).- Depuis le terminal, exécutez
npm install
.Cela devrait régénérer cette section avec la dernière version compatible avec les autres packages. Je ne pense pas vraiment que ce soit un bon moyen de le réparer, mais c'est celui qui a fonctionné pour moi.