review について
デプロイ前にコード変更を調べ、セキュリティ上の脆弱性や品質問題を確認するスキルです。コードは変更せず、ファイル、行、重要度とともに指摘を報告します。
主な機能
- 01ステージ済み・未ステージ差分の確認
- 02一般的なセキュリティリスクの検査
- 03実装とエラー処理の確認
- 04重要度別の問題報告
活用シーン
- 01デプロイ前の変更確認
- 02差分内の認証情報漏えいの発見
- 03大規模な変更のセキュリティレビュー
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ kevinchamplin/ claude-skills --skill reviewインストール後、Claude Code で/reviewを入力して読み込まれたか確認します。
詳細
レビュー — デプロイ前のセキュリティ・品質チェック
保留中のすべての変更をレビューし、セキュリティの脆弱性、認証情報の漏えい、品質上の問題を確認します。
手順
-
変更を集める:
git diff(ステージングされていない変更)とgit diff --staged(ステージング済みの変更)- ローカルの変更がない場合は、ベースブランチとの差分を確認します:
git diff main...HEAD(またはmaster)
-
セキュリティスキャン — 差分で以下を確認します:
- 認証情報の漏えい:API キー、パスワード、トークン、シークレット、ソースにハードコードされた
.envの値 - SQL インジェクション:パラメーター化せずにクエリへ渡されている、生のユーザー入力
- XSS:HTML/JSX にエスケープされずに出力されるユーザー入力
- コマンドインジェクション:シェルコマンドに渡されるユーザー入力
- IDOR:ID でリソースにアクセスするエンドポイントにおける、認可チェックの欠如
- デバッグコード:
var_dump、機密データを出力するconsole.log、dd()、残されたdie()呼び出し .envの変更:.envが変更されていたら報告します。通常、コミットすべきではありません- API キーの露出:LLM API キー(OpenAI、Anthropic)、決済キー(Stripe)、クライアント側コードにハードコードされた認証シークレット
- プロンプトインジェクション:サニタイズせずにユーザー入力を LLM のプロンプトへ直接連結している箇所
- SSRF:検証されずに、ユーザーが指定した URL がサーバー側の fetch/curl に渡されている箇所
- 認証情報の漏えい:API キー、パスワード、トークン、シークレット、ソースにハードコードされた
-
品質スキャン — 以下を確認します:
- 未完成の実装(新しいコード内の TODO/FIXME/HACK コメント)
- エラーハンドリングの不足(空の catch ブロック、握りつぶされた例外)
- 明らかなロジックエラー
- 誤って含められたように見えるファイル(
.DS_Store、node_modules、コンパイル済みアセット)
-
報告:
- 問題が見つかった場合:それぞれについてファイル、行番号、重大度(CRITICAL / WARNING / INFO)を記載します
- 問題がない場合:「すべて問題なし」と一行で確認します
- 簡潔に報告し、余計な内容は含めません
ルール
- レビュー中はコードを絶対に変更せず、問題の報告のみ行います
- コードベース全体ではなく、差分に注目します
- CRITICAL の問題=デプロイ前に必ず修正(認証情報、インジェクション、認証のバイパス)
- WARNING=修正を推奨(デバッグコード、エラーハンドリングの不足)
- INFO=修正すると望ましい(スタイル、軽微な改善)
- 差分が非常に大きい場合(50 ファイル以上)は、Explore エージェントに委任します
コメント
Markdown 対応