
構造化されたSTRIDEベースの脅威モデリングのためのMCPサーバー。自動コード検証、ビジネスコンテキスト分析、MarkdownおよびJSON形式での包括的レポート生成を備えています。
ガイド付きコード検証を備えた、包括的な脅威モデリングのための Model Context Protocol (MCP) サーバーです。
このサーバーは、ビジネスコンテキスト分析、アーキテクチャ分析、脅威アクター分析、信頼境界分析、資産フロー分析、コードセキュリティ検証、包括的なレポート生成など、脅威モデリングのためのツールを提供します。
この MCP サーバーは、外部 API や別のサービスへのネットワーク呼び出しを行う代わりに、既存のエージェントの LLM を呼び出します。Amazon-Q、Kiro、Cline などの既存クライアントの LLM に依存します。
この脅威モデリング MCP サーバーには、3 つの主要な機能があります:
また、最終レポートを Markdown 形式と JSON 形式の両方でエクスポート可能な形式で生成するツールも備えています。
.threatmodel ディレクトリに書き込むことができますが、これらのスナップショットは後のセッションで自動的に読み込まれることはありません。注: これらのプロンプトを使用する前に、まず インストール プロセスを完了して MCP サーバーをセットアップする必要があります。
"Threat model this project using the threat modeling MCP Server"
プロンプトで脅威モデリング MCP サーバーを使用することを明示することで、クライアント (Cline/Kiro など) が近道をして結果にハルシネーションを混入させることなく、正確なフェーズと手法に従うことが保証されます。
"Threat model this subfolder using the threat modeling MCP Server"
サブフォルダに対して実行すると、意図する分析スコープが制限されます。そこにエクスポートを保存するには、そのサブフォルダ内の出力パスを要求してください。エクスポート場所は分析スコープから自動的に推測されることはありません。
"Save the threat model report"
"Please complete all the phases in the threat model plan and then generate the final report."
"Threat model this project using the threat model MCP server and consider this architecture_image.png attached for this review"
"Can you see if you can implement mitigation controls in the code based on the threats reported in the threat model"
"Can you updated the threat model based on the code fixes which mitigated the reported threats"
# Set up context
"Set business context for an e-commerce payment system"
# Add architecture
"Add a web server component using AWS EC2"
"Add a database component using AWS RDS"
# Identify threats
"Add a threat where an attacker with network access performs SQL injection"
# Add mitigations
"Add a mitigation for input validation"
# Export results
"Export the threat model to my_model.tc.json"
脅威モデリング MCP サーバーをインストールする前に、以下の要件を満たしていることを確認してください:
uvx をインストールします
uvx --versionuvx をインストールし、動作することを確認したら、以下の設定を mcp.json 設定ファイルに追加します。使用しているクライアントの種類 (kiro/cline/amazon-q) によって、この mcp.json の場所は異なります。設定を追加して IDE を再起動すると、脅威モデリング MCP サーバーは uvx を使用してこの GitHub リポジトリから直接自動的にインストールされます。
注: この mcp サーバーが脅威モデリングに使用するツールは、ユーザーエクスペリエンスを容易にするためにすでに
autoApproveに追加されており、ツール呼び出しごとに手動承認プロンプトなしでシームレスに動作します。すべてのツールはサーバー内部のものであり、外部 API 呼び出しを行いません。各ツールを確認して呼び出しごとに承認したい場合は、autoApprove 配列を次のように置き換える必要があります:"autoApprove": []
MCP クライアント設定に以下を追加します:
Amazon Q の場合 (~/.aws/amazonq/mcp.json):
{
"mcpServers": {
"threat-modeling-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/awslabs/threat-modeling-mcp-server.git",
"threat-modeling-mcp-server"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": ["manage_workflow","export_threat_model","manage_system_context","manage_assumptions","manage_architecture","manage_threat_actors","manage_trust_boundaries","manage_asset_flows","manage_threats","inspect_data_models","manage_code_validation"]
}
}
}
VSCode Cline の場合:
{
"mcpServers": {
"threat-modeling-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/awslabs/threat-modeling-mcp-server.git",
"threat-modeling-mcp-server"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": ["manage_workflow","export_threat_model","manage_system_context","manage_assumptions","manage_architecture","manage_threat_actors","manage_trust_boundaries","manage_asset_flows","manage_threats","inspect_data_models","manage_code_validation"],
"timeout": 60,
"type": "stdio"
}
}
}
Kiro の場合 (~/.kiro/settings/mcp.json):
{
"mcpServers": {
"threat-modeling-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/awslabs/threat-modeling-mcp-server.git",
"threat-modeling-mcp-server"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": ["manage_workflow","export_threat_model","manage_system_context","manage_assumptions","manage_architecture","manage_threat_actors","manage_trust_boundaries","manage_asset_flows","manage_threats","inspect_data_models","manage_code_validation"]
}
}
}
すべてのツールを自動承認して kiro-cli 経由で MCP サーバーを実行するには:
kiro-cli chat --trust-tools="@threat-modeling-mcp-server/*"
これにより、threat-modeling-mcp-server MCP サーバーのすべてのツールが信頼され、ツール呼び出しごとに個別に承認を求められることはなくなります。
このリポジトリには、9 つの番号付きフェーズとオプションのフェーズ 7.5 コード検証ステップをカバーする、事前設定済みの Kiro CLI エージェントが含まれています。エージェント設定は .kiro/agents/threat-modeler.json にあります。
グローバルインストール (任意のディレクトリから利用可能):
./install-kiro-agent.sh
アンインストールするには: ./install-kiro-agent.sh --remove
ローカルインストール (プロジェクト固有):
cp -r /path/to/threat-modeling-mcp-server/.kiro /path/to/your-project/.kiro
使用方法:
# Non-interactive: run full threat model and exit
kiro-cli chat --agent threat-modeler --no-interactive "Threat model this project"
# Interactive: start a session with the agent
kiro-cli chat --agent threat-modeler
エージェントに含まれるもの:
.kiro/prompts/threat-modeler.md): フェーズ別 STRIDE 手法の詳細な手順.kiro/skills/): オプションのフェーズ 7.5 を含む、フェーズごとの参考資料エクスポートする前に、脅威モデリングの対象となるディレクトリを
manage_workflow(action="set_project", directory=...) で選択します。エクスポートツールは常に
<selected-project>/.threatmodel/ を作成し、Threat Composer の
.tc.json ファイルと Markdown レポートの両方をそこに書き込みます。output_path を省略すると、
タイムスタンプ付きのベースファイル名が使用されます。output_path を指定するとベース
ファイル名のみが選択されます。絶対パス、親ディレクトリへのトラバーサル、その他のディレクトリコンポーネントは、
どちらの成果物も選択されたプロジェクトの .threatmodel
ディレクトリの外にリダイレクトすることはできません。