원클릭으로
mcp-threat-modeling
STRIDE threat modeling patterns specific to MCP servers
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
STRIDE threat modeling patterns specific to MCP servers
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Investigate .NET CI failures using the hlx CLI tool via bash. USE FOR: checking Helix job status, searching build logs, downloading test results, AzDO build timeline analysis — when MCP tools aren't loaded, when the MCP server isn't configured or fails to start, or when scripting with JSON output and jq. DO NOT USE FOR: tasks where Helix/AzDO MCP tools are already available in context (prefer ci-analysis skill when MCP server is loaded). INVOKES: bash (hlx CLI commands with --json output).
{what this skill teaches agents}
Audit pattern for comparing WorkItemSummary (list API) fields against WorkItemDetails (per-item API) after a Helix.Client SDK bump
Domain-layer normalizer + JSON-stable cache key pattern for filter types with server-side defaults and case-insensitive fields.
Strict unknown-parameter rejection for MCP tools: Stage A (UnmappedMemberHandling.Disallow) + Stage B (did-you-mean CallToolFilter).
Audit MCP/CLI tool parameter surface against underlying REST API capabilities to find silently-dropped params.
| name | mcp-threat-modeling |
| description | STRIDE threat modeling patterns specific to MCP servers |
| domain | security-analysis |
| confidence | medium |
| source | earned |
MCP (Model Context Protocol) servers have a distinctive threat model compared to typical APIs. They are invoked by AI agents which may be prompt-injected, run in two transport modes (stdio and HTTP) with very different trust boundaries, and often handle CI/infrastructure data that may contain secrets.
Always identify these trust boundaries for any MCP server:
Stdio MCP servers inherit the host process's security context — authentication is implicit (the user who launched the process). HTTP MCP servers are network services that need explicit authentication. A common mistake is building a tool as stdio-first, then adding HTTP transport without adding auth middleware.
MCP tool parameters originate from an AI agent, not directly from a human. An agent can be prompt-injected to:
MCP stdio servers are often ephemeral processes. Cross-process caches (SQLite, file-based) persist data beyond session lifetime. Key concerns:
Contains, EndsWith) for glob-like matching.MCP servers that parse XML from semi-trusted sources (CI artifacts, test results) must use explicit safe settings even on .NET Core+ where defaults are safe:
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null,
MaxCharactersFromEntities = 0,
MaxCharactersInDocument = 50_000_000,
Async = true
};
Never use XmlTextReader. Define settings as a static readonly field. Enforce file size limits (50 MB) before loading into DOM parsers.
All files parsed or searched in-memory should have a size pre-check before loading. XML DOM parsing amplifies memory ~3-5x; text ReadAllLines creates per-line string objects. Pattern: check FileInfo.Length against a constant limit, throw a descriptive error if exceeded.
Binary formats (binlogs, PDBs, core dumps) should be delegated to specialized external tools rather than parsed in-process. This avoids importing heavy deserialization dependencies and reduces attack surface from format-specific bugs.