Usage Guide使用指南

Learn how to ingest samples, launch staged analysis workflows, and discover the startup-generated MCP tool surface. 了解如何导入样本、启动 staged analysis workflow,并发现启动时生成的 MCP 工具面。

sample.ingest

The primary entry point for all analysis. Ingest a PE binary and receive a structured triage result. 所有分析的主入口。导入 PE 二进制文件并接收结构化的分诊结果。

Parameters参数

Parameter参数Type类型Required必需Description描述
pathstringPath to sample file样本文件路径
filenamestringOriginal filename (auto-detected)原始文件名(自动检测)
sourcestringSource label (e.g. "malware_zoo")样本来源标签

Example示例

MCP Tool Call
{
  "name": "sample.ingest",
  "arguments": {
    "path": "C:\\samples\\target.exe",
    "source": "manual_upload"
  }
}
Response
{
  "sample_id": "sha256:a1b2c3d4...",
  "filename": "target.exe",
  "file_type": "PE32+",
  "size": 1258291,
  "triage": {
    "is_dotnet": false,
    "is_packed": true,
    "packer_hint": "UPX",
    "import_count": 42,
    "section_count": 5
  }
}

Core Analysis Tools核心分析工具

Tool工具Category类别Description描述
sample.ingestPEIngest & triage a PE sample导入并分诊 PE 样本
tool.helpUtilityInspect schema fields, usage notes, surface role, and preferred primary tools查看 schema 字段、使用提示、工具面角色和首选主路径工具
tool.readinessUtilityPassively check local/runtime readiness, runtime plane, execution semantics, and next actions before dispatch分发前被动检查本地/运行时就绪、runtime plane、执行语义和下一步动作
pe.headersPEParse PE headers (DOS, COFF, Optional)解析 PE 头(DOS、COFF、可选头)
pe.importsPEExtract import table提取导入表
pe.exportsPEExtract export table提取导出表
pe.sectionsPESection table with entropy带熵值的节表
pe.resourcesPEResource directory tree资源目录树
static.resource.graphPEBuild a PE resource and embedded-payload graph with entropy, magic, hashes, and string previews生成 PE 资源和嵌入 payload 图谱,包含熵值、magic、hash 和字符串预览
static.config.carverStaticCarve URLs, hosts, registry paths, mutexes, HTTP client strings, and encoded blobs from raw bytes从原始字节提取 URL、主机、注册表路径、mutex、HTTP client 字符串和编码 blob
static.behavior.classifyStaticClassify persistence, service install, scheduled task, WMI, process injection, DLL injection, APC, and hollowing indicators分类持久化、服务安装、计划任务、WMI、进程注入、DLL 注入、APC 和 hollowing 线索
pe.stringsPEExtract printable strings提取可打印字符串
detect.compilerDetectCompiler & packer detection (DIE)编译器和加壳检测(DIE)
yara.scanYARAScan with YARA rules使用 YARA 规则扫描
capa.analyzecapaDetect capabilities via capa通过 capa 检测能力

Workflow Tools工作流工具

Orchestrate multi-stage analysis with the staged pipeline. 使用分阶段流水线编排多阶段分析。

Tool工具Description描述
workflow.analyze.startStart a staged analysis run启动分阶段分析运行
workflow.analyze.statusCheck analysis run status检查分析运行状态
workflow.analyze.promoteQueue deeper stages for an existing run为已有运行排队更深阶段
workflow.analyze.autoIntent router over start/promote; does not launch legacy heavyweight workflows directly基于 start/promote 的意图路由;不会直接启动旧重型 workflow
workflow.summarizeGenerate final summary report生成最终摘要报告

Ghidra ToolsGhidra 工具

Tool工具Description描述
ghidra.decompileDecompile a function by name or address按名称或地址反编译函数
ghidra.functions.listList all recovered functions列出所有恢复的函数
ghidra.xrefsCross-reference analysis交叉引用分析
ghidra.cfgControl flow graph extraction控制流图提取
ghidra.pseudocodeSource-like pseudocode export类源码伪代码导出

Dynamic Analysis Tools动态分析工具

