Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Reversecore MCP

OCI · GHCR.IO/SJKIM1127/REVERSECORE_MCP:3.0.4 · 2 COMPONENTS · SCANNED SEP 21

Security-first MCP server for reverse engineering, malware analysis, forensics, and SAST.

41 Trust /100
Trust breakdown (7 categories)

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 Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 1 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability82
  • 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 17187 tokens (~121/item across 141 items; 137 tools + 4 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 Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 89% of tool parameters carry a description.Partial
  • Structured output schemas are declared (99% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "cve_fuzz_target" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 138 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 2 categories

Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the Reversecore MCP server?

Reversecore MCP runs locally as a container image, launched with docker run --rm -i ghcr.io/sjkim1127/reversecore_mcp:3.0.4. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/sjkim1127/reversecore_mcp:3.0.4

# add to Claude Code
claude mcp add sjkim1127-reversecore-mcp -- docker run --rm -i ghcr.io/sjkim1127/reversecore_mcp:3.0.4
// .cursor/mcp.json
{
  "mcpServers": {
    "sjkim1127-reversecore-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "sjkim1127-reversecore-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add sjkim1127-reversecore-mcp -- docker run --rm -i ghcr.io/sjkim1127/reversecore_mcp:3.0.4
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sjkim1127-reversecore-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  sjkim1127-reversecore-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/sjkim1127/reversecore_mcp:3.0.4"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "sjkim1127-reversecore-mcp": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "sjkim1127-reversecore-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
      ]
    }
  }
}
Changelog

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.

  • 18 Sept 26 41

    First indexed and scored.

Diagnostics

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 20 Sept 2026 · Analysed oci/ghcr.io/sjkim1127/reversecore_mcp:3.0.4

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 137 exposed · ~17,131 tokens

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 →

Tool Tokens
adaptive_vaccine ~184

Generate automated defenses against detected threats. Actions: - "yara": Generate YARA detection rule - "patch": Generate binary patch (requires file_path) - "both": Generate both YARA rule and patch

