AgentSkillsCN

Security Review

安全审核

SKILL.md

Security Review Skill

Dependabotセキュリティアラートやセキュリティ関連のPRレビューを行う際に自動適用されるスキル。

トリガー条件

以下の場合に自動適用:

  • Dependabotセキュリティアラートのレビュー依頼
  • セキュリティ関連のPRレビュー
  • CVE対応の相談

レビュー手順

1. 既存対応の確認(最優先)

同一CVEへの既存PRや対応を必ず最初に確認する:

bash
# 同一CVEへの既存PRを検索
gh pr list --search "CVE-XXXX-XXXXX"
gh pr list --search "<パッケージ名> security"

既に対応済みの場合は、その対応方法を参考にする。

2. 依存関係の確認

モノレポの場合、複数のlock fileが存在する可能性がある:

bash
# 全てのlock fileを確認
find . -name "yarn.lock" -o -name "package-lock.json" | head -20

各lock fileで同じ脆弱性が存在するか確認する。

3. 修正方法の優先順位

以下の順序で修正方法を検討する:

優先度方法説明
1パッケージの公式アップデートメンテナーがテスト済み、最も安全
2上位パッケージのアップデート依存元を更新して間接的に解決
3resolutions/overrides強制上書き、最後の手段

4. resolutionsを提案する条件

以下の全てを満たす場合のみresolutionsを提案:

  • 上流パッケージが未対応
  • 公式アップデートパスが存在しない
  • 脆弱性の深刻度がHighまたはCritical

5. レビューレポートの構成

  1. 脆弱性の概要(CVE、深刻度、影響)
  2. 依存関係チェーン
  3. 既存の対応状況(同一CVEへのPR等)
  4. 推奨される修正方法(優先順位に従う)
  5. 修正手順

アンチパターン

やってはいけないこと:

  • 既存対応を確認せずにresolutionsを提案
  • 公式アップデートがあるのにresolutionsを使う
  • モノレポで一部のlock fileのみ確認

良い例

code
既にPR #17588でルートのyarn.lockが対応済みです。
scripts/yarn.lockも同様にexpress 4.22.1に更新することを推奨します。

悪い例

code
resolutionsでqsを6.14.1に固定することを推奨します。
(← 公式アップデートパスを確認していない)