Tool工具Description描述
dynamic.auto_hookGenerate Frida hook plans from static evidence基于静态证据生成 Frida Hook 方案
dynamic.runtime.statusRead Runtime Node, Host Agent, Sandbox, Hyper-V, capability, and persisted session status without launching a backend读取 Runtime Node、Host Agent、Sandbox、Hyper-V、能力和持久化会话状态,不主动启动后端
dynamic.toolkit.statusRead Runtime Node debugger, dump, telemetry, network, .NET, and manual GUI tool inventory without launching or executing anything只读查询 Runtime Node 内调试器、dump、遥测、网络、.NET、手动 GUI 工具库存,不启动、不执行样本
dynamic.deep_planBuild an explicit deep dynamic plan for behavior, CDB breakpoints, memory dumps, ProcMon/Sysmon/ETW-style telemetry, FakeNet-style labs, .NET, anti-evasion, TTD, x64dbg, and dnSpy profiles生成显式深度动态计划,覆盖行为、CDB 断点、内存 dump、ProcMon/Sysmon/ETW 风格遥测、FakeNet 风格网络实验、.NET、反逃逸、TTD、x64dbg 和 dnSpy 方案
debug.cdb.planBuild planning-only CDB command batches and runtime.debug.command templates for API breakpoints, exception tracing, module-load stops, and dumps生成只规划不执行的 CDB 命令批次和 runtime.debug.command 模板,用于 API 断点、异常跟踪、模块加载停止和 dump
debug.procdump.planBuild planning-only ProcDump runtime.debug.command templates for crash, first-chance exception, timeout, and PID snapshot dumps生成只规划不执行的 ProcDump runtime.debug.command 模板,用于崩溃、first-chance 异常、超时和 PID 快照 dump
debug.telemetry.planBuild planning-only ProcMon, Sysmon, ETW, and event-log capture plans with cleanup and rollback guidance生成只规划不执行的 ProcMon、Sysmon、ETW 和事件日志采集方案,并包含清理和回滚要求
debug.network.planBuild planning-only proxy sinkhole, ETW DNS, and FakeNet-style network lab profiles with runtime.debug.command templates生成只规划不执行的 proxy sinkhole、ETW DNS 和 FakeNet 风格网络实验方案,并包含 runtime.debug.command 模板
debug.managed.planBuild planning-only .NET safe-run, SOS/CDB, ProcDump, resource review, and dnSpy handoff profiles生成只规划不执行的 .NET safe-run、SOS/CDB、ProcDump、资源复核和 dnSpy handoff 方案
debug.gui.handoffBuild artifact-backed x64dbg, WinDbg, and dnSpyEx manual GUI handoff notes for visible Sandbox/Hyper-V runtimes生成面向可见 Sandbox/Hyper-V runtime 的 x64dbg、WinDbg 和 dnSpyEx 手动 GUI 交接记录
dynamic.persona.planBuild a planning-only Sandbox/Hyper-V persona checklist for user files, RecentDocs, Office traces, locale, network persona, and interaction timing生成只规划不启动的 Sandbox/Hyper-V persona 清单,覆盖用户文件、RecentDocs、Office 痕迹、区域设置、网络画像和交互节奏
dynamic.behavior.diffCompare static behavior expectations against runtime observations and report confirmed, dormant, and unexpected behavior对比静态行为预期和运行时观察,报告已确认、未触发和意外行为
analysis.evidence.graphLink static artifacts, runtime observations, and corroboration edges into a compact evidence graph把静态 artifact、运行时观察和相互印证边组织成紧凑证据图
hash.resolver.planPlan API hash resolver recovery from static strings and hash-like constants without executing the sample从静态字符串和疑似 hash 常量规划 API hash resolver 恢复,不执行样本
crypto.lifecycle.graphConnect crypto findings, constants, runtime APIs, stages, and memory-region hints into a lifecycle graph把 crypto 发现、常量、运行时 API、阶段和内存区域线索连接成生命周期图
unpack.child.handoffCarve resource, raw-sample, or raw-dump payload candidates and register bounded child samples with provenance从资源、原始样本或 raw dump 中提取 payload 候选,并注册带 provenance 的 child sample
runtime.hyperv.controlQuery Hyper-V status, list/create/restore checkpoints, or stop the configured runtime VM through Host Agent通过 Host Agent 查询 Hyper-V 状态、列出/创建/恢复 checkpoint 或停止配置的运行时 VM
dynamic.behavior.captureRun bounded behavior capture inside the active Runtime Node and persist process/module/file/TCP evidence在活动 Runtime Node 中执行受限行为捕获,并持久化进程、模块、文件、TCP 证据
dynamic.memory_dumpCapture and scan runtime memory through the active runtime backend通过活动运行时后端采集并扫描内存
sandbox.executeRun bounded sandbox execution through the selected runtime backend and return execution_semantics showing live Windows Sandbox, live Hyper-V, safe simulation, or emulation通过所选运行时后端执行受限沙箱任务,并返回 execution_semantics 标明 live Windows Sandbox、live Hyper-V、safe simulation 或 emulation
runtime.debug.session.startStart or attach to a Windows Sandbox or Hyper-V VM runtime session; Hyper-V sessions accept hyperv_retention_policy values clean_rollback, stop_only, or preserve_dirty启动或附着 Windows Sandbox / Hyper-V VM 运行时会话;Hyper-V 会话可用 hyperv_retention_policy 选择 clean_rollbackstop_onlypreserve_dirty
runtime.debug.session.statusInspect Host Agent and Runtime Node health for tracked sessions查询 Host Agent、Runtime Node 和会话健康状态
runtime.debug.commandDispatch debug.session.*, sandbox.execute, behavior capture, telemetry, ProcDump, managed safe-run, or dump commands inside an active runtime session在活动运行时会话中分发 debug.session.*、sandbox.execute、行为捕获、遥测、ProcDump、managed safe-run 或转储命令
runtime.debug.session.stopRelease the runtime session and stop the selected backend when configured释放运行时会话,并按配置停止所选后端

