Github vous envoie des alertes régulières lorsque des failles de sécurité sont détectées parmi vos packages installés ou ses dépendances. J'avais l'habitude d'essayer de laisser le dependabot les réparer pour moi. Cependant, la moitié du temps, je n'ai pas pu fusionner le PR qui avait été généré pour moi. En conséquence, les violations n’ont pas été résolues, ce qui n’est pas une bonne chose. Dans mon cas j'utilise pnpm, je suppose que c'est la même chose avec npm.
Je suis tombé sur cet article de Niraj Chauhan aujourd'hui et cela m'a expliqué comment les résoudre à l'aide du terminal.
Étapes :
Dans la section Chemin, vous devriez voir la cause de cela. Dans mon cas, il semble qu'il s'agisse de "dépendances imbriquées" (dépendances de dépendances).
Vous pouvez exécuter pnpm Why NAME_OF_THE_EXTENSION pour confirmer ce qui précède. Dans mon cas, j'obtiens ceci en l'exécutant sur ma première vulnérabilité : pnpm pourquoi netmask
Vous pouvez essayer d'exécuter le correctif d'audit pnpm mais cela ne fonctionne jamais pour moi.
Ouvrez votre package.json et mettez à jour la version du package à l'origine de ce problème - dans mon cas, mailgun-js. Vous pouvez exécuter pnpm view NAME_OF_THE_PACKAGE versions pour voir toutes les versions ou les informations pnpm NAME_PACKAGE version pour connaître la dernière version stable.
Si c'est différent, modifiez votre fichier package.json avec la version dont vous avez besoin et exécutez à nouveau pnpm i. Après cela, vous exécutez à nouveau l'audit pnpm pour confirmer que la vulnérabilité a disparu. S'il est toujours là, recommencez ou continuez à lire.
Dans mon cas, la dernière version stable est celle que j'ai installée, je dois donc adopter une autre approche.
Nous pouvons forcer pnpm à installer une certaine version d'une dépendance imbriquée. Les docs pnpm sont ici et vous le faites ainsi dans votre fichier package.json :
Edit 25/10 : selon ce fil de discussion Stackoverflow, les audits Github dependabot et pnpm proviennent de la même base de données, vous ne manquez donc pas de vulnérabilités mais corrigez les choses de cette façon plutôt que par le workflow dependabot. Il y a aussi cet article de blog.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!