mcpField
S
secure-code-review

secure-code-review

github.com/securityskillsセキュリティ01.3k 回インストール9 週間前に更新
リポジトリ

secure-code-review について

Secure Code Review は、データフロー、アクセス制御、シークレット、状態変更に潜む脆弱性を調べる体系的なコードレビュー用スキルです。重要度や該当箇所、攻撃例、修正案を含む報告を導きます。

主な機能

  1. 01入口と信頼境界の把握
  2. 02信頼できないデータの処理先追跡
  3. 03認可とオブジェクト単位のアクセス監査
  4. 04シークレットと暗号方式の確認
  5. 05競合状態と共有状態の点検

活用シーン

  1. 01コード変更のセキュリティリスクをレビュー
  2. 02ユーザー入力からクエリやコマンドへの経路を追跡
  3. 03エンドポイントの認可とテナント分離を確認
  4. 04修正案を添えた優先度付きの指摘を作成

インストール

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

$npx skills add https://github.com/securityskills/skills --skill secure-code-review

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

詳細

セキュアなコードレビュー

行単位ではなく、体系的に脆弱性をレビューします。

1. 全体像を把握する

  • このコードは何をするものですか?エントリーポイント、信頼境界、データストア、特権操作を特定します
  • テストを読みます。どのような不変条件が明らかになりますか?
  • 差分の影響範囲を確認します。認証ロジック、解析、ファイル処理、暗号処理に関係しますか?

2. 信頼できないデータを追跡する

各入力をエントリーポイントからシンクまで追跡します。

シンクの種類確認事項
SQL/NoSQLパラメーター化されていること、文字列連結でクエリを構築していないこと、識別子が許可リストで制限されていること
コマンド実行シェル文字列にユーザーデータが含まれていないこと、argv 配列 API を使用していること、shell=True を使用していないこと
HTML/レンダリングコンテキストに応じた自動エスケープが行われていること、生の HTML/安全でない HTML のフラグが正当化されていること
ファイルパスベース名/許可リストを使っていること、正規化とプレフィックスの照合を行っていること、インクルードにユーザー指定のパスを使っていないこと
デシリアライズオブジェクトシリアライザーより型付き形式(JSON)を使っていること、解析後に検証していること
リダイレクト相対パスのみ、または許可リストの対象に限定されていること
eval/動的コード正当な理由があり、入力を受け取らないこと、または拒否されること

3. 認証とアクセス制御を監査する

  • すべてのエンドポイントでサーバー側の認可を行い、ロールをコントローラーだけでなくリソースでも確認します
  • オブジェクトレベルのチェック(IDOR):クエリで呼び出し元のテナント ID/ユーザー ID による絞り込みを行っていますか?
  • セッション管理:ローテーション、無効化、安全な Cookie フラグを確認します
  • パスワードリセットのフロー:トークンのエントロピー、有効期限、使い捨て、アカウントの列挙防止を確認します

4. シークレットと設定を監査する

  • ハードコードされた認証情報/キー/API トークンがないこと、ログやエラーメッセージにシークレットが含まれないこと
  • 暗号処理:承認されたアルゴリズム、ライブラリのプリミティブ(独自実装ではないこと)、適切なモード、CSPRNG による乱数生成を確認します

5. 競合状態と状態管理

  • ファイルチェック時の TOCTOU、クォータ/クレジットのチェック後に使用する処理
  • 変更可能な共有状態での並行処理、複数ステップの書き込みにおけるトランザクションの不足

報告方法

重要度、具体的なコードパス、悪用の概要、推奨する修正方法を添えて報告します。「必ず修正」と「後で強化」を区別します。

コメント