npm audit fix結果の検証

npm audit fix実行前後のpackage.jsonを比較して、脆弱性パッチが予期しない変更なしに正しく適用されたことを確認します。

Security

詳細な説明

npm audit fix結果の検証

npm audit fixを実行するとpackage.jsonが自動的に変更される場合があります。Package.json Diffツールは、正確に何が変更されたかを確認し、予期しない変更がないことを保証するのに役立ちます。

npm audit fix前後の比較

dependencies:
  ~ semver: 7.5.3 -> 7.5.4                 [PATCH]
  ~ word-wrap: 1.2.3 -> 1.2.5              [PATCH]

devDependencies:
  ~ postcss: 8.4.27 -> 8.4.31              [PATCH]
  ~ webpack: 5.88.0 -> 5.88.2              [PATCH]

確認すべき事項

  1. パッチバンプのみ: セキュリティ修正はパッチレベルであるべき。メジャー/マイナーバンプは疑わしい
  2. 期待されるパッケージ: npm auditの出力と照合
  3. 削除なし: audit fixはパッケージを削除すべきではない
  4. 追加なし: 推移的依存関係が直接エントリを必要としない限り
  5. ダウングレードなし: ダウングレードは脆弱性を再導入する可能性

ワークフロー

  1. 現在のpackage.jsonを保存(左パネルに貼り付け)
  2. npm audit fixを実行
  3. 更新されたpackage.jsonを右パネルに貼り付け
  4. 比較して期待される変更のみが行われたことを確認
  5. テストを実行して何も壊れていないことを確認

ユースケース

コンプライアンスチームがセキュリティ修復手順の文書化を求めています。npm audit fix実行後、開発者はPackage.json Diffを使用してどのパッケージがパッチされたかを示す変更前と変更後の比較レポートを生成します。

試してみる — Package.json Diff

フルツールを開く