Corvus
NUGET · CORVUSRE
Reverse engineering and security analysis of .NET and native binaries: decompile, compare, patch.
Available components
Last scanned (16 hours ago)
Scores higher than 57% of NuGet servers
Category Developer Tools
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security88
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Install-script risk not yet assessed.Unverified
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Build provenance not yet verified. View diagnostics → Unverified
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 0 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability73
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 28245 tokens (~170/item across 166 items; 165 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management67
- Stability check failed: the tool surface changed between 2.3.0 and 2.11.0: 4 tool removals, 0 breaking changes, 13 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 167 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Checks we ran (14)
- Malware scan
- Known CVEs
- Dependency health
- Source repository
- License
- Maintenance
- Security disclosure
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Checks we could not complete (2)
These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.
- Install scripts in Supply Chain SecurityInstall-script risk not yet assessed.
- Provenance in Provenance & TransparencyBuild provenance not yet verified.
Does not apply to this package (2)
- Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
- Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
- Stability: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Tool coverage: 81% → 100% ▲ functional
- Package version: 2.10.0 → 2.11.0 functional
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 61 to 64.
- 3 Nov 26 +1
- Package version: 2.7.3 → 2.10.0 functional
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 51.
- 29 Oct 26 +1
- Stability: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Package version: 2.7.2 → 2.7.3 functional
- 28 Oct 26 +15
- Stability: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Malware scan: unverified → pass ▲ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Package version: 2.7.0 → 2.7.2 functional
- Package version: 2.7.0 → 2.7.1 functional
- 27 Oct 26 −14
- Malware scan: pass → unverified ▼ security
- Stability: 0.37 → fail ▼ security
- Schema quality: 182 → 163 ▲ functional
- Package version: 2.6.0 → 2.7.0 functional
- 25 Oct 26 0
- Tool safety: pass → unverified ▼ security
- Stability: 0.30 → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Licence: MIT → Apache-2.0 functional
- Package version: 2.5.1 → 2.6.0 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed nuget/CorvusRE@2.11.0
Provenance Inconclusive
We could not complete the check, so nothing is claimed either way. This is a gap on our side, not a finding about the package.
| Result | Inconclusive |
|---|---|
| Ecosystem | nuget |
| Reason | Package not fetched |
Background: How many MCP packages publish verified provenance →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
search_native_strings Search native strings ~184
Strings referenced by code or data of a native image, with address, reference count and first referencing function. Metadata literals appear after apply_metadata_names; an engine adds unreferenced strings. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| engine | string | – | auto (default): IDA or Ghidra if analyzed, else ours. |
| image | string | yes | Image id, name, path. |
| limit | integer | – | Max rows. |
| maxLength | integer | – | Characters per string (max 4000); longer ones are clipped. |
| maxTokens | integer | – | Page size in tokens. |
| offset | integer | – | Rows to skip. |
| query | string | – | Case-insensitive substring, or regex (regex=true, or /pattern/: always a regex; regex=true keeps the slashes); omit for all. |
| regex | boolean | – | query is a regex. |
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | – | – |
| items | array | – | – |
| notEvaluated | integer | – | – |
No examples provided.
search_pdb_symbols Search native debug symbols ~115
Search the PDB or DWARF symbols loaded for a native image: address, kind, size, name, signature, object file.
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | yes | Image id, name, path. |
| kind | string | – | Only this kind (default all). |
| limit | integer | – | Max rows. |
| maxTokens | integer | – | Page size in tokens. |
| offset | integer | – | Rows to skip. |
| query | string | – | Name or decorated name substring (case-insensitive); empty for all. |
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | – | – |
| items | array | – | – |
No examples provided.
search_strings Search string literals ~143
Find string literals (ldstr, string constants) by substring, wildcard or regex, with each user's method and IL offset. Dummy assemblies: literals with slot RVAs and, with the binary, the functions loading them.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | – | Assembly id, name, path; omit: all. |
| limit | integer | – | Max rows. |
| maxTokens | integer | – | Page size in tokens. |
| offset | integer | – | Rows to skip. |
| query | string | yes | Substring, wildcard, regex or /pattern/. |
| regex | boolean | – | query is a regex. |
| usesPerLiteral | integer | – | Dummy assemblies: max functions per literal. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | – | – |
| notEvaluated | integer | – | – |
No examples provided.
search_symbols Search symbols by name ~154
Find types and members by name in loaded assemblies: case-insensitive substring, wildcard (Get*Value?) or regex; queries with . or :: match full names. Exact matches first, then by name length, assembly and token.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | – | Assembly id, name, path; omit: all. |
| kind | string | – | Restrict to this kind. |
| limit | integer | – | Max rows. |
| maxTokens | integer | – | Page size in tokens. |
| namespace | string | – | Only namespaces starting with this. |
| offset | integer | – | Rows to skip. |
| query | string | yes | Name, substring, wildcard, regex or /pattern/. |
| regex | boolean | – | query is a regex. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | – | – |
| notEvaluated | integer | – | – |
No examples provided.
server_status Server status ~71
Version, program, client, catalog digest, loaded files, limits, capabilities with fixes and unusable tools. expectedCatalogDigest detects a stale server; expectedExecutable checks the registered copy.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedCatalogDigest | string | – | Catalog digest to compare. |
| expectedExecutable | string | – | Registered server path to compare. |
| Name | Type | Req | Description |
|---|---|---|---|
| actionNotes | array | – | – |
| backgroundIndexing | string | – | – |
| capabilities | array | – | – |
| catalogDifference | string | – | – |
| catalogDigest | string | – | – |
| catalogMatches | boolean | – | – |
| client | object | – | – |
| engineSessions | array | – | – |
| engineTimeLimits | object | – | – |
| executable | string | – | – |
| executableMatches | boolean | – | – |
| informationalVersion | string | – | – |
| installKind | string | – | – |
| loadedAssemblies | integer | – | – |
| longRunningTools | array | – | – |
| protocolVersion | string | – | – |
| sections | array | – | – |
| server | string | – | – |
| startedAt | string | – | – |
| tools | integer | – | – |
| toolsFileAndTrace | object | – | – |
| toolsets | array | – | – |
| unavailableTools | array | – | – |
| uptimeSeconds | integer | – | – |
| version | string | – | – |
| workingSetMB | integer | – | – |
No examples provided.
set_native_local Rename or retype a decompiler local ~271
Rename or retype a native pseudocode local or argument as decompile_native names it (v3, a1) or stack:0x28. The first name or clear drops the edit; a type that does not fit is refused. Kept in annotations. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| clear | boolean | – | Drop the user name and type. |
| engine | string | – | Default auto. |
| function | string | yes | Hex VA/RVA (rva:/va:/off:), export, module!import, function. |
| image | string | yes | Image id, name, path. |
| inferStruct | string | – | Ghidra: declare this struct from the local's accesses; the local points to it. |
| items | string | – | Instead: lines local = newName, or JSON [{local, newName?, type?, clear?}]. |
| local | string | – | The variable: its pseudocode name, or stack:OFFSET (hex). |
| newName | string | – | New name (a C identifier). |
| showDecompile | string | – | after: pseudocode after the edit; diff: its unified diff. |
| storage | string | – | Move an argument to this register; auto: where the convention puts it. |
| type | string | – | New C type. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| changes | array | – | – |
| digest | string | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| failed | integer | – | – |
No examples provided.
set_native_operand Set how an operand displays ~163
Set how an instruction operand displays in engine disassembly and pseudocode. Kept in annotations. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Hex VA/RVA (rva:/va:/off:), export, module!import, function. |
| display | string | – | offset: an address; struct: IDA only. |
| engine | string | – | Default auto. |
| image | string | yes | Image id, name, path. |
| items | string | – | Instead: lines address operand display [type], or JSON [{address, operand, display, type?}]. |
| operand | integer | – | Operand index, 0 for the first. |
| type | string | – | display=enum or struct: the type name (struct: optionally +delta). |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| changes | array | – | – |
| digest | string | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| failed | integer | – | – |
No examples provided.
set_native_stack_var Rename, retype or delete a stack variable ~227
Rename, retype or delete a stack frame member; a type at an empty offset creates one. Return address and saved registers are refused. Kept in annotations. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| clear | boolean | – | Drop the user edit, restoring the engine member. |
| delete | boolean | – | Delete the member. |
| engine | string | – | Default auto. |
| function | string | yes | Hex VA/RVA (rva:/va:/off:), export, module!import, function. |
| image | string | yes | Image id, name, path. |
| items | string | – | Instead: lines member = newName, or JSON [{variable, newName?, type?, delete?, clear?}]. |
| newName | string | – | New name (a C identifier). |
| showDecompile | string | – | after: pseudocode after the edit; diff: its unified diff. |
| type | string | – | New C type. |
| variable | string | – | The member: get_native_frame name (var_28) or frame offset (hex, from the lowest address). |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| changes | array | – | – |
| digest | string | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| failed | integer | – | – |
No examples provided.
set_native_type Set a native prototype or global type ~200
Set a native function prototype or a global's C type in the engine; named types must exist there. __noreturn ends caller flow at the call. Kept in annotations. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | Hex VA/RVA (rva:/va:/off:), export, module!import, function. |
| engine | string | – | Default auto. |
| guess | boolean | – | Report the engine guess at address, not applied. |
| image | string | yes | Image id, name, path. |
| items | string | – | Instead of address and type: lines address = type. |
| rename | boolean | – | Name the function as its prototype does. |
| showDecompile | string | – | after: pseudocode after the edit; diff: its unified diff. |
| type | string | – | C prototype (int __fastcall Parse(Packet *p, int len)) or global type (Handler *[8]); empty clears. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| changes | array | – | – |
| digest | string | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| failed | integer | – | – |
No examples provided.
simplify_methods Simplify method bodies ~189
Clean transformed method bodies: fold (string decoders run in a safe IL interpreter), cfg (constant branches, flattened control flow), inline (forwarders, call proxies). What is left has a reason code (docs/simplify.md). [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | – | Assembly id, name, path; omit: all. Required without symbol. |
| budget | integer | – | Max IL instructions per evaluated call, nested calls included. |
| deterministicEnvironment | boolean | – | Fold machine reads (paths, environment, names) against fixed stand-ins. |
| dryRun | boolean | – | true previews; false applies. |
| maxDepth | integer | – | Max evaluation call depth. |
| passes | array | – | Passes to run; omit for all three. |
| symbol | string | – | Method or type (nested included): Ns.Type::M(int), name or token; omit: whole assembly. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| changes | array | – | – |
| digest | string | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| failed | integer | – | – |
No examples provided.
stub_method Stub method (return constant) ~125
Replace a method body with "return <value>;" ("return;" for void) in memory: force a check true, disable a call.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | – | Assembly id, name, path; omit: all. |
| dryRun | boolean | – | true previews; false applies. |
| method | string | yes | Ns.Type, Ns.Outer+Inner, Ns.Type::Method(int), name or token. |
| value | string | – | true/false, integer (decimal or 0x), float, "string" or null; omit for void or default(T). |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| changes | array | – | – |
| digest | string | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| failed | integer | – | – |
No examples provided.
summarize_build Build summary ~102
Summarize an application build without loading it: engine version, scripting backend (aot or mono), metadata version, platform, architecture and next calls.
| Name | Type | Req | Description |
|---|---|---|---|
| detectItEasy | boolean | – | Also run Detect It Easy (CORVUS_DIE or PATH) on the main binaries; about 1 s each. |
| path | string | yes | Folder, executable, *_Data, global-metadata.dat or package (.apk, .ipa, .app, zip). |
| Name | Type | Req | Description |
|---|---|---|---|
| appDirectory | string | – | – |
| architecture | string | – | – |
| architectureSource | string | – | – |
| backend | object | – | – |
| company | string | – | – |
| dataDirectory | string | – | – |
| engine | object | – | – |
| executable | string | – | – |
| folders | array | – | – |
| input | string | – | – |
| markers | array | – | – |
| nextSteps | array | – | – |
| notes | array | – | – |
| platform | string | – | – |
| product | string | – | – |
No examples provided.
summarize_file Summarize file ~237
Summarize a file, folder or assembly, never run: type, hashes, signature, containers, assemblies, entry points. view= opens one aspect.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | – | A loaded assembly; this or path. |
| columns | array | – | With table=: these columns and rowid. |
| limit | integer | – | Max rows. |
| offset | integer | – | Rows to skip. |
| overwrite | boolean | – | Overwrite either file. |
| password | string | – | Password to decrypt with; only it is tried. |
| path | string | – | A file or folder. |
| sbomPath | string | – | Write dependencies here, CycloneDX 1.6. |
| script | string | – | assets: assets of this script class. |
| stixPath | string | – | Write findings here, STIX 2.1. |
| table | string | – | Table; lmdb, berkeleydb: database; evtx: provider/id; procmon: process/PID/operation/result; registry: key; pri: name; esp32: namespace. |
| view | string | – | A view the overview lists. |
| Name | Type | Req | Description |
|---|---|---|---|
| assemblies | array | – | – |
| capa | object | – | – |
| container | string | – | – |
| detail | object | – | – |
| entropy | number | – | – |
| entryPoints | array | – | – |
| findingTotal | integer | – | – |
| findings | array | – | – |
| highlightTotal | integer | – | – |
| highlights | array | – | – |
| level | string | – | – |
| md5 | string | – | – |
| path | string | – | – |
| ruleTable | string | – | – |
| sha1 | string | – | – |
| sha256 | string | – | – |
| signature | string | – | – |
| size | integer | – | – |
| type | string | – | – |
| values | object | – | – |
| view | string | – | – |
| views | array | – | – |
No examples provided.
survey_features Survey features ~162
Capabilities by rules over calls, imports and strings; category= adds evidence. Apps add MASVS findings; category=capa adds labels (CORVUS_CAPA): waitSeconds waits, cancel stops it.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | – | A loaded assembly; this or path. |
| cancel | boolean | – | Stop the capa run. |
| category | string | – | Category or MASVS prefix; all: everything. |
| image | string | – | A native image or path (instead of assembly). |
| locations | integer | – | Locations per entry, 1-100; default 5. |
| path | string | – | A .NET, native or app file, not loaded. |
| waitSeconds | integer | – | Seconds to wait for capa, 0-600. |
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | – | – |
| category | string | – | – |
| features | array | – | – |
| methodsScanned | integer | – | – |
No examples provided.
symbolize_stack_text Symbolize crash text ~216
Resolve crash text (logs, .NET exceptions, WER reports, Event Log entries, debugger stacks, Android tombstones) against the loaded builds. Each frame gets a name, a build check and the C# statement at an IL offset. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| allFrames | boolean | – | One row per frame; default folds 3+ matching native frames of an image. |
| format | string | – | Text format (auto detects it). |
| images | string | – | Image ids or paths, ;-separated; default all loaded. |
| limit | integer | – | Max rows. |
| maxTokens | integer | – | Page size in tokens. |
| moduleBases | string | – | Module load addresses (name=0xBASE;...) when the text has no module list. |
| offset | integer | – | Rows to skip. |
| path | string | – | A log or report file; its last 8 MiB are read. |
| text | string | – | Crash text (up to 1 MiB); this or path. |
| Name | Type | Req | Description |
|---|---|---|---|
| exception | object | – | – |
| format | string | – | – |
| frames | integer | – | – |
| items | array | – | – |
| modulesMissing | array | – | – |
| notes | array | – | – |
| unrecognizedLines | integer | – | – |
| unrecognizedSample | array | – | – |
No examples provided.
trace_native_feature Trace a native feature ~219
Find the native functions behind a behaviour: strings, names, imports, exports, classes and constants matching query lead to their references, ranked by function, with the callers that reach several. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| callerDepth | integer | – | Caller levels searched for hubs (0-3). |
| engine | string | – | auto (default): IDA or Ghidra if analyzed, else ours. |
| image | string | yes | Image id, name, path. |
| kinds | string | – | Comma-separated: strings, names, imports, exports, classes, constants (default all). |
| limit | integer | – | Functions per page (max 500). |
| maxSeeds | integer | – | Matches followed (1-500); the rest are counted. |
| maxTokens | integer | – | Page size in tokens. |
| offset | integer | – | Rows to skip. |
| query | string | yes | Case-insensitive substring ("quoted": exact), or a regex with regex=true or written /pattern/. |
| regex | boolean | – | query is a regex. |
| Name | Type | Req | Description |
|---|---|---|---|
| functions | array | – | – |
| hubs | array | – | – |
| image | string | – | – |
| nextOffset | integer | – | – |
| notes | array | – | – |
| offset | integer | – | – |
| query | string | – | – |
| seeds | array | – | – |
| totalFunctions | integer | – | – |
| totalSeeds | integer | – | – |
No examples provided.
trace_native_values Native value trace ~364
Trace a value through native code across functions and images: backward to the constants, strings, pointers and API results that reach it, or forward to its uses. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | An instruction, call, function start (with argument) or writable global: Hex VA/RVA (rva:/va:/off:), export, module!import, function. |
| argument | string | – | Argument of the call or parameter of the function at address: 1-based or API name. |
| direction | string | – | backward (default): values reaching it; forward: its uses. |
| engine | string | – | Slice engine (default auto: an engine that analyzed the image, else ours). |
| image | string | yes | Image id, name, path. |
| limit | integer | – | Nodes per page (max 1000). |
| location | string | – | Value at address: register (rdx, xmm1, x1), stack slot ([rsp+28h], [x29-8]), op1 / op2 (operand) or result (call return). |
| maxCallers | integer | – | Call sites bound per parameter or return (1-256). |
| maxDepth | integer | – | Function boundaries to cross (0-8). |
| maxFunctions | integer | – | Functions to slice (1-256). |
| maxNodes | integer | – | Nodes in the graph (1-5000). |
| maxTokens | integer | – | Page size in tokens. |
| maxWriters | integer | – | Writers (backward) or readers (forward) per global (1-256). |
| offset | integer | – | Rows to skip. |
| stopAtGlobals | boolean | – | Stop at writable globals instead of following writers / readers. |
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | – | – |
| edges | array | – | – |
| engine | string | – | – |
| frontier | array | – | – |
| functions | integer | – | – |
| image | string | – | – |
| nodes | array | – | – |
| notes | array | – | – |
| offset | integer | – | – |
| pendingEdges | array | – | – |
| seed | object | – | – |
| totalEdges | integer | – | – |
| totalNodes | integer | – | – |
| truncated | boolean | – | – |
| values | array | – | – |
No examples provided.
undo_edit Undo an edit ~73
Undo the last edit or one by number: the others are replayed on the original image; a conflict changes nothing. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | yes | Assembly id, name, path. |
| number | integer | – | Edit number from list_edits (#n of its editId); omit for the last. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| changes | array | – | – |
| digest | string | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| failed | integer | – | – |
No examples provided.
undo_native_edit Undo a native edit ~85
Undo native edits by editId, the last by default, and push the previous values to the engines. Refused while a later edit changed the same item. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| editId | string | – | image#n or #n; comma-separated for several, undone in order; default the last. |
| image | string | yes | Image id, name, path. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| changes | array | – | – |
| digest | string | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| failed | integer | – | – |
| items | array | – | – |
| pushedTo | array | – | – |
No examples provided.
uninstall_android_package Uninstall package from device ~70
Remove an app (and its data unless keepData) from a device; needs --allow-device-changes.
| Name | Type | Req | Description |
|---|---|---|---|
| keepData | boolean | – | Keep app data and cache. |
| package | string | yes | Package (com.example.app). |
| serial | string | – | Device serial; omit if one device. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| changes | array | – | – |
| digest | string | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| failed | integer | – | – |
| items | array | – | – |
| pushedTo | array | – | – |
No examples provided.
unload_assembly Unload assembly ~38
Remove an assembly, discarding unsaved edits, or close a dump id.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | yes | Assembly id, name, path. |
| Name | Type | Req | Description |
|---|---|---|---|
| discardedEdits | integer | – | – |
| ids | array | – | – |
No examples provided.
unpack_container Extract container ~263
Extract a container, load its .NET assemblies: single-file bundles, Costura, .nupkg, .apk, .aab, zips, .asar, captures (HAR, pcap), JS bundles with source maps, single compressed streams. Nothing runs; runnable and shell-parsed names get .bin. algorithm: cipher dry run. A repeat call pages the kept report. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | – | aes-128 or blowfish. |
| extractOnly | boolean | – | Extract without loading; ids are in loadedAs. |
| keyLog | string | – | TLS key log (SSLKEYLOGFILE) to decrypt a pcap. |
| limit | integer | – | Max rows. |
| mode | string | – | ecb (default) or cbc. |
| offset | integer | – | Rows to skip. |
| outputDirectory | string | – | Empty directory or earlier extract; default: temp. |
| parameterFile | string | – | JSON: key, iv, expected (hex), direction, padding, offset, length. |
| password | string | – | Password of encrypted zip, 7z, RAR, PDF, Office document; only it is tried. |
| path | string | yes | Container file, Blazor or ClickOnce folder. |
| Name | Type | Req | Description |
|---|---|---|---|
| container | string | – | – |
| items | array | – | – |
| next | object | – | – |
| outputDirectory | string | – | – |
| source | string | – | – |
| transform | object | – | – |
No examples provided.
update_note Update a note ~189
Change a note's status, kind, text, tags or evidence. verify=true re-checks linked records and sets a hypothesis confirmed or refuted; a stale expectedRevision is a conflict.
| Name | Type | Req | Description |
|---|---|---|---|
| addEvidence | array | – | At most 10: {result: r-... or last:N, expect: supports|refutes}, {tool, args} of a call made here, or {text}. |
| addTags | array | – | Tags to add. |
| appendText | string | – | Text appended on a new line. |
| expectedRevision | integer | yes | The revision last read. |
| id | string | yes | Note id. |
| kind | string | – | New kind. |
| removeTags | array | – | Tags to remove. |
| status | string | – | New status. |
| text | string | – | Replacement text. |
| verify | boolean | – | Re-check linked records after the other changes. |
| Name | Type | Req | Description |
|---|---|---|---|
| anchor | object | – | – |
| author | string | – | – |
| created | string | – | – |
| evidence | array | – | – |
| id | string | – | – |
| kind | string | – | – |
| origin | string | – | – |
| revision | integer | – | – |
| status | string | – | – |
| tags | array | – | – |
| text | string | – | – |
| updated | string | – | – |
No examples provided.
update_to_new_build Update work to a new build ~261
Carry names, comments, types, name layers, patches, code patterns and notes from an old native build to a new one by one function match. Re-runs report already_present; .NET pairs carry notes only. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Only items of this category. |
| codeOnly | boolean | – | Match by code, not names. |
| dryRun | boolean | – | true previews; false applies. |
| include | array | – | Categories to carry (default all). |
| limit | integer | – | Max rows. |
| maxPatterns | integer | – | Most code patterns made (0-1000). |
| maxTokens | integer | – | Page size in tokens. |
| newImage | string | yes | New build: image id or path. |
| newMetadata | array | – | Dummy assemblies, new build. |
| offset | integer | – | Rows to skip. |
| oldImage | string | yes | Old build: image id or path. |
| oldMetadata | array | – | Dummy assemblies, old build. |
| outcome | string | – | Only items with this outcome. |
| patchSet | string | – | Patch set (export_native_patches json): text or path. |
| stubPlacement | string | – | Placement of re-created patch stubs. |
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array | – | – |
| dryRun | boolean | – | – |
| editIds | array | – | – |
| functionsMatched | integer | – | – |
| included | array | – | – |
| items | array | – | – |
| methodMapping | object | – | – |
| newFunctions | integer | – | – |
| newImage | string | – | – |
| notes | array | – | – |
| oldFunctions | integer | – | – |
| oldImage | string | – | – |
| summary | string | – | – |
No examples provided.
verify_native_imports Verify native imports ~133
Check P/Invoke declarations, PE imports or Mach-O load commands against library exports as the loader resolves them. Verdicts: verified, contradicted, unresolved, dynamic_only, not_checked. [Long-running.]
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | yes | Assembly id, name, path. |
| limit | integer | – | Max rows (max 5000). |
| maxTokens | integer | – | Page size in tokens. |
| offset | integer | – | Rows to skip. |
| platform | string | – | Target platform (default auto). |
| status | string | – | Only this verdict or reason (contradicted, missing_export...). |
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | – | – |
| counts | array | – | – |
| declarations | integer | – | – |
| dynamicLoads | array | – | – |
| dynamicLoadsTotal | integer | – | – |
| filter | string | – | – |
| items | array | – | – |
| metadataIssues | array | – | – |
| notes | array | – | – |
No examples provided.
How do I install the Corvus MCP server?
Corvus runs locally as a NuGet package, launched with dnx CorvusRE@2.11.0 --yes. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
nuget · CorvusRE
claude mcp add albasha0x0-corvus -- dnx CorvusRE@2.11.0 --yes
What is the Corvus MCP server?
Corvus is an MCP server listed in the public MCP registry as io.github.Albasha0x0/corvus. Reverse engineering and security analysis of .NET and native binaries: decompile, compare, patch. This page covers its NuGet package (CorvusRE).
Is the Corvus MCP server safe to use?
Corvus scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Corvus MCP server expose?
Corvus exposes 165 tools: get_engine_status, export_edits, list_types, resolve_call_targets, search_constants, and 160 more. Their descriptions and schemas cost roughly 27,723 tokens of context every time the server is loaded.
Is the Corvus MCP server still maintained?
Corvus is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Corvus MCP server under?
Corvus declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.
What did VerifyMCP test on the Corvus MCP server?
VerifyMCP ran 14 checks on Corvus, covering Malware scan, Known CVEs, Dependency health, Source repository and 10 more. 2 items could not be completed, a gap on our side rather than a finding about Corvus: Install scripts and Provenance. Endpoint Security and Transport & Reachability do not apply to a NuGet package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.