NameTypeReqDescription
actionstringType of defense to generate
dry_runbooleanIf True, only preview patch without applying
file_pathPath to binary (required for "patch" action)
threat_reportobjectyesThreat information from Ghost Trace or Trinity Defense Format: { "function": "func_name", "address": "0x401000", "instruction": "cmp eax, 0xDEADBEE…
NameTypeReqDescription
resultyes

No examples provided.

analyze_heap_exploit ~491

Analyze heap corruption crashes and generate exploitation strategies. This tool bridges the gap between a raw heap crash and a practical exploit by performing: 1. **Crash Analysis**: If a crash file is provided, runs GDB triage via ``triage_crash`` to extract the crash signal, address, and backtrace. 2. **Mitigation Assessment**: Uses LIEF to detect binary protections (PIE, NX, canary, RELRO, FORTIFY) and provides bypass strategies for each. 3. **Heap Technique Selection**: Based on the overflow size, crash signal, and detected vulnerability class, selects applicable heap exploitation techniques (tcache poisoning, fastbin dup, house of spirit, etc.). 4. **Chunk Size Analysis**: Calculates the nearest glibc chunk size class and estimates the heap layout needed for exploitation. 5. **Grooming Pseudocode**: Generates pseudocode for setting up the required heap layout (grooming) for the selected technique. 6. **ROP Integration**: Checks if gadgets are available for post-exploitation code execution.

NameTypeReqDescription
crash_fileOptional path to an AFL++ crash input file. If provided, ``triage_crash`` is run to extract crash context automatically.
file_pathstringyesWorkspace-relative or absolute path to the target binary.
glibc_versionstringTarget glibc version string for technique selection. Default: ``"2.35"`` (current Ubuntu LTS).
overflow_sizeintegerEstimated heap overflow size in bytes. If ``0`` and a ``crash_file`` is provided, the tool attempts to infer the size from the crash backtrace. Default: 0.
simulate_esilbooleanIf ``True``, runs a virtual heap manager via Radare2 ESIL to trace heap layout and verify payload injection. Default: ``False``.
target_objectstringOptional name or description of the heap object being targeted (e.g., ``"file_t struct"``). Used in documentation only.
use_stdin_for_crashbooleanIf ``True``, feeds crash file to binary via stdin. If ``False``, passes as argv[1]. Default: ``True``.
NameTypeReqDescription
resultyes

No examples provided.

analyze_patch_diff_auto ~326

Automatically infer vulnerabilities from binary patch differences. This tool goes beyond structural binary diffing (``diff_binaries``, ``patch_diff_1day``) by applying a **security pattern recognition engine** to the changed functions. It answers: *"What vulnerability was fixed?"* and *"How can I exploit the old version?"* The workflow: 1. Compute overall similarity and identify the most-changed functions via ``radiff2``. 2. For each changed function, extract disassembly diffs and structural metadata (size change, basic block delta). 3. Apply 10 security patch pattern rules (bounds check added, safe API migration, null check, integer overflow, command injection, etc.). 4. Score matches by confidence and severity, generating per-function vulnerability inferences with exploitation hints. 5. Return a ranked report with CVE-style vulnerability candidates and actionable next steps.

NameTypeReqDescription
auto_infer_vulnbooleanWhen ``True`` (default), runs the pattern recognition engine on each changed function. Set to ``False`` for raw diff only.
file_path_newstringyesPath to the **post-patch** binary.
file_path_oldstringyesPath to the **pre-patch** (vulnerable) binary.
timeoutintegerTotal analysis timeout in seconds. Default: 300.
top_functionsintegerMaximum number of changed functions to analyse in detail. Higher values are slower but more thorough. Default: 10.
NameTypeReqDescription
resultyes

No examples provided.

analyze_variant_changes ~181

Analyze structural changes between two binary variants (Lineage Mapper). This tool combines binary diffing with control flow analysis to understand *how* a binary has evolved. It identifies the most modified functions and generates their Control Flow Graphs (CFG) for comparison. **Use Cases:** - **Malware Lineage**: "How did Lazarus Group modify their backdoor?" - **Patch Diffing**: "What logic changed in the vulnerable function?" - **Variant Analysis**: "Is this a new version of the same malware?"

NameTypeReqDescription
file_path_astringyesPath to the original binary
file_path_bstringyesPath to the variant binary
timeoutintegerExecution timeout in seconds
top_nintegerNumber of top changed functions to analyze in detail (default: 3)
NameTypeReqDescription
resultyes

No examples provided.

analyze_xrefs ~257

Analyze cross-references (xrefs) for a specific address using radare2. Cross-references show the relationships between code blocks - who calls this function (callers) and what it calls (callees). This is essential for: - Understanding program flow - Tracing data dependencies - Identifying attack surfaces - Reverse engineering malware C&C **xref_type Options:** - **"to"**: Show who references this address (callers/jumps TO here) - **"from"**: Show what this address references (calls/jumps FROM here) - **"all"**: Show both directions (complete relationship map)

NameTypeReqDescription
addressstringyesFunction or address to analyze (e.g., 'main', '0x401000', 'sym.decrypt')
file_pathstringyesPath to the binary file (must be in workspace)
limitintegerMaximum number of xref entries to return per direction (default: 50)
timeoutintegerExecution timeout in seconds (default: 300)
xref_typestringType of cross-references to show: 'all', 'to', 'from' (default: 'all')
NameTypeReqDescription
resultyes

No examples provided.

artifact_collect ~146

Collect and normalize forensic artifacts from analysis results. Use this tool to register artifacts discovered during memory, disk, or network analysis. Artifacts are normalized and stored for subsequent correlation with ``artifact_correlate_ioc`` and YARA rule generation via ``artifact_generate_yara``.

NameTypeReqDescription
artifact_typestringType of artifact (see ARTIFACT_TYPES for valid values).
artifactsarrayyesList of artifact dictionaries. Each should have at least a 'value' or 'name' key. Additional fields are stored as metadata.
sourcestringHuman-readable source label (e.g., 'memory_malfind', 'pcap_c2_detect').
NameTypeReqDescription
resultyes

No examples provided.

artifact_correlate_ioc ~136

Correlate collected forensic artifacts against IoC patterns. Runs IoC extraction patterns (IP, URL, hash, CVE, registry) against all artifact values to automatically enrich them with threat intelligence signals. Uses the existing ``extract_iocs`` infrastructure from the malware module.

NameTypeReqDescription
artifactsarrayyesList of normalized artifacts (from ``artifact_collect`` output).
check_domainsbooleanExtract and flag suspicious domains.
check_hashesbooleanExtract and flag file hashes (MD5/SHA1/SHA256).
check_ipsbooleanExtract and flag suspicious IP addresses.
NameTypeReqDescription
resultyes

No examples provided.

artifact_generate_yara ~125

Auto-generate YARA rules from collected forensic artifacts. Integrates with the adaptive vaccine pipeline to create detection signatures from suspicious strings, process names, network indicators, and injection patterns found during forensics analysis.

NameTypeReqDescription
artifactsarrayyesList of artifacts (from ``artifact_collect`` or ``artifact_correlate_ioc``).
output_pathOptional path to save the generated .yar rule file. If None, returns rule content only.
rule_namestringBase name for the generated YARA rule (default: 'forensics_auto').
NameTypeReqDescription
resultyes

No examples provided.

artifact_report ~127

Export a comprehensive forensics investigation report. Combines artifact collection summary, IoC correlation results, timeline, and optionally auto-generated YARA rules into a structured Markdown report.

NameTypeReqDescription
analyststringAnalyst name to include in the report header.
artifactsarrayyesAll collected and enriched artifacts from the investigation.
case_namestringName/identifier for this forensics case.
include_yarabooleanIf True, auto-generate and include YARA rules in the report.
output_pathOptional path to save the report as a Markdown file.
NameTypeReqDescription
resultyes

No examples provided.

artifact_timeline ~112

Build a chronological event timeline from multi-source forensic artifacts. Aggregates artifacts from memory, disk (MFT timestamps), and network captures into a single unified timeline, sorted by timestamp.

NameTypeReqDescription
artifactsarrayyesList of artifacts (from ``artifact_collect`` or ``artifact_correlate_ioc``). Artifacts with ``collected_at`` or timestamp fields will be sorted.
sort_orderstringSort order — 'asc' (oldest first) or 'desc' (newest first).
NameTypeReqDescription
resultyes

No examples provided.

assemble_instructions ~144

Assemble assembly instruction strings into raw machine byte values using Keystone.

NameTypeReqDescription
archstringTarget architecture (e.g., 'x86', 'arm', 'arm64', 'mips', 'sparc', 'ppc', 'systemz').
assembly_codestringyesThe assembly instruction(s) to compile (separated by newlines or semicolons).
base_addressstringBase address of instructions, useful for resolving relative offsets (hex or decimal string).
modestringTarget mode/width (e.g., '16', '32', '64' for x86; 'arm', 'thumb' for arm).
NameTypeReqDescription
resultyes

No examples provided.

audit_source_code ~144

Perform a security audit on a source code file (SAST). This tool analyzes source code (C, C++, Python, Go, etc.) to identify potential security vulnerabilities such as buffer overflows, injection flaws, and weak cryptography. It provides a structured breakdown of dangerous patterns found in the code to guide deeper manual or AI-driven analysis. Use this tool when you have access to original source code or when you want to analyze decompiled output exported to a file.

NameTypeReqDescription
file_pathstringyesPath to the source code file.
languageOptional language hint (e.g., 'c', 'python'). If None, inferred from extension.
NameTypeReqDescription
resultyes

No examples provided.

autonomous_vuln_hunt ~708

Fully autonomous end-to-end vulnerability discovery and exploit generation. Orchestrates a complete security research pipeline without manual intervention: **Phase 1 — Enumerate**: Lists all application functions via radare2 and filters out compiler stubs and import trampolines. **Phase 1.5 — Taint**: Runs ``taint_trace`` to automatically map source→sink data-flow paths (stdin/argv/recv → strcpy/system/execve). Paths reachable by angr are marked with a concrete exploit input. **Phase 2 — Hunt**: Runs ``vulnerability_hunter`` which combines static taint analysis (dangerous API detection), symbolic execution (angr), and dynamic crash triage (GDB) to confirm exploitability. **Phase 2.5 — Fuzz** (optional): When ``enable_fuzzing=True``, runs ``run_fuzzing_campaign`` (AFL++) for ``fuzzing_timeout`` seconds to discover crashes that static analysis may have missed. **Phase 3 — POC**: For every vulnerability where angr verified a concrete input and GDB confirmed a crash, automatically generates a pwntools POC script and verifies it locally. **Phase 4 — ROP**: For buffer-overflow POCs rated CONFIRMED or LIKELY, automatically enumerates gadgets (ROPgadget) and builds a ROP chain (pwntools) aimed at spawning a shell.

NameTypeReqDescription
auto_pocbooleanWhen ``True``, automatically call ``generate_poc_exploit`` for every confirmed vulnerability. Default: ``True``.
auto_ropbooleanWhen ``True``, automatically call ``build_rop_chain`` for buffer-overflow vulnerabilities whose POC is CONFIRMED or LIKELY. Default: ``True``.
enable_fuzzingbooleanWhen ``True``, run ``run_fuzzing_campaign`` (AFL++) in Phase 2.5 after vulnerability_hunter. Requires afl-fuzz on PATH. Default: ``False`` to keep default runtime predictable.
enable_taintbooleanWhen ``True`` (default), run ``taint_trace`` in Phase 1.5 to discover source→sink paths before vulnerability_hunter.
file_pathstringyesPath to the target binary inside the workspace.
fuzzing_timeoutintegerHow long to run AFL++ in Phase 2.5 (seconds). Default: 120. For meaningful coverage use 3600+ in production.
max_functionsintegerUpper bound on the number of functions to analyse. Increase for larger binaries at the cost of longer runtime. Default: 30.
objectivestringAnalysis focus. ``"full"`` analyses all vulnerability classes. Other valid values: ``"buffer_overflow"``, ``"command_injection"``, ``"format_string"``. Default: ``"full"``.
severity_filterstringMinimum severity level to include in the report. Accepted values: ``"critical"``, ``"high"`` (default), ``"medium"``, ``"all"``.
timeout_per_functionintegerSeconds allocated to ``vulnerability_hunter`` per function batch. Longer values find deeper bugs. Default: 90.
NameTypeReqDescription
resultyes

No examples provided.

build_rop_chain ~288

Automatically build a Return-Oriented Programming (ROP) exploit chain. Enumerates available ROP gadgets with ROPgadget, then uses the pwntools ``ROP`` class to construct a working chain for the specified exploit objective. Supports three strategies: spawning a shell via execve or ``system()``, returning into libc, and leaking a libc address to defeat ASLR.

NameTypeReqDescription
file_pathstringyesPath to the target binary inside the workspace.
libc_pathstringAbsolute path to the libc shared object. Required when ``objective="ret2libc"``. Ignored otherwise. Default: ``""``.
objectivestringExploit goal. One of: ``"shell"`` — call execve('/bin/sh') or plt.system('/bin/sh') (default), ``"ret2libc"`` — call libc.system('/bin/sh') (requires ``libc_path``), ``"leak_libc"`` — leak a GOT addr…
offsetintegerByte offset from the start of the input buffer to the saved return address (RIP on x86-64, EIP on x86). If ``0``, the chain is returned without padding — prepend ``b'A' * offset`` manually. Default:…
NameTypeReqDescription
resultyes

No examples provided.

complete_memory_session ~60

Mark an analysis session as completed with a summary. Use this when finishing an analysis to save a summary for future reference.

NameTypeReqDescription
session_idstringyesSession ID to complete
summarystringyesAI-generated summary of the analysis findings

Structured output declared, but exposes no named fields.

No examples provided.

copy_to_workspace ~111

Copy any accessible file to the workspace directory. This tool allows copying files from any location (including AI agent upload directories) to the workspace where other reverse engineering tools can access them. Supports files from: - Claude Desktop uploads (/mnt/user-data/uploads) - Cursor uploads - Windsurf uploads - Local file paths - Any other accessible location

NameTypeReqDescription
destination_nameOptional custom filename in workspace (defaults to original name)
source_pathstringyesAbsolute or relative path to the source file
NameTypeReqDescription
resultyes

No examples provided.

create_directory ~61

Create a new sub-directory within the workspace. This tool allows AI agents to dynamically create isolated sub-workspaces for different tasks or sessions.

NameTypeReqDescription
directory_pathstringyesRelative or absolute path of the directory to create. Must be within the workspace boundary.
NameTypeReqDescription
resultyes

No examples provided.

create_memory_session ~109

Create a new memory session to store memories. Use this when starting a new reverse engineering analysis. The session name should be descriptive and follow a template format like 'malware_analysis_2024_001' or 'game_cheat_detection'.

NameTypeReqDescription
binary_nameName of the binary being analyzed (optional)
binary_pathPath to binary for automatic hash calculation (optional)
namestringyesTemplate name for the session (e.g., 'malware_sample_001')

Structured output declared, but exposes no named fields.

No examples provided.

cve_fuzz_target ~152

Execute hybrid fuzzing campaign with Sanitizer tracking and angr concolic seed solver. Runs target fuzzer binary with AddressSanitizer, detects coverage stalls, and uses angr symbolic execution to solve magic byte constraints.

NameTypeReqDescription
corpus_dirOptional directory with seed testcases.
dictionary_pathOptional path to AFL++ dictionary file (.dict).
enable_angr_concolicbooleanWhether to trigger angr symbolic solving when stalled.
max_total_time_secondsintegerMax fuzzing duration in seconds (default: 20s).
target_binary_pathstringyesPath to compiled fuzzer binary in workspace.
timeoutMaximum execution timeout in seconds.
NameTypeReqDescription
resultyes

No examples provided.

cve_minimize_poc ~111

Minimize crash testcase payload via delta-debugging and generate standalone PoC scripts. Bsects crash input to find the smallest reproducible byte sequence, and generates standalone Python (subprocess/pwntools) and C reproduction code.

NameTypeReqDescription
binary_pathstringyesPath to target binary in workspace.
crash_input_pathstringyesPath to crash-inducing input file.
target_functionOptional target parser function name.
timeoutMaximum execution timeout in seconds.
NameTypeReqDescription
resultyes

No examples provided.

cve_synthesize_harness ~135

Synthesize LibFuzzer/AFL++ C/C++ test harness and format dictionary (.dict) for target parser. Analyzes target headers, exports, and sample files to extract candidate parser functions, magic byte signatures, and generate ready-to-compile LLVMFuzzerTestOneInput harness code.

NameTypeReqDescription
header_or_binary_pathstringyesPath to target header (.h), source (.c/.cpp), or binary.
sample_file_pathOptional path to a valid sample file to extract dictionary tokens.
target_functionOptional target function name to fuzz.
timeoutMaximum execution timeout in seconds.
NameTypeReqDescription
resultyes

No examples provided.

cve_triage_crash ~106

Triage AddressSanitizer/UBSan crash log and compute CWE and CVSS v3.1 rating. Extracts bug class (heap-buffer-overflow, UAF, double-free), faulting PC, memory access type, allocation/free/crash callstacks, and calculates CVSS score and vector.

NameTypeReqDescription
crash_log_or_textstringyesRaw ASan log text or path to crash log file.
timeoutMaximum execution timeout in seconds.
NameTypeReqDescription
resultyes

No examples provided.

deobfuscate_strings ~114

Recover dynamically constructed stack strings and emulated loop strings in a binary. Scans function basic blocks for stack stores (byte/word/dword constants) and micro-emulates tight loops (XOR/additive/rolling ciphers) to capture decrypted strings.

NameTypeReqDescription
file_pathstringyesPath to the binary file in the workspace.
function_addressOptional function offset or symbol (e.g. '0x140001000' or 'main').
timeoutMaximum execution time in seconds.
NameTypeReqDescription
resultyes

No examples provided.

detect_anti_analysis ~213

Detect anti-debugging, timing anomalies, hypervisor/anti-VM, and opaque conditionals. Performs a 4-pillar multi-pass heuristic and structural analysis: 1. Anti-Debugging: PEB (BeingDebugged, NtGlobalFlag, ProcessHeap), APIs, Traps. 2. Timing Anomaly: RDTSC/RDTSCP deltas, high-res timers, sleep acceleration. 3. Hypervisor & Anti-VM: CPUID leaf 1/0x40000000, VMware backdoor, VM MAC OUIs, drivers. 4. Opaque Conditionals: SEH/VEH manipulation, memory exhaustion loops, mathematical invariants.

NameTypeReqDescription
file_pathstringyesPath to binary file.
focus_functions(Optional) Specific function names or addresses to focus disassembly on.
timeoutintegerExecution timeout in seconds.
verify_with_esilboolean(Optional) Whether to verify candidate branches with Radare2 ESIL.
NameTypeReqDescription
resultyes

No examples provided.

detect_packer ~44

Detect packer, compiler, and protector using Shannon entropy, section heuristics, and signature matching.

NameTypeReqDescription
file_pathstringyesPath to the binary file to analyze.
NameTypeReqDescription
resultyes

No examples provided.

detect_packer_deep ~46

Deep scan combining block-level entropy, overlay analysis, section anomaly heuristics, and full signature scanning.

NameTypeReqDescription
file_pathstringyesPath to the binary file to analyze.
NameTypeReqDescription
resultyes

No examples provided.

diff_binaries ~296

Compare two binary files to identify code changes and modifications. This tool uses radiff2 to perform binary diffing, which is essential for: - **Patch Analysis (1-day Exploits)**: Compare pre-patch and post-patch binaries to identify security vulnerabilities fixed in updates - **Game Hacking**: Find offset changes after game updates to maintain functionality - **Malware Variant Analysis**: Identify code differences between malware variants (e.g., "90% similar to Lazarus malware, but C2 address generation changed") The tool provides: - Similarity score (0.0-1.0) between binaries - List of code changes with addresses and descriptions - Optional function-level comparison for targeted analysis

NameTypeReqDescription
file_path_astringyesPath to the first binary file (e.g., pre-patch version)
file_path_bstringyesPath to the second binary file (e.g., post-patch version)
function_nameOptional function name to compare (e.g., "main", "sym.decrypt"). If None, performs whole-binary comparison.
max_output_sizeintegerMaximum output size in bytes (default: 10MB)
pageinteger
page_sizeinteger
timeoutintegerTimeout in seconds (default: 300s)
top_ninteger
NameTypeReqDescription
resultyes

No examples provided.

disk_analyze_mft ~100

Analyze the NTFS Master File Table (MFT) for file timeline and metadata. Provides full filesystem metadata including file creation/modification/access times, which is critical for establishing a forensic timeline.

NameTypeReqDescription
image_pathstringyesPath to an NTFS disk or filesystem image.
limitintegerMaximum MFT entries to return (default: 500).
offsetPartition start offset in sectors (from disk_list_partition).
NameTypeReqDescription
resultyes

No examples provided.

disk_extract_file ~82

Extract a live (non-deleted) file from a disk image by inode number.

NameTypeReqDescription
image_pathstringyesPath to the disk or filesystem image file.
inodestringyesInode number of the file to extract.
offsetPartition start offset in sectors.
output_pathstringyesDestination path to write the extracted file.
NameTypeReqDescription
resultyes

No examples provided.

disk_hash_verify ~102

Compute and verify the integrity hash of a disk image or recovered file. Essential for forensic chain of custody — verifies that an image has not been tampered with since acquisition.

NameTypeReqDescription
algorithmstringHash algorithm to use ('sha256', 'sha1', 'md5'). Default: 'sha256'.
expected_hashOptional expected hash value to verify against.
image_pathstringyesPath to the disk image or file to hash.
NameTypeReqDescription
resultyes

No examples provided.

disk_list_files ~143

List all files and directories in a disk/filesystem image.

NameTypeReqDescription
directorystringDirectory path within the image to list (default: root '/').
image_pathstringyesPath to the disk or filesystem image file.
include_deletedbooleanIf True, also show deleted/unallocated files (marked with '*').
limitintegerMaximum number of entries to return (default: 1000).
offsetPartition start offset in sectors (from disk_list_partition output). Leave None if image_path is a filesystem image (not a full disk image).
recursivebooleanIf True, recursively list all subdirectories.
NameTypeReqDescription
resultyes

No examples provided.

disk_list_partition ~50

List partition layout of a disk image using Sleuth Kit mmls.

NameTypeReqDescription
image_pathstringyesPath to the raw disk image file (.img, .dd, .raw, .iso).
NameTypeReqDescription
resultyes

No examples provided.

disk_recover_deleted ~122

Recover a deleted file from a disk/filesystem image by inode number. Use ``disk_list_files`` with ``include_deleted=True`` first to find the inode number of the deleted file, then pass it to this tool.

NameTypeReqDescription
image_pathstringyesPath to the disk or filesystem image file.
inodestringyesInode number of the file to recover (from disk_list_files output).
offsetPartition start offset in sectors (from disk_list_partition).
output_pathstringyesDestination path to write the recovered file.
NameTypeReqDescription
resultyes

No examples provided.

dormant_detector ~227

Detect hidden malicious behaviors using static analysis + emulation. This tool performs a hybrid analysis: 1. **Scan**: Finds "Orphan Functions" (not called by main) and "Suspicious Logic" (magic value checks). 2. **Hypothesize**: (Optional) If `hypothesis` is provided, it sets up emulation conditions. 3. **Emulate**: (Optional) If `focus_function` is provided, it emulates that specific function to verify the hypothesis (e.g., "If register eax=0x1234, does it call system()?").

NameTypeReqDescription
file_pathstringyesPath to the binary.
focus_function(Optional) Name or address of a specific function to emulate.
hypothesis(Optional) Dictionary defining emulation parameters: { "registers": {"eax": "0x1234", "zf": "1"}, "args": ["arg1", "arg2"], "max_steps": 100 }
timeoutintegerExecution timeout.
NameTypeReqDescription
resultyes

No examples provided.

eliminate_dead_code ~105

Analyze opaque predicates and identify unreachable basic blocks in a function CFG. Detects algebraic/constant opaque predicates (e.g. zero-flag tests, constant comparisons, redundant jumps) and computes effective reachable blocks to simplify control flow analysis.

NameTypeReqDescription
file_pathstringyesPath to the binary file to analyze.
function_addressOptional target function address or name (e.g. '0x140001000').
timeoutMaximum execution time in seconds.
NameTypeReqDescription
resultyes

No examples provided.

emulate_binary ~189

Emulate the execution of a binary using the Qiling framework. Allows running PE, ELF, and Mach-O binaries under dynamic OS-level sandbox emulation. Captures register states, memory modifications, stdout/stderr, and API/syscall traces.

NameTypeReqDescription
end_addressHexadecimal or decimal address to stop emulation at (optional).
file_pathstringyesAbsolute or workspace-relative path to the binary to emulate.
mock_filesDictionary of virtual file paths and content to mock in the filesystem.
registersDictionary of initial register values to set before emulation (e.g. {"eax": 1}).
stack_inputsList of integer values to push onto the stack before starting.
start_addressHexadecimal or decimal address to start emulation from (optional).
timeoutintegerMaximum execution timeout in seconds (default is 10s).
NameTypeReqDescription
resultyes

No examples provided.

emulate_machine_code ~142

Emulate machine code execution using radare2 ESIL (Evaluable Strings Intermediate Language). This tool provides safe, sandboxed emulation of binary code without actual execution. Perfect for analyzing obfuscated code, understanding register states, and predicting execution outcomes without security risks.

NameTypeReqDescription
file_pathstringyesPath to the binary file (must be in workspace)
instructionsintegerNumber of instructions to execute (default 50, max 1000)
start_addressstringyesAddress to start emulation (e.g., 'main', '0x401000', 'sym.decrypt')
timeoutintegerExecution timeout in seconds
NameTypeReqDescription
resultyes

No examples provided.

explain_patch ~131

Analyze differences between two binaries and explain changes in natural language. This tool combines binary diffing with decompilation to help understand security patches. It identifies changed functions, decompiles them, and uses heuristics to explain the nature of the changes (e.g., "Added bounds check", "Replaced unsafe API").

NameTypeReqDescription
file_path_astringyesPath to the original binary (e.g., vulnerable version).
file_path_bstringyesPath to the modified binary (e.g., patched version).
function_nameOptional specific function to analyze. If None, analyzes top changes.
NameTypeReqDescription
resultyes

No examples provided.

extract_iocs ~240

Extract Indicators of Compromise (IOCs) from text or file using regex. This tool automatically finds and extracts potential IOCs like IP addresses, URLs, and email addresses from any text input (e.g., strings output, decompiled code, logs).

NameTypeReqDescription
extract_bitcoinbooleanWhether to extract Bitcoin addresses (default: True)
extract_emailsbooleanWhether to extract email addresses (default: True)
extract_hashesbooleanWhether to extract MD5/SHA1/SHA256 hashes (default: True)
extract_ipsbooleanWhether to extract IPv4 addresses (default: True)
extract_othersbooleanWhether to extract CVEs, Registry keys, MAC addresses (default: True)
extract_urlsbooleanWhether to extract URLs (default: True)
file_pathstringAlternative: path to a file to extract IOCs from
limitintegerMaximum number of IOCs to return per category (default: 100)
textstringThe text to analyze for IOCs (can also be a file path)
NameTypeReqDescription
resultyes

No examples provided.

extract_rtti_info ~75

Extract RTTI (Run-Time Type Information) from C++ binaries. RTTI provides class names and inheritance hierarchies in C++ binaries, which is invaluable for understanding object-oriented malware and game clients.

NameTypeReqDescription
file_pathstringyesPath to the binary file
timeoutintegerExecution timeout in seconds
NameTypeReqDescription
resultyes

No examples provided.

find_similar_patterns ~83

Find similar patterns from previous analyses. Use this to check if current findings match anything from past analyses. Enables knowledge transfer across projects.

NameTypeReqDescription
current_session_idExclude current session from results
limitintegerMaximum results
pattern_signaturestringyesPattern to search for
pattern_typeLimit to specific type (optional)

Structured output declared, but exposes no named fields.

No examples provided.

generate_advanced_yara_rule ~116

Generate an advanced YARA rule based on radare2 disassembly opcodes. This masks offsets in CALL/JMP instructions to reduce false positives.

NameTypeReqDescription
addressstringyesStart address
file_pathstringyesPath to the binary
mask_operandsbooleanWhether to mask CALL/JMP operands
num_instructionsintegerNumber of instructions to process
rule_namestringName of the generated YARA rule
timeoutintegerExecution timeout
NameTypeReqDescription
resultyes

No examples provided.

generate_enhanced_yara_rule ~321

Generate an enhanced YARA rule with structural conditions to reduce false positives. This function creates YARA rules that combine: - String patterns (required) - Structural conditions (PE characteristics, file size) - Import table checks (optional) - Section name checks (optional) - Entry point patterns (optional) **Why Enhanced Rules?** Simple string-only rules cause high false positive rates. By adding structural conditions, rules become more precise and suitable for production use.

NameTypeReqDescription
authorstringRule author for metadata
descriptionstringRule description for metadata
entry_point_patternHex pattern at entry point (optional)
file_pathstringyesPath to reference binary (for metadata extraction)
file_typestringTarget file type - "PE" or "ELF" (default: "PE")
importsList of imported functions to check (e.g., ["CryptEncrypt", "WriteFile"])
max_filesizeMaximum file size in bytes (optional)
min_filesizeMinimum file size in bytes (optional)
min_string_matchesMinimum number of strings that must match (default: 2/3 of total)
rule_namestringyesName for the YARA rule
section_namesRequired section names (e.g., [".rsrc", ".text"])
stringsarrayyesList of strings to include in the rule
tagsList of tags to attach to the YARA rule (optional)
NameTypeReqDescription
resultyes

No examples provided.

generate_function_graph ~148

Generate a Control Flow Graph (CFG) for a specific function. This tool uses radare2 to analyze the function structure and returns a visualization code (Mermaid by default) or PNG image that helps AI understand the code flow without reading thousands of lines of assembly.

NameTypeReqDescription
file_pathstringyesPath to the binary file (must be in workspace)
formatstringOutput format ('mermaid', 'json', 'dot', or 'png'). Default is 'mermaid'.
function_addressstringyesFunction address (e.g., 'main', '0x140001000', 'sym.foo')
timeoutintegerExecution timeout in seconds

No output schema declared.

No examples provided.

generate_fuzzing_harness ~147

Generate a dynamic fuzzing harness (Qiling + AFL++) for a vulnerable function. Instead of running a heavy fuzzer within the MCP server, this tool generates a ready-to-use Python script that the user can run with AFL++ to prove vulnerability exploitability.

NameTypeReqDescription
file_pathstringyesPath to the vulnerable binary.
fuzzer_typestringThe type of harness to generate (default: "qiling").
save_to_workspacebooleanIf True, saves the generated harness to the workspace.
target_function_or_addrstringyesThe function name or hex address to fuzz (e.g. 0x401234).
NameTypeReqDescription
resultyes

No examples provided.

generate_poc_exploit ~238

Generate and verify a pwntools proof-of-concept exploit script. Converts the output of ``vulnerability_hunter`` (symbolic execution concrete input + crash metadata) into a runnable Python POC script using pwntools. Automatically verifies the POC by executing it against the binary and checking for fatal crash signals.

NameTypeReqDescription
concrete_inputstringRaw exploit input bytes as a string — typically the ``concrete_input`` field from ``vulnerability_hunter`` output. If empty, a cyclic De Bruijn sequence is used for offset discovery.
crash_offsetintegerByte offset from the start of the input buffer to the saved return address (RIP/EIP). Set to 0 if unknown — the generated script will use ``cyclic()`` to probe for it. Default: 0.
file_pathstringyesPath to the target binary inside the workspace.
vulnerability_classstringCategory of vulnerability to exploit. Supported values: ``"buffer_overflow"`` (default), ``"format_string"``, ``"command_injection"``.
NameTypeReqDescription
resultyes

No examples provided.

generate_signature ~227

Generate a YARA signature from opcode bytes at a specific address. This tool extracts opcode bytes from a function or code section and formats them as a YARA rule, enabling automated malware detection. It attempts to mask variable values (addresses, offsets) to create more flexible signatures. **Use Cases:** - Generate detection signatures for malware samples - Create YARA rules for threat hunting - Automate IOC (Indicator of Compromise) generation - Build malware family signatures **Workflow:** 1. Extract opcode bytes from specified address 2. Apply basic masking for variable values (optional) 3. Format as YARA rule template 4. Return ready-to-use YARA rule

NameTypeReqDescription
addressstringyesStart address for signature extraction (e.g., 'main', '0x401000')
file_pathstringyesPath to the binary file (must be in workspace)
lengthintegerNumber of bytes to extract (default 32, recommended 16-64)
timeoutintegerExecution timeout in seconds (default 300)
NameTypeReqDescription
resultyes

No examples provided.

generate_yara_rule ~144

Generate a YARA rule from function bytes. This tool extracts bytes from a function and generates a ready-to-use YARA rule for malware detection and threat hunting.

NameTypeReqDescription
byte_lengthintegerNumber of bytes to extract (default 64, max 1024)
file_pathstringyesPath to the binary file (must be in workspace)
function_addressstringyesFunction address to extract bytes from (e.g., 'main', '0x401000')
rule_namestringName for the YARA rule (default 'auto_generated_rule')
timeoutintegerExecution timeout in seconds (default 300)
NameTypeReqDescription
resultyes

No examples provided.

get_job_result ~39

Retrieve the status and result of a background job from the task queue.

NameTypeReqDescription
job_idstringyesThe ID of the queued job to check.
NameTypeReqDescription
resultyes

No examples provided.

get_memory_session_detail ~54

Get complete details and context for a specific session. Use this when resuming an analysis or reviewing past work. Returns all memories and patterns associated with the session.

NameTypeReqDescription
session_idstringyesSession ID to retrieve

Structured output declared, but exposes no named fields.

No examples provided.

Common questions

What is the Reversecore MCP server?

Reversecore MCP is listed in the public MCP registry as io.github.sjkim1127/reversecore-mcp. Security-first MCP server for reverse engineering, malware analysis, forensics, and SAST. This page covers its container image (ghcr.io/sjkim1127/reversecore_mcp:3.0.4).

Is the Reversecore MCP server safe to use?

Reversecore MCP scores 41 out of 100 on VerifyMCP. 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 Reversecore MCP server expose?

Reversecore MCP exposes 137 tools: generate_advanced_yara_rule, diff_binaries, analyze_variant_changes, match_libraries, patch_diff_1day, and 132 more. Their descriptions and schemas cost roughly 17,131 tokens of context every time the server is loaded.

Is the Reversecore MCP server still maintained?

Reversecore MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 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 Reversecore MCP server under?

Reversecore MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.