security-threat-model
ソースコードリポジトリの脅威モデリングワークフロースキルです。ユーザーがリポジトリを基盤とした脅威モデリングを必要とする場合に使用します。信頼境界、資産、攻撃者の能力、悪用パス、および対策を列挙し、簡潔なMarkdown形式の脅威モデルを作成できます。ユーザーがコードベースまたはパスの脅威モデリング、脅威や悪用パスの列挙、またはAppSecの脅威モデリングを依頼する場合に使用してください。一般的なアーキテクチャの概要、コードレビュー、セキュリティベストプラクティス(セキュリティベストプラクティススキルを使用)、またはセキュリティ以外の設計作業には使用しないでください。また、マージまたは引き継ぎ前に、上流ワークフロー、コピーされたサポートファイル、およびプロビナンスを保持する必要があります。
description の原文を見る
Threat Model Source Code Repo workflow skill. Use this skill when the user needs Repository-grounded threat modeling that enumerates trust boundaries, assets, attacker capabilities, abuse paths, and mitigations, and writes a concise Markdown threat model. Use when the user asks to threat model a codebase or path, enumerate threats or abuse paths, or perform AppSec threat modeling. Do NOT use for general architecture summaries, code review, security best practices (use security-best-practices), or non-security design work and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.
SKILL.md 本文
Threat Model Source Code Repo
概要
この公開インテイクコピーは、https://github.com/tech-leads-club/agent-skills から packages/skills-catalog/skills/(security)/security-threat-model をパッケージ化し、その出典を隠さずにネイティブOmniスキルの編集形式に変換しています。
オペレータが上流ワークフロー、サポートファイル、およびリポジトリコンテキストをそのまま保持する必要がある場合に使用してください。公開バリデータとプライベートエンハンサーは通常のダウンストリームフローを継続します。
このインテイクはコピーされた上流ファイルをそのまま保持し、metadata.json と ORIGIN.md をプロベナンスアンカーとしてレビュー用に使用します。
Threat Model Source Code Repo リポジトリまたはプロジェクトパスに固有の実行可能なAppSecグレードの脅威モデルを提供します。一般的なチェックリストではなく、リポジトリ内の根拠に基づいてすべてのアーキテクチャクレームをアンカーし、仮定を明示的に保ちます。一般的なチェックリストよりも現実的な攻撃者目標と具体的な影響を優先します。
公開見出しにきれいにマッピングされなかったインポートされたソースセクションは、以下またはサポートファイルに保存されています。注目されるインポートセクション:リスク優先順位付けのガイダンス(例示的で、網羅的ではありません)。
このスキルを使用する場合
このセクションをトリガーフィルタとして使用します。オペレータがファイルをロード、コマンドを実行、またはプルリクエストをオープンする前に、アクティベーション境界を明示的にする必要があります。
- リクエストがインポートされたソースの意図と明確にマッチする場合に使用します:リポジトリを基盤としたトラスト境界、資産、攻撃者の能力、悪用パス、およびミティゲーションを列挙し、簡潔なMarkdown脅威モデルを作成する脅威モデリング。ユーザーがコードベースの脅威モデリングを求める場合に使用します。
- オペレータがプロセスをスクラッチから書き直す代わりに上流ワークフロー詳細を保持する必要がある場合に使用します。
- プロベナンスが回答、PR、またはレビューパケットに表示されたままである必要がある場合に使用します。
- コピーされた上流参照、例、またはスクリプトが実質的に回答を改善する場合に使用します。
- ワークフローがプライベートエンハンサーが引き継ぐ前に公開インテイクリポジトリでレビュー可能なままであるべき場合に使用します。
オペレーティングテーブル
| 状況 | ここから開始 | 重要な理由 |
|---|---|---|
| 初めて使用する場合 | metadata.json | コピーされたワークフローに触れる前に、リポジトリ、ブランチ、コミット、およびインポートパスを確認します |
| プロベナンスレビュー | ORIGIN.md | レビュアーにインポートされたソースの平易言語監査証跡を提供します |
| ワークフロー実行 | references/prompt-template.md | 実行を実質的に変更するコピーされた最小ファイルから開始します |
| サポートコンテキスト | references/security-controls-and-assets.md | パッケージ全体をロードすることなく、次に関連するコピーされたソースファイルを追加します |
| ハンドオフの決定 | ## Related Skills | タスクがドリフトしたときにオペレータがより強いネイティブスキルに切り替えるのを支援します |
ワークフロー
このワークフローは意図的に編集および運用と同時に進行します。インポートされたソースをオペレータにとって有用に保ちながら、ダウンストリームエンハンサーフローに供給する公開インテイク標準を満たしています。
- リポジトリサマリーから主要コンポーネント、データストア、および外部統合を特定します。
- システムの実行方法(サーバー、CLI、ライブラリ、ワーカー)およびエントリポイントを特定します。
- ランタイム動作をCI/ビルド/開発ツール、およびテスト/例から分離します。
- スコープ内の場所をそれらのコンポーネントにマップし、スコープ外の項目を明示的に除外します。
- 根拠なしにコンポーネント、フロー、またはコントロールを主張しないでください。
- トラスト境界をコンポーネント間の具体的なエッジとして列挙し、プロトコル、認証、暗号化、検証、およびレート制限を記録します。
- リスクを駆動する資産をリストします(データ、認証情報、モデル、設定、計算リソース、監査ログ)。
インポートされたワークフロー注釈
インポート:ワークフロー
1) システムモデルのスコープと抽出
- リポジトリサマリーから主要コンポーネント、データストア、および外部統合を特定します。
- システムの実行方法(サーバー、CLI、ライブラリ、ワーカー)およびエントリポイントを特定します。
- ランタイム動作をCI/ビルド/開発ツール、およびテスト/例から分離します。
- スコープ内の場所をそれらのコンポーネントにマップし、スコープ外の項目を明示的に除外します。
- 根拠なしにコンポーネント、フロー、またはコントロールを主張しないでください。
2) 境界、資産、およびエントリポイントの導出
- トラスト境界をコンポーネント間の具体的なエッジとして列挙し、プロトコル、認証、暗号化、検証、およびレート制限を記録します。
- リスクを駆動する資産をリストします(データ、認証情報、モデル、設定、計算リソース、監査ログ)。
- エントリポイント(エンドポイント、アップロード表面、パーサー/デコーダー、ジョブトリガー、管理ツール、ロギング/エラーシンク)を特定します。
3) 資産と攻撃者の能力の調整
- リスクを駆動する資産をリストします(認証情報、個人識別情報、完全性に関連する状態、可用性に関連するコンポーネント、ビルドアーティファクト)。
- 公開と意図された使用法に基づいて現実的な攻撃者の能力を説明します。
- 膨らんだ重要度を避けるために非能力を明示的に記録します。
4) 脅威を悪用パスとして列挙
- 資産と境界にマップする攻撃者目標を優先します(データ流出、権限昇格、完全性の侵害、サービス拒否)。
- 各脅威を分類し、影響を受ける資産に結びつけます。
- 脅威の数を少なく保ちながら高品質にします。
5) 明示的な尤度と影響推論で優先順位付けする
- 短い根拠付きの定性的尤度と影響(低/中/高)を使用します。
- 尤度×影響を使用して全体的優先度(重大/高/中/低)を設定し、既存のコントロールで調整します。
- ランキングまたはスコープに最も影響を与える仮定を述べます。
6) サービスコンテキストと仮定をユーザーと検証する
- リスク順位付けまたはスコープに実質的に影響する主要な仮定をまとめてから、ユーザーに確認または修正するよう求めます。
- 欠落したコンテキストを解決するために1~3の的を絞った質問をしてください(サービスオーナーと環境、規模/ユーザー、デプロイメントモデル、認証/認可、インターネット公開、データ感度、マルチテナント)。
- 一時停止して最終レポートを作成する前にユーザーフィードバックを待ちます。
- ユーザーが低下するか、答えることができない場合、どの仮定が残っており、それらが優先度にどのように影響するかを述べます。
7) ミティゲーションとフォーカスパスを推奨する
- 既存のミティゲーション(根拠付き)と推奨されるミティゲーションを区別します。
- ミティゲーションを具体的な場所(コンポーネント、境界、またはエントリポイント)とコントロールタイプ(authZチェック、入力検証、スキーマ強制、サンドボックス化、レート制限、シークレット分離、監査ログ)に結びつけます。
- 一般的なアドバイスよりも具体的な実装ヒントを優先します(例えば、「入力を検証する」ではなく「アップロードペイロードのゲートウェイでスキーマを適用する」)。
- 検証されたユーザーコンテキストに基づいて推奨事項を立てます。仮定が未解決の場合、推奨事項を条件付きとしてマークします。
8) ファイナライズ前に品質チェックを実行する
- 発見されたすべてのエントリポイントがカバーされていることを確認します。
- 各トラスト境界が脅威に表現されていることを確認します。
- ランタイムとCI/開発分離を確認します。
- ユーザーの明確化(または明示的な非応答)が反映されていることを確認します。
- 仮定と未解決の質問が明示的であることを確認します。
- レポートの形式がプロンプトテンプレートで定義された必要な出力形式と密接にマッチしていることを確認します:
references/prompt-template.md - 最終Markdownを
<repo-or-dir-name>-threat-model.mdという名前のファイルに書き込みます(リポジトリルートのベースネーム、またはサブパスの脅威モデリングを求められた場合はスコープ内ディレクトリを使用します)。
インポート:リスク優先順位付けガイダンス(例示的で、網羅的ではありません)
- 高:認証前RCE、認証バイパス、クロステナントアクセス、機密データ流出、キーまたはトークン盗難、モデルまたは設定の完全性侵害、サンドボックスエスケープ。
- 中:重大コンポーネントの標的型DoS、部分的なデータ公開、測定可能な影響を伴うレート制限バイパス、検出に影響を与えるログ/メトリクス汚染。
- 低:低感度情報リーク、簡単にミティゲートできるノイジーDoS、起こりそうにない前提条件を必要とする問題。
例
例1:上流ワークフローを直接要求する
@security-threat-modelを使用して<タスク>を処理します。コピーされた上流ワークフローから開始し、結果を変更するファイルのみをロードし、回答にプロベナンスを表示したままにします。
説明: これはオペレータがインポートされたワークフローを必要としているが、リポジトリ全体は必要としない場合の最も安全な出発点です。
例2:プロベナンスを基盤としたレビューを要求する
metadata.jsonとORIGIN.mdに対して@security-threat-modelをレビューし、最初にロードするコピーされた上流ファイルがどれであり、その理由を説明します。
説明: レビューまたはトラブルシューティングの前に、出典と正確で監査可能なファイル選択説明が必要な場合にこれを使用します。
例3:実行前にコピーされたサポートファイルを絞る
<タスク>に@security-threat-modelを使用します。結果を変更するコピーされた参照、例、またはスクリプトのみをロードし、続行する前に明示的にファイルに名前を付けます。
説明: これにより、スキルはデフォルトでコピーされたパッケージ全体をロードする代わりに段階的な開示と一致した状態を保ちます。
例4:レビュアーパケットを構築する
コピーされた上流ファイルとプロベナンスを使用して@security-threat-modelをレビューし、マージ前のギャップをまとめます。
説明: これはPRが人間によるレビューを待っている場合、および繰り返し可能な監査パケットが必要な場合に便利です。
インポートされた使用法注釈
インポート:クイックスタート
- 入力を収集(または推論)します:
- リポジトリルートパスおよび任意のスコープ内パス。
- 意図された使用法、デプロイメントモデル、インターネット公開、および認証期待(既知の場合)。
- 既存のリポジトリサマリーまたはアーキテクチャ仕様。
references/prompt-template.mdのプロンプトを使用してリポジトリサマリーを生成します。references/prompt-template.mdの必要な出力契約に従います。可能な限り逐語的に使用します。
ベストプラクティス
生成された公開スキルを上流リポジトリの周りのレビュー可能なパッケージングレイヤーとして扱います。目標はプロベナンスを明示的に保ち、実行を実質的に改善するコピーされたソース素材のみをロードすることです。
- インポートされたスキルを上流リポジトリに基づいたものに保ちます。ソース素材が支持できないステップを発明しないでください。
- ワークフローが監査可能で高速にレビューできるようにするために、最小の有用なサポートファイルセットを優先します。
- プロベナンス、ソースコミット、およびインポートされたファイルパスをメモとPR説明で表示したままにします。
- 汎用レビューボイラープレートに頼る代わりに、ワークフローを正当化するコピーされた上流ファイルを直接ポイントします。
- 生成された例をスキャフォルディングとして扱い、実行前に具体的なタスクに適応させます。
- アーキテクチャ、デバッグ、設計、またはセキュリティの懸念が支配的になったときにより強いネイティブスキルにルーティングします。
トラブルシューティング
問題:オペレータはインポートされたコンテキストをスキップし、あまりにも一般的に回答した
症状: 結果は packages/skills-catalog/skills/(security)/security-threat-model のワークフローを無視し、プロベナンスに言及せず、コピーされたソースファイルを使用していません。
解決策: metadata.json、ORIGIN.md、および最も関連するコピーされた上流ファイルを再度開きます。回答を実質的に変更するファイルのみをロードし、続行する前にプロベナンスを再述べます。
問題:インポートされたワークフローはレビュー中に不完全に感じられる
症状: レビュアーは生成された SKILL.md を見ることができますが、現在のタスクでどの参照、例、またはスクリプトが重要かをすばやく判断できません。
解決策: 取ったパスを正当化する正確なコピーされた参照、例、スクリプト、またはアセットをポイントします。ギャップがまだ現実的である場合は、隠す代わりにPRに記録します。
問題:タスクが別の専門分野にドリフトした
症状: インポートされたスキルは正しい場所で開始されますが、作業はネイティブスキルが より良く処理するデバッグ、アーキテクチャ、設計、セキュリティ、またはリリースオーケストレーションになります。 解決策: 関連スキルセクションを使用して意図的にハンドオフします。次のスキルが盲目的に開始する代わりに正しいコンテキストを継承するようにインポートされたプロベナンスを表示したままにします。
関連スキル
@accessibility- このインポートされたスキルがコンテキストを確立した後、作業がそのネイティブ専門分野でより良く処理される場合に使用します。@ai-cold-outreach- このインポートされたスキルがコンテキストを確立した後、作業がそのネイティブ専門分野でより良く処理される場合に使用します。@ai-pricing- このインポートされたスキルがコンテキストを確立した後、作業がそのネイティブ専門分野でより良く処理される場合に使用します。@ai-sdr- このインポートされたスキルがコンテキストを確立した後、作業がそのネイティブ専門分野でより良く処理される場合に使用します。
追加リソース
このサポートマトリックスとこのインポートされたスキルのオペレータパケットとして以下のリンクされたファイルを使用します。これらは汎用スキャフォルディングではなく、実際のコピーされたソース素材を反映する必要があります。
| リソースファミリー | レビュアーに提供するもの | 例パス |
|---|---|---|
references | 上流からコピーされた参照メモ、ガイド、または背景素材 | references/prompt-template.md |
examples | 上流からコピーされた実装例または再利用可能なプロンプト | examples/n/a |
scripts | 実行またはバリデーションを変更する上流ヘルパースクリプト | scripts/n/a |
agents | インポートされたパッケージの実際の部分であるルーティングまたは委任メモ | agents/n/a |
assets | ソースパッケージからコピーされたサポートアセットまたはスキーマ | assets/n/a |
- prompt-template.md
- security-controls-and-assets.md
- LICENSE.txt
- prompt-template.md
- security-controls-and-assets.md
インポートされた参照メモ
インポート:参照
- 出力契約と完全なプロンプトテンプレート:
references/prompt-template.md - オプションのコントロール/アセットリスト:
references/security-controls-and-assets.md
必要な参照ファイルのみをロードします。最終結果を簡潔で、基盤があり、レビュー可能に保ちます。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- diegosouzapw
- ライセンス
- MIT
- 最終更新
- 2026/5/10
Source: https://github.com/diegosouzapw/awesome-omni-skills / ライセンス: MIT