ホームページ >ウェブフロントエンド >jsチュートリアル >JS プロジェクトのパッケージのセキュリティの脆弱性を修正する手順
インストールされたパッケージまたはその依存関係にセキュリティの脆弱性が検出された場合、Github は定期的にアラートを送信します。以前は、dependabot に問題を修正させようとしていました。ただし、半分の時間は、生成された PR をマージできませんでした。その結果、違反が放置されたことは良くありません。私の場合は pnpm を使用していますが、npm も同様だと思います。
今日、Niraj Chauhan によるこの記事を見つけて、ターミナルを使用して問題を解決する方法を知りました。
手順:
パスセクションで、これの原因が確認できるはずです。私の場合、それは「ネストされた依存関係」(依存関係の依存関係)のようです。
pnpm Why NAME_OF_THE_EXTENSION を実行して上記を確認できます。私の場合、最初の脆弱性に対して実行すると、次のメッセージが表示されます: pnpm Why netmask
pnpm Audit fix を実行してみることもできますが、私にとってはうまくいきません。
package.json を開き、これの原因となっているパッケージのバージョン (私の場合は mailgun-js) を更新します。 pnpm view NAME_OF_THE_PACKAGE version を実行してすべてのバージョンを確認するか、pnpm info NAME_PACKAGE version を実行して最新の安定バージョンを確認できます。
異なる場合は、必要なバージョンで package.json ファイルを編集し、pnpm i を再度実行します。その後、pnpm Audit を再度実行して、脆弱性がなくなったことを確認します。まだ存在する場合は、最初から始めるか、読み続けてください。
私の場合、最新の安定バージョンがインストールされているため、別のアプローチを取る必要があります。
ネストされた依存関係の特定のバージョンを pnpm に強制的にインストールすることができます。 pnpm のドキュメントはここにあり、package.json ファイルで次のように実行します。
編集 25/10: この Stackoverflow スレッドによると、Github dependabot と pnpm 監査フィードは両方とも同じデータベースからのものであるため、脆弱性を見逃すことはありませんが、dependabot ワークフローではなくこの方法で問題を修正します。このブログ投稿もあります。
以上がJS プロジェクトのパッケージのセキュリティの脆弱性を修正する手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。