Threat Intelligence Tools威胁情报工具

Tool工具Description描述
intel.c2.extractExtract C2 indicators提取 C2 指标
intel.ioc.exportExport IOCs (STIX/OpenIOC)导出 IOC(STIX/OpenIOC)
intel.family.classifyMalware family classification恶意软件家族分类
yara.generateAuto-generate YARA rules自动生成 YARA 规则
sigma.generateAuto-generate Sigma rules自动生成 Sigma 规则

Analysis Runtime分析运行时

The server uses persisted staged runs as the primary orchestration model. All analysis flows through a seven-stage pipeline with run-level contracts.服务器使用持久化分阶段运行作为主要编排模型。所有分析通过七阶段流水线以运行级别契约执行。

Primary Workflow主要工作流

workflow
workflow.analyze.start   → Create/reuse persisted run, execute fast_profile inline
workflow.analyze.status  → Primary progress surface for clients and AI agents
workflow.analyze.promote → Queue deeper stages without rerunning compatible work

Stage Graph阶段图

Stage阶段Backend Roles后端角色
fast_profilePE leaf tools, preview strings, Rizin, YARA, YARA-X, UPXPE 叶工具、预览字符串、Rizin、YARA、YARA-X、UPX
enrich_staticFull strings, FLOSS, capability triage, PE structure, crypto, Rust profile完整字符串、FLOSS、能力分类、PE 结构、加密、Rust 分析
function_mapGhidra deep attribution + bounded Rizin corroborationGhidra 深度归因 + 有界 Rizin 校验
reconstructReconstruct workflow + targeted RetDec and angr artifacts重建工作流 + 定向 RetDec 和 angr 产物
dynamic_planStatic behavior classification, evidence-aware deep dynamic plan, readiness probes, breakpoint planning, Qiling, PANDA静态行为分类、证据感知深度动态计划、就绪探测、断点规划、Qiling、PANDA
dynamic_executeSafe simulation first, approval-gated execution paths安全模拟优先、审批门控执行路径
summarizePersisted summary digests and report views持久化摘要和报告视图

Worker Pools & Budget Lanes工作池与预算通道

The runtime separates fast reuse from deep isolation. Execution is admitted through explicit budget lanes:运行时将快速复用与深度隔离分离。执行通过显式预算通道准入:

