attAck-mcp-server について
attAck-mcp-serverは、ATT&CKの攻撃者の戦術やテクニックを検索するMCPサーバーです。セキュリティ分析や調査向けに、ID・名称検索と検知・緩和策の情報を提供します。
主な機能
- 01IDまたは名称でテクニックを検索
- 02名称の部分一致検索
- 03テクニックの詳細を取得
- 04検知方法と緩和策を検索
- 05ATT&CKの戦術一覧を取得
- 06サーバーとデータセット情報を確認
活用シーン
- 01特定のATT&CKテクニックを調査
- 02キーワードで関連テクニックを検索
- 03テクニックの検知・緩和策を確認
MCP 対応
ATT&CKのテクニック、戦術、検知方法、緩和策を検索するツールをMCPクライアントに提供します。stdioとHTTPのトランスポートに対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://server.smithery.ai/@alex-llm/attack-mcp-server/mcpclaude mcp add --transport http attAck https://server.smithery.ai/@alex-llm/attack-mcp-server/mcp{"mcpServers":{"attAck":{"type":"http","url":"https://server.smithery.ai/@alex-llm/attack-mcp-server/mcp"}}}Cursor で開く{"servers":{"attAck":{"type":"http","url":"https://server.smithery.ai/@alex-llm/attack-mcp-server/mcp"}}}VS Code で開く{"mcpServers":{"attAck":{"type":"http","url":"https://server.smithery.ai/@alex-llm/attack-mcp-server/mcp"}}}{"mcpServers":{"attAck":{"serverUrl":"https://server.smithery.ai/@alex-llm/attack-mcp-server/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://server.smithery.ai/@alex-llm/attack-mcp-server/mcp認証が必要ツール
詳細
attAck-mcp-server
このプロジェクトは、ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge)の攻撃手法と戦術を検索するための MCP(Model Context Protocol)サーバーです。敵対者が使用するさまざまな攻撃手法や戦術に関する情報にアクセスし、取得できます。
ツール
サーバーは次のツールを提供します。
- query_technique: このツールを使用すると、ID または名前で ATT&CK の攻撃手法を検索できます。
- 引数:
technique_id(string、任意):検索する攻撃手法の ID。tech_name(string、任意):検索する攻撃手法の名前(または名前の一部)。名前のあいまい検索に対応しています。
- 例:
- ID で検索:
{ "technique_id": "T1059.001" }- 名前であいまい検索:
{ "tech_name": "phishing" }
- 引数:
- search_technique_full: 攻撃手法の ID または名前で検索し、詳細情報をすべて取得します。返されるデータには、ID、名前、説明、適用プラットフォーム、キルチェーンの段階、参考資料、サブテクニック、緩和策が含まれます。名前で検索した場合、
{ "results": [...], "count": N }形式の辞書が返されます。resultsは一致した攻撃手法の完全なデータのリストです。- 引数:
technique_id(string、任意):検索する攻撃手法の ID。tech_name(string、任意):攻撃手法名のキーワード。あいまい検索に対応しています。
- 例:
- ID で検索:
{ "technique_id": "T1059.001" }- 名前であいまい検索:
{ "tech_name": "phishing" }
- 引数:
- query_mitigations: 攻撃手法の緩和策を検索します。
- 引数:
technique_id(string、必須):検索する攻撃手法の ID。
- 例:
{ "technique_id": "T1059.001" }
- 引数:
- query_detections: 攻撃手法の検出方法を検索します。
- 引数:
technique_id(string、必須):検索する攻撃手法の ID。
- 例:
{ "technique_id": "T1059.001" }
- 引数:
- list_tactics: このツールを使用すると、ATT&CK の戦術をすべて取得できます。
- 引数: なし
- server_info: サービスとデータセットのバージョン、メンテナー、Git 情報を返します。
- 引数: なし
- 例:
{}
使用方法
この MCP サーバーを使用するには、接続するように設定された MCP クライアントが必要です。接続後、提供されているツールを使って ATT&CK の攻撃手法や戦術を検索できます。
MCP クライアントの設定方法
1. ローカル stdio 方式(Smithery/ローカル統合に推奨)
- 直接実行します:
python main.py - プログラムは stdio モード(デフォルト、または
ATTACK_MCP_MODE=stdio)を自動的に選択します。Smithery、Cursor など、ローカル MCP stdio に対応するクライアントで使用できます。 - MCP クライアントでサービスの種類を「local/stdio」に設定します。ポートの指定は不要です。
- 適した用途:Smithery の自動化、CI/CD、ローカル AI エージェントとの統合。
2. HTTP/Streamable 方式(リモート/開発/デバッグ向け)
-
CLI 引数を使用してモードを切り替えます:
python main.py --mode http --host 0.0.0.0 --port 8081 --log-level info -
または、環境変数で制御します:
export ATTACK_MCP_MODE=http export ATTACK_MCP_HOST=0.0.0.0 # 可选,默认 0.0.0.0 或 $HOST export ATTACK_MCP_PORT=8081 # 可选,默认 8081 或 $PORT export ATTACK_MCP_LOG_LEVEL=info # 可选,默认 info python main.py -
実行後、サービスは Streamable HTTP 方式で公開されます。クライアントでサービスの種類を「http」に設定し、
http://127.0.0.1:8081/mcpのようなアドレスを指定できます。 -
リモート環境(Smithery Cloud など)では通常、
PORTまたはMCP_TRANSPORT環境変数が設定されているため、python main.pyを実行するだけで HTTP を使用できます。streaming、streamable、streamable-http、streamable HTTP transport、stdioNotSupportedなどの新しい列挙値が設定された実行環境では、追加設定なしでプログラムが自動的に HTTP モードへ切り替わります。 -
Smithery などのコンテナプラットフォームは、
PORT(デフォルトは 8081)を通じてリッスンするポートを指定します。プログラムはこの値を自動的に読み取り、0.0.0.0:$PORTでリッスンします。 -
ツール名:
query_technique、search_technique_full、query_mitigations、query_detections、list_tactics、server_info -
引数の例:
- ID で攻撃手法を検索:
{ "technique_id": "T1059.001" } - 名前で攻撃手法をあいまい検索:
{ "tech_name": "phishing" } search_technique_fullを使用して攻撃手法の詳細情報を取得:{ "tech_name": "phishing" }- 攻撃手法の緩和策を検索:
{ "technique_id": "T1059.001" } - 攻撃手法の検出方法を検索:
{ "technique_id": "T1059.001" } - 戦術の一覧を検索:
{} - サービスとデータセットの情報を検索:
{}
- ID で攻撃手法を検索:
クライアントの具体的な設定方法については、お使いの MCP クライアントのドキュメントを参照し、上記のサービスアドレスとツール名を該当する項目に入力してください。
インストール
- このリポジトリをクローンします。
pip install -r requirements.txtを使用して必要な依存関係をインストールします。- MCP クライアントで MCP サーバーを設定します。
ATT&CK
ATT&CK は、サイバー攻撃者の行動に関する厳選されたナレッジベースおよびモデルであり、攻撃者の攻撃ライフサイクルにおけるさまざまな段階と、攻撃対象として知られているプラットフォームを反映しています。ATT&CK は、特定のテクノロジーや組織に対するセキュリティリスクを理解するのに役立ちます。
クイックスタート
方法 1:Python スクリプトを直接実行する(開発/デバッグに推奨)
- 依存関係をインストールします(仮想環境の使用を推奨):
pip install -r requirements.txt - enterprise-attack.json データセットがプロジェクトのルートディレクトリにあることを確認します。
- サービスを起動します(デフォルトは stdio モードで、ローカルクライアントとの統合に適しています):
python main.py - HTTP 方式でサービスを提供する場合は、モードを明示的に選択します:
python main.py --mode http --host 127.0.0.1 --port 8081
方法 2:本番環境向け(Docker によるデプロイ)を推奨
Docker
- イメージをビルドします:
docker build -t attack-mcp-server . - コンテナを実行します:
docker run -p 8081:8081 attack-mcp-server
API の説明
- /query_technique ID または名前で攻撃技術の詳細を検索します(名前のあいまい検索に対応)
- /search_technique_full ID または名前で攻撃技術の詳細情報全体を検索します(名前で検索すると、サブ技術と緩和策を含む一致した技術の一覧を返します)
- /query_mitigations 指定した技術の緩和策を検索します
- /query_detections 指定した技術の検出方法を検索します
- /list_tactics すべての ATT&CK 戦術カテゴリを取得します
- /server_info サービスのバージョン、データセットのバージョン、Git 情報を返します
ご質問がある場合は、メンテナーにお問い合わせください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。