differential-review
セキュリティを重視したコード変更(PR・コミット・差分)の差分レビューを実行するスキルです。コードベースの規模に応じて解析の深さを自動調整し、gitの履歴をコンテキストとして活用しながら影響範囲の算出やテストカバレッジの確認を行い、詳細なMarkdownレポートを生成します。セキュリティのリグレッションを自動検出・防止します。
description の原文を見る
> Performs security-focused differential review of code changes (PRs, commits, diffs). Adapts analysis depth to codebase size, uses git history for context, calculates blast radius, checks test coverage, and generates comprehensive markdown reports. Automatically detects and prevents security regressions.
SKILL.md 本文
差分セキュリティレビュー
PR、コミット、diffに対するセキュリティに特化したコード レビュー。
基本原則
- リスク優先: 認証、暗号、価値の移転、外部呼び出しに焦点を当てる
- 証拠ベース: すべての検出結果はgit履歴、行番号、攻撃シナリオによって裏付けられている
- 適応的: コードベースのサイズに応じてスケーリング(SMALL/MEDIUM/LARGE)
- 正直: カバレッジの制限と信頼度を明示的に述べる
- 出力駆動型: 常に包括的なMarkdownレポートファイルを生成する
正当化の根拠(スキップしないこと)
| 正当化 | 何が間違っているか | 必要なアクション |
|---|---|---|
| 「小さいPR、クイックレビュー」 | Heartbleedは2行だった | リスクで分類、サイズではなく |
| 「このコードベースを知っている」 | 精通すると盲点が生まれる | 明示的なベースラインコンテキストを構築 |
| 「git履歴は時間がかかる」 | 履歴は回帰を明かす | Phase 1をスキップしない |
| 「影響範囲は明白」 | 推移的な呼び出し元を見落とす | 定量的に計算 |
| 「テストがない = 私の問題ではない」 | テストなし = リスク評価を上げる | レポートに記載、重大度を上げる |
| 「単なるリファクタリング、セキュリティへの影響なし」 | リファクタリングは不変性を破る | 証明されるまでHIGHとして分析 |
| 「口頭で説明します」 | アーティファクトなし = 検出結果が失われる | 常にレポートを書く |
クイックリファレンス
コードベースサイズ戦略
| コードベースサイズ | 戦略 | アプローチ |
|---|---|---|
| SMALL (<20ファイル) | DEEP | すべての依存関係を読む、完全なgitブレーム |
| MEDIUM (20-200) | FOCUSED | 1ホップの依存関係、優先ファイル |
| LARGE (200+) | SURGICAL | 重要パスのみ |
リスクレベルトリガー
| リスクレベル | トリガー |
|---|---|
| HIGH | 認証、暗号、外部呼び出し、価値の移転、検証削除 |
| MEDIUM | ビジネスロジック、状態変更、新しいパブリックAPI |
| LOW | コメント、テスト、UI、ロギング |
ワークフロー概要
事前分析 → Phase 0: トリアージ → Phase 1: コード分析 → Phase 2: テストカバレッジ
↓ ↓ ↓ ↓
Phase 3: 影響範囲 → Phase 4: 深いコンテキスト → Phase 5: 対抗的分析 → Phase 6: レポート
判断フロー
レビューを開始するときは?
├─ フェーズごとの詳細な方法論が必要ですか?
│ └─ 読む: methodology.md
│ (事前分析 + Phases 0-4: トリアージ、コード分析、テストカバレッジ、影響範囲)
│
├─ HIGHリスク変更を分析していますか?
│ ├─ 読む: adversarial.md
│ │ (Phase 5: 攻撃者モデリング、エクスプロイトシナリオ、悪用可能性評価)
│ └─ または委任: adversarial-modeler エージェント
│ (具体的なエクスプロイトシナリオを含む自律的な攻撃者モデリング)
│
├─ 最終レポートを作成していますか?
│ └─ 読む: reporting.md
│ (Phase 6: レポート構造、テンプレート、フォーマットガイドライン)
│
├─ 特定の脆弱性パターンを探していますか?
│ └─ 読む: patterns.md
│ (リグレッション、再入可能性、アクセス制御、オーバーフロー等)
│
└─ クイックトリアージのみですか?
└─ 上のクイックリファレンスを使用、詳細なドキュメントをスキップ
エージェント
adversarial-modeler — HIGHリスクコード変更に対して攻撃者の視点をモデル化し、
エクスプロイトシナリオを構築します。5ステップの対抗的方法論
(攻撃者モデル、攻撃ベクトル、悪用可能性評価、エクスプロイトシナリオ、ベースラインクロスリファレンス)
に従い、構造化された脆弱性レポートを生成します。高リスク変更でPhase 5分析が必要な場合は、
このエージェントに委任してください。
品質チェックリスト
配信前に確認:
- すべての変更ファイルが分析されている
- 削除されたセキュリティコードに対してgitブレーム実行
- HIGHリスクの影響範囲が計算されている
- 攻撃シナリオが具体的(汎用的ではない)
- 検出結果が特定の行番号とコミットを参照している
- レポートファイルが生成されている
- ユーザーに概要が通知されている
インテグレーション
audit-context-building スキル:
- 事前分析: ベースラインコンテキストを構築
- Phase 4: HIGHリスク変更に対する深いコンテキスト
issue-writer スキル:
- 検出結果を正式な監査レポートに変換
- コマンド:
issue-writer --input DIFFERENTIAL_REVIEW_REPORT.md --format audit-report
使用例
クイックトリアージ(小さいPR)
入力: 5ファイルPR、2つのHIGHリスクファイル
戦略: クイックリファレンスを使用
1. ファイルごとにリスクレベルを分類(2 HIGH、3 LOW)
2. 2つのHIGHファイルのみに焦点
3. 削除されたコードに対してgitブレーム実行
4. 最小限のレポートを生成
時間: 約30分
標準レビュー(中規模コードベース)
入力: 80ファイル、12つのHIGHリスク変更
戦略: FOCUSED (methodology.mdを参照)
1. HIGHリスクファイルで完全なワークフローを実行
2. MEDIUMの表面スキャン
3. LOWリスクファイルをスキップ
4. すべてのセクションを含む完全なレポート
時間: 約3〜4時間
深い監査(大規模、重要な変更)
入力: 450ファイル、認証システム書き換え
戦略: SURGICAL + audit-context-building
1. audit-context-buildingでベースラインコンテキストを構築
2. 認証変更のみに対して深い分析を実行
3. 影響範囲分析を実行
4. 対抗的モデリング
5. 包括的なレポート
時間: 約6〜8時間
このスキルを使用すべきでない場合
- グリーンフィールドコード(比較するベースラインがない)
- ドキュメントのみの変更(セキュリティへの影響なし)
- フォーマット/リンティング(化粧的な変更)
- ユーザーが明示的にクイック概要のみをリクエスト(リスクを受け入れている)
これらの場合は、代わりに標準のコードレビューを使用してください。
レッドフラグ(立ち止まって調査)
即座のエスカレーショントリガー:
- 「security」、「CVE」、または「fix」コミットからコードが削除された
- アクセス制御修飾子が削除された(onlyOwner、internal → external)
- 検証が置き換えなしで削除された
- チェックなしで外部呼び出しが追加された
- 高い影響範囲(呼び出し元50+) + HIGHリスク変更
これらのパターンは、クイックトリアージでも対抗的分析が必要です。
最適な結果のためのヒント
実施:
- 削除されたコードのgitブレームから開始
- 影響範囲を早期に計算して優先順位を付ける
- 具体的な攻撃シナリオを生成
- 特定の行番号とコミットを参照
- カバレッジの制限について正直に述べる
- 常に出力ファイルを生成
実施しないこと:
- git履歴分析をスキップ
- 証拠なしで汎用的な検出結果を作成
- 時間制限がある場合に完全な分析を主張
- テストカバレッジチェックを忘れる
- 高い影響範囲の変更を見落とす
- レポートをチャットのみに出力(ファイルが必要)
サポートドキュメンテーション
methodology.md- 詳細なフェーズごとのワークフロー(Phases 0-4)adversarial.md- 攻撃者モデリングとエクスプロイトシナリオ(Phase 5)reporting.md- レポート構造とフォーマット(Phase 6)patterns.md- 一般的な脆弱性パターンリファレンス
初めてのユーザーの場合: methodology.mdから始めて、完全なワークフローを理解してください。
経験豊富なユーザーの場合: このページのクイックリファレンスと判断フローを使用して、必要なコンテンツに直接移動してください。
ライセンス: CC-BY-SA-4.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- trailofbits
- リポジトリ
- trailofbits/skills
- ライセンス
- CC-BY-SA-4.0
- 最終更新
- 不明
Source: https://github.com/trailofbits/skills / ライセンス: CC-BY-SA-4.0
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。