GitHits
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
Threat-model AI and agentic systems against MITRE ATLAS: surfaces, techniques, controls
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます · ✓ コマンド確認済み 2026年11月15日
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
このメッセージを Claude のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。
このパソコンの Claude に MCP server MITRE ATLAS MCP Server を入れてください。順番に:1) node -v で Node.js があるか確認。なければ https://nodejs.org/en/download から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "mcpServers": { "mitre-atlas": { "command": "npx", "args": [ "-y", "@imouiche/mitre-atlas-mcp-server" ] } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、MITRE ATLAS MCP Server のツールが本当に表示されるか確認する。このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。
もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter
node -vMac:⌘ + Space を押し、Terminal と入力して Enter
Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」
まだ入っていない場合: 公式ダウンロードページで LTS 版と、クリックで進むインストーラーを選びます:Mac は .pkg、Windows は .msi。ダブルクリックして最後まで進めるだけで、curl コマンドは不要です
入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: node -v
一度入れれば、Node.js を使うすべてのツールで使えます
SettingsDeveloperEdit Config
{
"mcpServers": {
"mitre-atlas": {
"command": "npx",
"args": [
"-y",
"@imouiche/mitre-atlas-mcp-server"
]
}
}
}上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
MITRE_ATLAS_PYTHON Path to a Python 3.12+ interpreter to use directly. When set, no virtualenv is created and the interpreter must already satisfy the dependencies in pyproject.toml.MITRE_ATLAS_RUNTIME_DIR Directory for the cached virtualenv prepared on first run. Defaults to ~/.mitre-atlas-mcp-server/runtime.説明は英語の原文のままです。
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ MITRE ATLAS MCP Server につなげません
MITRE ATLAS MCP Server はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
A · MITRE ATLAS MCP Server につなげるアプリを使う
B · サイバーセキュリティ の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
Claude Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
このメッセージを Claude Code のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。
このパソコンの Claude Code に MCP server MITRE ATLAS MCP Server を入れてください。順番に:1) node -v で Node.js があるか確認。なければ https://nodejs.org/en/download から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):claude mcp add --scope user mitre-atlas -- npx -y @imouiche/mitre-atlas-mcp-server 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、MITRE ATLAS MCP Server のツールが本当に表示されるか確認する。このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。
もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter
node -vMac:⌘ + Space を押し、Terminal と入力して Enter
Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」
まだ入っていない場合: 公式ダウンロードページで LTS 版と、クリックで進むインストーラーを選びます:Mac は .pkg、Windows は .msi。ダブルクリックして最後まで進めるだけで、curl コマンドは不要です
入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: node -v
一度入れれば、Node.js を使うすべてのツールで使えます
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
claude mcp add --scope user mitre-atlas -- npx -y @imouiche/mitre-atlas-mcp-serverMITRE ATLAS MCP Server が一覧にあり、接続済みと表示されれば OK です
MITRE ATLAS MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が MITRE ATLAS MCP Server を使っていると言うか、回答に MITRE ATLAS MCP Server のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
MITRE_ATLAS_PYTHON Path to a Python 3.12+ interpreter to use directly. When set, no virtualenv is created and the interpreter must already satisfy the dependencies in pyproject.toml.MITRE_ATLAS_RUNTIME_DIR Directory for the cached virtualenv prepared on first run. Defaults to ~/.mitre-atlas-mcp-server/runtime.説明は英語の原文のままです。
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
このメッセージを Cursor のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。
このパソコンの Cursor に MCP server MITRE ATLAS MCP Server を入れてください。順番に:1) node -v で Node.js があるか確認。なければ https://nodejs.org/en/download から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "mcpServers": { "mitre-atlas": { "command": "npx", "args": [ "-y", "@imouiche/mitre-atlas-mcp-server" ] } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、MITRE ATLAS MCP Server のツールが本当に表示されるか確認する。このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。
もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter
node -vMac:⌘ + Space を押し、Terminal と入力して Enter
Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」
まだ入っていない場合: 公式ダウンロードページで LTS 版と、クリックで進むインストーラーを選びます:Mac は .pkg、Windows は .msi。ダブルクリックして最後まで進めるだけで、curl コマンドは不要です
入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: node -v
一度入れれば、Node.js を使うすべてのツールで使えます
MITRE ATLAS MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が MITRE ATLAS MCP Server を使っていると言うか、回答に MITRE ATLAS MCP Server のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
MITRE_ATLAS_PYTHON Path to a Python 3.12+ interpreter to use directly. When set, no virtualenv is created and the interpreter must already satisfy the dependencies in pyproject.toml.MITRE_ATLAS_RUNTIME_DIR Directory for the cached virtualenv prepared on first run. Defaults to ~/.mitre-atlas-mcp-server/runtime.説明は英語の原文のままです。
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
このメッセージを VS Code のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。
このパソコンの VS Code に MCP server MITRE ATLAS MCP Server を入れてください。順番に:1) node -v で Node.js があるか確認。なければ https://nodejs.org/en/download から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "servers": { "mitre-atlas": { "type": "stdio", "command": "npx", "args": [ "-y", "@imouiche/mitre-atlas-mcp-server" ] } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、MITRE ATLAS MCP Server のツールが本当に表示されるか確認する。このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。
もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter
node -vMac:⌘ + Space を押し、Terminal と入力して Enter
Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」
まだ入っていない場合: 公式ダウンロードページで LTS 版と、クリックで進むインストーラーを選びます:Mac は .pkg、Windows は .msi。ダブルクリックして最後まで進めるだけで、curl コマンドは不要です
入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: node -v
一度入れれば、Node.js を使うすべてのツールで使えます
MITRE ATLAS MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が MITRE ATLAS MCP Server を使っていると言うか、回答に MITRE ATLAS MCP Server のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
MITRE_ATLAS_PYTHON Path to a Python 3.12+ interpreter to use directly. When set, no virtualenv is created and the interpreter must already satisfy the dependencies in pyproject.toml.MITRE_ATLAS_RUNTIME_DIR Directory for the cached virtualenv prepared on first run. Defaults to ~/.mitre-atlas-mcp-server/runtime.説明は英語の原文のままです。
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
JSON 設定は下の「開発者向け」にあります
Claude Code
claude mcp add --scope user mitre-atlas -- npx -y @imouiche/mitre-atlas-mcp-serverClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"mitre-atlas": {
"command": "npx",
"args": [
"-y",
"@imouiche/mitre-atlas-mcp-server"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"mitre-atlas": {
"command": "npx",
"args": [
"-y",
"@imouiche/mitre-atlas-mcp-server"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"mitre-atlas": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@imouiche/mitre-atlas-mcp-server"
]
}
}
}MITRE_ATLAS_PYTHON envMITRE_ATLAS_RUNTIME_DIR env説明は英語の原文のままです。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
npm: @imouiche/mitre-atlas-mcp-serverこのサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月15日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント imouiche で確認済みです
コードの最終更新:昨日
Apache-2.0を使用
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
まだ確認していません
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
まだレビューはありません
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は昨日、最新バージョン(0.1.2)がレジストリに届いたのは今日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:GitHits, Dependency Management MCP Server, Snyk MCP, Draugr, Spotdb
同じカテゴリでほかの作者のもの。コマンドは確認済み。公式を先に、次にスター順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
Sonatype component intelligence: versions, security analysis, and Trust Score recommendations
Easily find and fix security issues in your applications leveraging Snyk platform capabilities.
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
Ephemeral data sandbox for AI workflows with guardrails and security
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
17 MCP tools that threat-model AI and agentic systems against [MITRE ATLAS](https://atlas.mitre.org/)
Install · The idea · Tools · Data governance · Who owns the fix · Example
Describe your system's architecture - an agent with tool access over a RAG corpus, say - and get back the ATLAS techniques that apply, the mitigations that cover them, the compounding risks your specific combination of surfaces creates, and the real-world incidents that have already happened to systems shaped like yours.
This is not a lookup wrapper around the ATLAS matrix. Lookup is included, but the point is the mapping from *how you built it* to *what can be done to it*.
Pinned to ATLAS v2026.10: 16 tactics, 221 techniques, 44 mitigations, 77 case studies. Mitigations are enriched with control ownership from the CoSAI Risk Map, and techniques cross-map to ATT&CK, STRIDE, OWASP Top 10 for LLM and NIST AI RMF.
Published in the official [MCP Registry](https://registry.modelcontextprotocol.io/?q=mitre-atlas-mcp-server) as `io.github.imouiche/mitre-atlas-mcp-server`.
npx -y @imouiche/mitre-atlas-mcp-server
Requires Node 18+ and Python 3.12+ on PATH. On first run it prepares a private virtualenv under ~/.mitre-atlas-mcp-server/runtime, which takes a few seconds: both datasets are already in the package, so only mcp and pyyaml are installed and nothing is downloaded. Nothing touches your system or active Python environment.
| Variable | Effect |
|---|---|
MITRE_ATLAS_PYTHON | Use this interpreter directly and skip virtualenv creation. It must already satisfy the dependencies in pyproject.toml. |
MITRE_ATLAS_RUNTIME_DIR | Relocate the cached virtualenv. |
The PyPI release is not published yet, so these do not work today:
uvx mitre-atlas-mcp-server # pending PyPI
pip install mitre-atlas-mcp-server # pending PyPI
uvx will become the recommended path once the package is on PyPI, since it needs no Node at all.
{
"mcpServers": { "mitre-atlas": { "command": "npx", "args": ["-y", "@imouiche/mitre-atlas-mcp-server"] } } }
ATLAS is organised by adversary intent - tactics and techniques. Engineers describe systems by architecture. That mismatch is why ATLAS is harder to apply than it should be, and it is the gap this server closes.
It defines ten surfaces, each a yes/no question about your architecture, each anchored to the ATLAS techniques that become reachable when the answer is yes:
| Surface | Applies when |
|---|---|
untrusted_input | Content from outside your trust boundary reaches the model |
tool_use | The model's output drives function, shell, HTTP, or MCP calls |
rag | Retrieved documents land in the context window |
agent_memory | State persists across turns or sessions |
agent_config | Config, system prompts, or tool manifests are reachable |
multi_agent | Agents delegate to, spawn, or message other agents |
rendered_output | Output is rendered as markdown, HTML, or links |
inference_api | A model endpoint is reachable over the network |
model_supply_chain | Weights, adapters, datasets, or MCP servers come from a registry |
training_pipeline | You train or fine-tune on data you collect |
The surfaces that matter most are the ones that combine. untrusted_input alone is a content-filtering problem. untrusted_input + tool_use is the agentic equivalent of remote code execution: injected text becomes attacker-chosen actions. profile_ai_system reports those compounds explicitly rather than leaving you to infer them from two separate lists.
ATLAS v2026.10 tags 148 of its 221 techniques as applying to Agentic AI, which is what makes this framing tractable - the agentic coverage is MITRE's, not invented here.
| Tool | Does |
|---|---|
list_surfaces | The ten surfaces, with the question that decides each. Start here |
profile_ai_system | Surfaces in → techniques ranked by exposure, mitigations ranked by coverage, compound risks, and techniques ATLAS has no mitigation for |
map_surface_to_techniques | One surface at a time, for drilling in |
find_analogous_incidents | Case studies ranked by technique overlap, each naming the overlapping techniques so the relevance is checkable |
| Tool | Does |
|---|---|
get_atlas_info | Release served and collection sizes |
list_tactics | All 16 tactics with technique counts |
get_technique | One technique: tactics, sub-techniques, mitigations, case studies, ATT&CK parallel |
search_techniques | Text search, filterable by platform and maturity |
get_techniques_by_tactic | By tactic id or name |
get_mitigation | One mitigation, with everything it covers |
get_mitigations_for_technique | Mitigations for a technique, inheriting from the parent when a sub-technique has none |
get_case_study | One case study with its ordered attack flow - each step's tactic, technique, and what the operator actually did |
search_case_studies | By text, by type (27 Incident, 50 Exercise), or by technique employed |
get_software | Attacker tooling ATLAS catalogues |
| Tool | Does |
|---|---|
map_atlas_to_attack | The ATT&CK technique an ATLAS technique parallels |
map_attack_to_atlas | The reverse, for teams already modelling against ATT&CK |
map_technique_to_frameworks | ATT&CK, STRIDE, OWASP Top 10 for LLM and NIST AI RMF for one technique, plus the CoSAI risks and controls behind them |
ATLAS asserts an ATT&CK parallel for 48 of 221 techniques. Every tool reports its coverage figure, so an empty result is never mistaken for "no parallel exists".
Resources: atlas://matrix (the matrix as markdown), atlas://surfaces (the taxonomy).
Prompts: threat_model_this_agent, review_mcp_tool_surface.
ATLAS tells you what to do about a technique. It does not tell you who does it.
So every mitigation this server returns is enriched from the CoSAI Risk Map (Coalition for Secure AI, an OASIS open project), which maps its engineering controls to ATLAS mitigation ids. Where a mapping exists you also get the control, the personas who own it, and the components it applies to:
AML.M0004 Limit AI Service Query Volume and Rate
CoSAI control : Agent Execution Bounds owners : Agentic Platform and Framework Providers, Application Developer, AI Platform Provider components : Agent Reasoning Core, Orchestration Input Handling, Orchestration Output Handling
That turns a ranked mitigation list into assignable work, which is the point of threat-modelling a system you are actually building.
Coverage, stated plainly. 13 of ATLAS's 44 mitigations have a CoSAI control, and all 13 cited ids resolve against the pinned ATLAS release. Per surface, roughly a quarter to a half of returned mitigations carry an owner; agent_config currently has none. Where CoSAI maps nothing, the tools say so rather than returning a silent blank.
Threat-model this: a customer-support agent that reads incoming email,
retrieves from our knowledge base, and can issue refunds through our billing
API. It remembers prior conversations per customer.
That is four surfaces, so profile_ai_system(["untrusted_input", "rag", "tool_use", "agent_memory"]). Actual output, abridged:
27 techniques in scope, across 11 tactics. 18 mitigations. 5 techniques ATLAS has no mitigation for.
It leads with what the *combination* creates, not the individual techniques:
untrusted_input + tool_use
Injected content becomes attacker-chosen tool calls, the agentic equivalent of remote code execution. Treat every tool the agent can reach as callable by whoever authors the untrusted content.
rag + tool_use Anyone who can write into the indexed corpus can steer tool calls without ever interacting with the system directly.
untrusted_input + agent_memory A single injection persists across sessions and can carry a delayed trigger, so the payload outlives the request that delivered it.
Then the mitigations, ranked by how much they cover, each naming who implements it:
AML.M0020 covers 14 Generative AI Guardrails
owners: AI Model Serving, AI Platform Provider, Agentic Platform and Framework Providers AML.M0035 covers 11 AI Red Team AML.M0024 covers 7 AI Telemetry Logging and Monitoring owners: AI Model Serving, AI Platform Provider, Agentic Platform and Framework Providers
Then find_analogous_incidents for the same surfaces, ranked by how many in-scope techniques each case study actually employed:
AML.CS0063 overlap 10 Prompt-Based Attacks Against Gemini via Calendar Invitations
AML.CS0026 overlap 9 Financial Transaction Hijacking with M365 Copilot as an Insider AML.CS0066 overlap 9 ZombieAgent: Data Exfiltration Attack on ChatGPT AML.CS0024 overlap 7 Morris II Worm: RAG-Based Attack
A support agent that can move money, matched against a documented financial transaction hijack with nine techniques in common. get_case_study returns any of these as an ordered attack flow: each step's tactic, the technique used, and what the operator actually did.
Security tooling is only as trustworthy as the data under it, and most MCP servers fetch theirs at call time from whatever the upstream API returns today. This one does not. Both datasets ship inside the package, pinned to an exact release, and the server makes no network calls while serving.
| Property | How it holds |
|---|---|
| Reproducible | Two identical calls return identical answers. The data cannot shift under a running assessment. |
| Offline | Runs air-gapped. Nothing is fetched at startup or per call; verified by there being no HTTP client anywhere in src/. |
| Pinned and attributable | ATLAS at v2026.10 recorded in RELEASE; CoSAI at commit 622605a recorded in COMMIT. Both Apache-2.0, attributed in NOTICE. |
| Integrity-checked | 123 tests assert collection sizes, that every technique id in the surface taxonomy resolves, and that every ATLAS id CoSAI cites exists in the pinned release. |
| No third-party reach | No telemetry, no analytics, no credentials, no API keys. Nobody outside this repository can change what the server reports. |
| Reviewed updates | A weekly workflow pulls upstream, runs the suite and opens a pull request only when something changed. Refreshes are merged deliberately, nev