ワンクリックで
sec-full-scan
リリース前の全ファイル静的解析スキル。プロジェクト構造を自動検出し、ソースモジュールごとのサブエージェントと依存関係スキャンを並列実行してコードベース全体の脆弱性を検出する。手動呼び出し専用: /sec-full-scan
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
リリース前の全ファイル静的解析スキル。プロジェクト構造を自動検出し、ソースモジュールごとのサブエージェントと依存関係スキャンを並列実行してコードベース全体の脆弱性を検出する。手動呼び出し専用: /sec-full-scan
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
cc-sdd実装用統合ブランチのコミット群(ベースブランチとの差分)をreview slice単位のstacked PRに再構成する際に使用。「review sliceに分割」「stacked PRを作成」「PRをスタックして」「レビュー用にPRを分けて」「review slice stack」という依頼でトリガーする。dry-run(既定)でslice計画を提示し、apply指示で実際にブランチ・PRを作成する。
stacked PRの下位PRがマージされた後に上位branchをrestack(rebase/cherry-pick再構成)する際に使用。「restackして」「上位PRを更新して」「restack after merge」「PRのbaseを更新」「スタックを整理」という依頼でトリガーする。対象sliceの特定→rebase→変更ファイル確認と代表テスト実行→force-with-leaseでpush→PR base更新→auto-merge判定の順で進める。
ステージング環境にデプロイ済みのサーバーに対してランタイム検証を実行する。HTTPヘッダー・動的プローブ・認証テストに特化。手動呼び出し専用: /sec-runtime-scan [環境名]
PR・ブランチの変更差分(git diff)を静的解析してセキュリティ脆弱性を検出する。開発中・PRレビュー時に使用。手動呼び出し専用: /sec-diff-review
PRの未Resolveレビュー指摘に対応するスキル。「PRの指摘に対応して」「Resolveされていないスレッドを解消」「PR reviewの対応」「未解決のレビューコメントを修正」「Copilotの指摘を直して」「Codexの指摘に対応」「chatgpt-codex-connectorの指摘」「レビュー対応」で起動。PR URL or 番号 → 未Resolveスレッド取得 → 対象ファイル修正 → ユーザーへ最終ゲートとプッシュの実行手順を案内、の流れで進める。
タスク完了後にPCを休止状態にする。Use when: ユーザーが「休止」「hibernate」「タスク完了後に休止状態」「作業後にPCをスリープ/休止」と明示的に指示した場合のみ。正常終了時だけでなく、エラーや未解決事項が残っていても、明示指示があれば最後に休止へ移行する。Windows only.
| name | sec-full-scan |
| description | リリース前の全ファイル静的解析スキル。プロジェクト構造を自動検出し、ソースモジュールごとのサブエージェントと依存関係スキャンを並列実行してコードベース全体の脆弱性を検出する。手動呼び出し専用: /sec-full-scan |
| license | MIT (see LICENSE.txt) |
| disable-model-invocation | true |
役割: リリース前・全ファイル静的解析スキル(言語・フレームワーク非依存)
プロジェクト構造を自動検出し、以下を並列実行する:
コンテキスト上限への注意: リポジトリが大規模な場合、全ファイルがコンテキストウィンドウに収まらない可能性がある。スキップが発生した場合はサイレントに無視せず、必ずスキップしたファイル一覧とともに PARTIAL スキャンとして報告する。
| 引数 | 必須 | 説明 |
|---|---|---|
対象パス | 任意 | 明示的にスキャンしたいディレクトリ(省略時は自動検出) |
以下の順序で構造を把握する:
ソースディレクトリの特定
package.json / pyproject.toml / Cargo.toml / go.mod / Gemfile / pom.xml / build.gradle を node_modules/ / .git/ / dist/ / build/ を除外して検索するpackage.json がある場所の src/ / lib/ / app/ 等)言語・フレームワークの検出
next → Next.js、express → Express、fastapi → FastAPI、rails → Rails 等モジュール分割の決定
スキャン前にファイル一覧を確定する(必須):
find コマンドで列挙し、総ファイル数を記録する以下を同時に起動する(並列実行):
検出された各ソースモジュールのファイルを静的解析する。
解析手順(必須):
find <src_dir> -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.py" 等 \) で対象ファイルの完全なリストを取得し、総数 N を記録する読み込み優先度(コンテキスト上限時のみ意味を持つ):
| 優先度 | ファイル種別 | 汎用パターン例 |
|---|---|---|
| 1 | HTTPエントリーポイント・ルーター | routes/, controllers/, api/, handlers/, endpoints/ |
| 2 | ミドルウェア・フィルター | middleware/, filters/, interceptors/ |
| 3 | 認証・認可 | auth/, security/, permissions/, guards/ |
| 4 | 外部入力を受け取る層 | リクエストボディを直接扱うファイル |
| 5 | データアクセス層 | repository/, infra/, models/, db/, store/ |
| 6 | 外部サービス連携 | clients/, adapters/, services/, integrations/ |
| 7 | ユーティリティ・ヘルパー | utils/, lib/, helpers/, shared/ |
報告義務(必須):
FILES_ANALYZED: <解析済み数> of <総数> を報告する解析済み数 < 総数 の場合、結果を PARTIAL SCAN として明示する検出対象(信頼度 8/10 以上のみ報告):
dangerouslySetInnerHTML / innerHTML / bypassSecurityTrustHtml / eval / document.write 等除外ルール(報告しない):
偽陽性フィルタリング:
依存関係スキャン:
検出されたマニフェストファイルに応じて対応するコマンドを実行する:
| マニフェスト | コマンド | 抽出対象 |
|---|---|---|
package.json | npm audit --json または yarn audit --json | High / Critical |
requirements.txt / Pipfile | pip-audit または safety check | High / Critical |
Gemfile | bundle audit check | High / Critical |
go.mod | govulncheck ./... | High / Critical |
Cargo.toml | cargo audit | High / Critical |
pom.xml / build.gradle | dependency-check | High / Critical |
ツールが存在しない場合はスキップして記録する。
--force や破壊的変更が必要な修正は別途明示する。
シークレット漏洩チェック:
gitleaks detect --source . --report-format json を実行するtrufflehog filesystem . を代替として試みるCritical を発見したら: 即座に報告し、残りの処理を続けながらも即時対応を促す。
scan_date: <ISO8601>
scan_type: full_static
project:
detected_modules: <検出されたモジュール名リスト>
languages: <検出された言語リスト>
frameworks: <検出されたフレームワークリスト>
coverage:
modules:
- name: <モジュール名>
files_total: <総ファイル数>
files_analyzed: <解析済み数>
context_limit_reached: <true/false>
skipped_files:
- path: <スキップしたファイル>
reason: <理由(コンテキスト上限・バイナリ等)>
packages:
scanned: <スキャン済みマニフェスト数>
tools_unavailable: <利用不可だったツールリスト>
vulns_high_critical: <件数>
findings:
critical: <件数>
high: <件数>
medium: <件数>
low: <件数>
not_covered_by_this_scan:
- デプロイ後のランタイム挙動 → /sec-runtime-scan を使用
- PR差分の即時レビュー → /sec-diff-review を使用
- ビジネスロジックの欠陥 → ペネトレーションテスト(人手)が必要
- インフラ・クラウド設定 → インフラ担当者レビューが必要
- ゼロデイ脆弱性 → CVEデータベース外のため検出不可
- マルチステップ攻撃チェーン → ペネトレーションテストが必要
# coverage_score = files_analyzed / files_total × 100(全モジュール合算)
# files_analyzed < files_total の場合は scan_status: PARTIAL
coverage_score: <files_analyzed合計 / files_total合計 × 100>%
scan_status: <COMPLETE | PARTIAL>
ci_result: <pass/fail>
日付付きファイル名でレポートを保存する
./security-reports/YYYY-MM-DD-full-scan-report.md./security-reports/YYYY-MM-DD-full-scan-coverage.yml2026-05-01)深刻度別ソート・修正優先順位・具体的な修正コマンドを含める
./security-reports/index.md に1行追記する
| YYYY-MM-DD | sec-full-scan | 全ソース (<総ファイル数>files / <scan_status>) | <Critical件数> | <High件数> | <Medium件数> | <CI結果> | [レポート](YYYY-MM-DD-full-scan-report.md) |
✅ pass、1件以上なら ❌ failHigh 以上の発見がある場合、終了コード 1 を報告する
| タイミング | スキル | 対象 |
|---|---|---|
| 開発中・PR 単位 | /sec-diff-review | git diff のみ・静的解析 |
| リリース前 | /sec-full-scan | 全ソースファイル + 依存関係(言語非依存) |
| ステージングデプロイ後 | /sec-runtime-scan | ランタイム挙動・HTTP 動的テスト |
| 領域 | 推奨手段 |
|---|---|
| デプロイ後の HTTP ヘッダー・動的挙動 | /sec-runtime-scan |
| ビジネスロジックの欠陥(仕様知識が必要) | ペネトレーションテスト |
| インフラ・クラウド設定(IAM・ネットワーク ACL) | インフラ担当者レビュー |
| ゼロデイ脆弱性 | CVE データベース外のため検出不可 |
| マルチステップ攻撃チェーン | ペネトレーションテスト |
./security-reports/YYYY-MM-DD-full-scan-report.md が生成されている./security-reports/YYYY-MM-DD-full-scan-coverage.yml が生成されている(scan_type: full_static 明記)severity_gate 基準に基づく CI 結果(pass / fail)が明示されている./security-reports/index.md に1行追記されている