mcpField
R
review

review

github.com/kevinchamplinセキュリティ335 回インストール22 週間前に更新
リポジトリ

review について

デプロイ前にコード変更を調べ、セキュリティ上の脆弱性や品質問題を確認するスキルです。コードは変更せず、ファイル、行、重要度とともに指摘を報告します。

主な機能

  1. 01ステージ済み・未ステージ差分の確認
  2. 02一般的なセキュリティリスクの検査
  3. 03実装とエラー処理の確認
  4. 04重要度別の問題報告

活用シーン

  1. 01デプロイ前の変更確認
  2. 02差分内の認証情報漏えいの発見
  3. 03大規模な変更のセキュリティレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/kevinchamplin/claude-skills --skill review

インストール後、Claude Code で/reviewを入力して読み込まれたか確認します。

詳細

レビュー — デプロイ前のセキュリティ・品質チェック

保留中のすべての変更をレビューし、セキュリティの脆弱性、認証情報の漏えい、品質上の問題を確認します。

手順

  1. 変更を集める:

    • git diff(ステージングされていない変更)と git diff --staged(ステージング済みの変更)
    • ローカルの変更がない場合は、ベースブランチとの差分を確認します:git diff main...HEAD(または master)
  2. セキュリティスキャン — 差分で以下を確認します:

    • 認証情報の漏えい: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 に渡されている箇所
  3. 品質スキャン — 以下を確認します:

    • 未完成の実装(新しいコード内の TODO/FIXME/HACK コメント)
    • エラーハンドリングの不足(空の catch ブロック、握りつぶされた例外)
    • 明らかなロジックエラー
    • 誤って含められたように見えるファイル(.DS_Store、node_modules、コンパイル済みアセット)
  4. 報告:

    • 問題が見つかった場合:それぞれについてファイル、行番号、重大度(CRITICAL / WARNING / INFO)を記載します
    • 問題がない場合:「すべて問題なし」と一行で確認します
    • 簡潔に報告し、余計な内容は含めません

ルール

  • レビュー中はコードを絶対に変更せず、問題の報告のみ行います
  • コードベース全体ではなく、差分に注目します
  • CRITICAL の問題=デプロイ前に必ず修正(認証情報、インジェクション、認証のバイパス)
  • WARNING=修正を推奨(デバッグコード、エラーハンドリングの不足)
  • INFO=修正すると望ましい(スタイル、軽微な改善)
  • 差分が非常に大きい場合(50 ファイル以上)は、Explore エージェントに委任します

コメント