mcr-analysis
Use when analyzing .NET applications from Microsoft Container Registry (MCR) images without running containers.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when analyzing .NET applications from Microsoft Container Registry (MCR) images without running containers.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when beginning a web assessment from a domain, wildcard, ASN, organization, IP list, or CIDR and measurable attack-surface coverage is needed.
Decision tree for selecting AIRT attacks based on goals, target type, and constraints
Common Active Directory attack chains with tool mappings. Covers Kerberoasting, AS-REP roasting, RBCD, AD CS, DCSync, relay attacks, and credential reuse patterns. Use during exploitation and privilege escalation phases.
Decision tree for Active Directory enumeration. Maps enumeration tasks to tools, defines priority signals, and specifies what findings trigger deeper investigation. Use during the enumeration phase of network operations.
Load when performing network operations or Active Directory exploitation. Enforces enumeration-before-attack discipline, credential verification, trust boundary awareness, scope compliance, reversibility preference, and structured reporting. Prevents premature exploitation, credential misuse, and scope violations.
Direct Caido interaction via the caido-sdk-client Python library, bypassing the Caido MCP server. Prefer this over the caido-proxy MCP skill for efficiency WHEN the SDK is importable in the current runtime. If the import fails, or Caido/the MCP is not loaded, fall back to the caido-proxy skill.
| name | mcr-analysis |
| description | Use when analyzing .NET applications from Microsoft Container Registry (MCR) images without running containers. |
Extract and analyze .NET assemblies from Microsoft Container Registry images without executing any container code. Uses pure HTTP—no Docker required.
Load the vuln-assessment-methodology skill alongside this one for severity
calibration, disprove-first discipline, and reporting standards.
Use MCR tools when:
dotnet/aspnet:8.0, azure-functions/dotnet:4)Use standard dotnet_* tools directly when you already have DLL/EXE files on disk.
mcr_search_repositories(query="dotnet") # find repos
mcr_list_tags(repository="dotnet/aspnet", filter_pattern="8.0") # list versions
mcr_pull_and_extract(image="dotnet/aspnet:8.0") # extract DLLs
dotnet_scan_binaries(path="~/workspace/mcr/dotnet_aspnet_8.0") # analyze
| Tool | Purpose |
|---|---|
mcr_search_repositories(query) | Search ~3,200 MCR repos by name |
mcr_list_tags(repository, filter_pattern?, include_windows?) | List image tags, sorted by version |
mcr_pull_and_extract(image, platform?, dll_only?) | Extract .NET binaries from image. Platform default: linux/amd64, also linux/arm64. |
| Repository | Contents |
|---|---|
dotnet/runtime | .NET runtime only (~168 DLLs) |
dotnet/aspnet | ASP.NET Core + runtime (~307 DLLs) |
dotnet/sdk | Full SDK + runtime + tools |
dotnet/nightly/* | Preview/nightly builds |
azure-functions/* | Azure Functions runtime |
appsvc/* | Azure App Service images |
Use mcr_search_repositories to discover repos beyond these — the catalog has
~3,200 entries across Azure services, infrastructure, and tooling.
Many MCR images use Go, Python, TypeScript, or Rust. Extraction will return "No .NET assemblies found" for these. This is common for infrastructure and networking components (CNI plugins, proxies, tunnels, AI/ML runtimes).
If extraction fails:
dll_only=false — some images use AOT compilation or non-standard layoutslinux/arm64 vs linux/amd64)mcr_search_repositories(query="azure-functions")
mcr_list_tags(repository="azure-functions/dotnet", filter_pattern="8")
Tags are sorted newest-first. Prefer specific version tags (e.g., 8.0.25) over latest.
mcr_pull_and_extract(image="azure-functions/dotnet:4-dotnet8")
Output goes to ~/workspace/mcr/{repo}_{tag}/. Extractions are cached — repeated calls skip the download.
dotnet_scan_binaries(path="~/workspace/mcr/azure-functions_dotnet_4-dotnet8")
dotnet_list_namespaces(path="~/workspace/mcr/.../TargetAssembly.dll")
dotnet_search_references(path="~/workspace/mcr/.../TargetAssembly.dll", search="SqlCommand")
For app images (appsvc/*, azure-functions/*), prioritize assemblies under /app/ over runtime DLLs. For runtime images (dotnet/runtime, dotnet/aspnet), target System.Private.CoreLib.dll or Microsoft.AspNetCore.dll directly.
When analyzing assemblies extracted from MCR images, look for these in addition to standard .NET vulnerability patterns:
Not all MCR repos are equally interesting. Prioritize:
Highest value:
Medium value:
Lower value:
When dispatching subagents to analyze extracted assemblies:
dotnet-reversing and vuln-assessment-methodology skills loadedDO:
mcr_list_tags before mcr_pull_and_extract to pick the right version8.0.25) not floating tags (8.0, latest)dotnet_scan_binaries on the output directory/app/ or /emulator/ assemblies over runtime assembliesDO NOT:
latest tag for security analysis — it changes over time8.0.25 instead of 8.0 or latest for reproducibilitylatest are brand new — potentially less audited