preview-static
enrich-static
deep-attribution
dynamic-plan
dynamic-execute
manual-execution
artifact-only

Canonical Evidence规范证据

High-cost reusable outputs are persisted as canonical evidence per sample. Evidence families include:高成本可复用输出按样本持久化为规范证据。证据系列包括:

strings
binary_role
context_link
backend_preview
summary

Analysis Coverage Boundaries分析覆盖边界

Large or expensive samples may not receive the same depth. The server reports boundaries explicitly instead of forcing clients to infer from warnings.大型或高开销样本可能不会获得相同的分析深度。服务器显式报告边界,而非迫使客户端从警告中推断。

Coverage Levels覆盖级别

Level级别Description描述
quickFirst-pass profile only仅首次画像
static_coreStatic evidence + bounded enrichment静态证据 + 有界增强
deep_staticDeep static stage completed深度静态阶段完成
reconstructionReconstruction/export boundary reached重建/导出边界已达
dynamic_verifiedDynamic verification boundary reached动态验证边界已达

Completion States完成状态

State状态Meaning含义
queuedWork has not completed yet工作尚未完成
boundedIntentionally partial result有意的部分结果
degradedA deeper stage failed or fell back更深阶段失败或回退
completedWorkflow reached its intended boundary工作流达到预期边界
partialOnly a subset of expected evidence available仅有预期证据的子集可用

Key Response Fields关键响应字段

Field字段Purpose用途
coverage_gapsNames missing, skipped, blocked, or degraded domains列出缺失、跳过、阻塞或降级的领域
known_findingsStrongest evidence-backed conclusions within current boundary当前边界内最强的证据支持结论
suspected_findingsPlausible but heuristic conclusions合理但启发式的结论
unverified_areasDomains not actually covered未实际覆盖的领域
upgrade_pathsMachine-readable next steps to close gaps机器可读的下一步操作以弥合差距

Deepening Analysis Safely安全加深分析

Use upgrade_paths instead of guessing. Common upgrades:使用 upgrade_paths 而非猜测。常见升级路径:

Missing Domain缺失领域Action操作
ghidra_analysisghidra.analyze / analysis.context.link
reconstruction_exportworkflow.reconstruct
summary_synthesisworkflow.summarize
dynamic_behaviordynamic.dependenciessandbox.execute

Async Job Pattern异步任务模式

The staged runtime uses workflow.analyze.* as the primary orchestration contract. task.status is available for low-level job inspection but is not the main workflow surface.分阶段运行时使用 workflow.analyze.* 作为主要编排契约。task.status 可用于底层任务检查但不是主要工作流界面。

Preferred Pattern推荐模式

async workflow
workflow.analyze.start(sample_id, goal='triage')
workflow.analyze.promote(run_id, through_stage='function_map')
workflow.analyze.status(run_id)

Tools That Queue Work排队工作的工具

Tool工具Notes说明
workflow.analyze.promoteQueues deeper stages排队更深阶段
ghidra.analyzeDeep attribution backend深度归因后端
workflow.deep_staticFull static pipeline完整静态流水线
workflow.reconstructSource-like code export类源码导出
strings.extract(mode='full')May return bounded preview depending on size可能根据大小返回有界预览

Polling Guidance轮询指南

When a stage is queued: (1) prefer workflow.analyze.status(run_id); (2) only use task.status(job_id) for raw job details; (3) respect polling_guidance wait recommendations.当阶段排队时:(1) 优先使用 workflow.analyze.status(run_id);(2) 仅在需要原始任务详情时用 task.status(job_id);(3) 遵守 polling_guidance 等待建议。

Large staged responses may prune historical stage payloads and report this in top-level warnings. Use artifact.read for the full artifact payload. task.status also reports external_active_* memory telemetry for analyzer subprocesses that are still running outside the queue view.大型 staged 响应可能会裁剪历史阶段结果,并在顶层 warnings 中说明。完整内容请使用 artifact.readtask.status 还会通过 external_active_* 暴露仍在队列视图之外运行的 analyzer 子进程内存遥测。