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 직업 분류 기준
Pre-engagement reconnaissance workflow using HackerOne MCP tools to enumerate program scope, study prior disclosures, and identify high-value targets. Use when starting a new HackerOne program engagement, building an asset inventory, or planning target selection before active testing.
Pre-submission eligibility check for bug bounty findings. Catches ineligible patterns, AI/scanner false positives, and generates impact justification for borderline lows. Use before writing a report or when assessing whether a finding is worth reporting.
Static code analysis for DOM-based vulnerabilities in client-side JavaScript -- source/sink enumeration via grep and AST tools, data flow tracing, sanitization assessment, and framework-specific sink detection. Use when performing pre-commit reviews, auditing large codebases without dynamic execution, or triaging minified code for XSS issues.
Create custom jxscout analyzers (regex, derived, or script-based) and retrigger analysis. Use when the user wants to find specific code patterns across all project files, add new match kinds, or extend jxscout's static analysis capabilities.
Use when the user wants to connect to Jira, Confluence, or Compass — search issues with JQL, read or create issues and pages, link content across products, or set up Atlassian auth. The connector — not security tradecraft.
Use when the user wants to connect to Azure DevOps — query Boards work items with WIQL, read PRs, inspect pipeline runs, create or update work items and wiki pages, or set up ADO auth. The connector — not security tradecraft.
| 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