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 · 2 COMPONENTS

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

0 this week 55 Trust /100

Last scanned (8 hours ago)

Scores higher than 93% of OCI servers

Category Security

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
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: this image's dependency list comes from an SBOM its publisher attached, which nothing verifies, so we will not report it as a clean result. View diagnostics → Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this image's dependency list comes from an SBOM its publisher attached. It names packages and versions but not whether each is deprecated, still maintained or linked to its source, so there is nothing we can fairly grade.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 38 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 18370 tokens (~118/item across 155 items; 151 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 Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 90% 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 152 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: 1 category

A category scored 0 because we could not verify it: 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.

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.

  • 28 Oct 26 +1
    • Stability: 0.97 → pass security
  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 22 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Oct 26 +8
    • Stability: unverified → 0.63 ▲ functional
  • 28 Sept 26 0

    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 5 Nov 2026 · Analysed oci/ghcr.io/sjkim1127/reversecore_mcp@3.0.5

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 →

Vulnerabilities 180 ungraded findings

From the publisher's SBOM, not graded. These advisories match packages listed in the SBOM the publisher attached to this image. A publisher naming a vulnerable package in their own image is credible, so we show them. Nothing verifies that SBOM, though, so the Known CVEs signal does not grade the image from it.

ID CVE Severity Vector Fix available
GHSA-6v38-4h7w-rj9h CVE-2026-96760 critical CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-7vr2-2fgp-9w7p CVE-2026-114615 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-8m4g-j4wp-wgcg CVE-2026-114616 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-c5mf-xmp2-59rc CVE-2026-114617 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N yes
GHSA-c73q-w75p-j82v CVE-2026-116672 high CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H yes
GHSA-fch4-3c6x-j4gc CVE-2026-114618 medium CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N yes
GHSA-jj7h-c3hg-m23x CVE-2026-114614 low CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N yes
GHSA-q686-2qmg-hqc7 CVE-2026-114619 medium CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N yes
GHSA-x4rv-c3wx-4cr8 CVE-2026-114620 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N yes
PYSEC-2026-4354 CVE-2026-114614 low CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N yes
PYSEC-2026-4355 CVE-2026-114615 critical CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N yes
PYSEC-2026-4356 CVE-2026-114616 critical CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N yes
PYSEC-2026-4357 CVE-2026-114617 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N yes
PYSEC-2026-4358 CVE-2026-114618 medium CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N yes
PYSEC-2026-4359 CVE-2026-114619 medium CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N yes
PYSEC-2026-4360 CVE-2026-114620 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N yes
GHSA-3cm8-v4mc-gppg CVE-2022-4510 high CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H no
PYSEC-2026-787 CVE-2022-4510 high CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H yes
GHSA-cg8m-r9f2-5wm2 CVE-2026-114134 high yes
GHSA-6q48-6c7w-9gw2 critical yes
PYSEC-2026-4320 none yes
GHSA-45c3-73f7-pv4m CVE-2026-114605 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-7xgj-8392-5q4r medium CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N yes
GHSA-23mf-xhv8-69c2 CVE-2026-110859 high yes
GHSA-59cr-6r3x-644w CVE-2026-100689 medium yes
GHSA-83vg-56qc-22m7 CVE-2026-114145 high CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H yes
GHSA-f9j4-qggq-h239 CVE-2026-110858 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H yes
GHSA-fx3j-rwgx-fr94 CVE-2026-110855 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N yes
GHSA-gq48-pqfc-9p58 CVE-2026-110860 medium yes
GHSA-m64x-33q8-m5h7 CVE-2026-110856 high yes
GHSA-w8jc-g24h-crhw CVE-2026-110857 high CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H yes
GHSA-9pg5-8c7x-5hfx CVE-2026-119284 medium yes
GHSA-jpxq-7h8p-2q76 CVE-2026-119283 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-5639-2j2p-m4mx CVE-2026-102991 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N yes
PYSEC-2026-4243 CVE-2026-102991 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N yes
GHSA-5h93-6whr-6q8j CVE-2026-116685 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N yes
GHSA-84m7-p3x7-pcfv CVE-2026-59951 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-rwrf-2pqf-9j8j CVE-2026-116686 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H yes
GHSA-w4fh-qvv9-3v23 CVE-2026-116684 medium CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N yes
GHSA-6v7p-g79w-8964 CVE-2026-57585 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-j586-36cw-2gc2 CVE-2026-114613 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
PYSEC-2026-3625 CVE-2026-57585 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-xcq7-p3pf-p88h CVE-2026-114603 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
GHSA-22hg-r758-rrw9 CVE-2026-112390 high yes
GHSA-24rc-8hj2-v98c CVE-2026-96638 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H yes
GHSA-254f-3936-288h CVE-2026-112391 medium yes
GHSA-27h8-gf7j-v5hc CVE-2026-112392 high yes
GHSA-332p-7hrc-92wf CVE-2026-112393 critical yes
GHSA-3j72-p6qg-6xp7 CVE-2026-96642 high yes
GHSA-4558-3h8r-v8xp CVE-2026-112394 medium yes

Showing 50 of 180 vulnerabilities.

Background: What a vulnerability scan can and cannot prove →

MCP tools · 151 exposed · ~18,314 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
actionstring–Type of defense to generate
dry_runboolean–If True, only preview patch without applying
file_path––Path 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
result–yes–

No examples provided.

add_analysis_note ~62

Add a timestamped note to the analysis session.

NameTypeReqDescription
categorystring–Note category (general, finding, todo, warning)
notestringyesThe analysis note
session_idstring–Session ID (uses current if not specified)
NameTypeReqDescription
resultstringyes–

No examples provided.

add_ioc ~76

Add an Indicator of Compromise to the current session.

NameTypeReqDescription
ioc_typestringyesType of IOC (hashes, ips, domains, urls, files, registry, mutexes, emails)
session_idstring–Session ID (uses current if not specified)
valuestringyesThe IOC value
NameTypeReqDescription
resultstringyes–

No examples provided.

add_mitre_technique ~97

Add a MITRE ATT&CK technique to the session.

NameTypeReqDescription
session_idstring–Session ID (uses current if not specified)
tacticstringyesMITRE tactic (e.g., "Defense Evasion", "Persistence")
technique_idstringyesMITRE ID (e.g., "T1055", "T1547.001")
technique_namestringyesTechnique name
NameTypeReqDescription
resultstringyes–

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_file––Optional 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_versionstring–Target glibc version string for technique selection. Default: ``"2.35"`` (current Ubuntu LTS).
overflow_sizeinteger–Estimated 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_esilboolean–If ``True``, runs a virtual heap manager via Radare2 ESIL to trace heap layout and verify payload injection. Default: ``False``.
target_objectstring–Optional name or description of the heap object being targeted (e.g., ``"file_t struct"``). Used in documentation only.
use_stdin_for_crashboolean–If ``True``, feeds crash file to binary via stdin. If ``False``, passes as argv[1]. Default: ``True``.
NameTypeReqDescription
result–yes–

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_vulnboolean–When ``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.
timeoutinteger–Total analysis timeout in seconds. Default: 300.
top_functionsinteger–Maximum number of changed functions to analyse in detail. Higher values are slower but more thorough. Default: 10.
NameTypeReqDescription
result–yes–

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
timeoutinteger–Execution timeout in seconds
top_ninteger–Number of top changed functions to analyze in detail (default: 3)
NameTypeReqDescription
result–yes–

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)
limitinteger–Maximum number of xref entries to return per direction (default: 50)
timeoutinteger–Execution timeout in seconds (default: 300)
xref_typestring–Type of cross-references to show: 'all', 'to', 'from' (default: 'all')
NameTypeReqDescription
result–yes–

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_typestring–Type 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.
sourcestring–Human-readable source label (e.g., 'memory_malfind', 'pcap_c2_detect').
NameTypeReqDescription
result–yes–

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_domainsboolean–Extract and flag suspicious domains.
check_hashesboolean–Extract and flag file hashes (MD5/SHA1/SHA256).
check_ipsboolean–Extract and flag suspicious IP addresses.
NameTypeReqDescription
result–yes–

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_path––Optional path to save the generated .yar rule file. If None, returns rule content only.
rule_namestring–Base name for the generated YARA rule (default: 'forensics_auto').
NameTypeReqDescription
result–yes–

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
analyststring–Analyst name to include in the report header.
artifactsarrayyesAll collected and enriched artifacts from the investigation.
case_namestring–Name/identifier for this forensics case.
include_yaraboolean–If True, auto-generate and include YARA rules in the report.
output_path––Optional path to save the report as a Markdown file.
NameTypeReqDescription
result–yes–

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_orderstring–Sort order — 'asc' (oldest first) or 'desc' (newest first).
NameTypeReqDescription
result–yes–

No examples provided.

assemble_instructions ~144

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

NameTypeReqDescription
archstring–Target architecture (e.g., 'x86', 'arm', 'arm64', 'mips', 'sparc', 'ppc', 'systemz').
assembly_codestringyesThe assembly instruction(s) to compile (separated by newlines or semicolons).
base_addressstring–Base address of instructions, useful for resolving relative offsets (hex or decimal string).
modestring–Target mode/width (e.g., '16', '32', '64' for x86; 'arm', 'thumb' for arm).
NameTypeReqDescription
result–yes–

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.
language––Optional language hint (e.g., 'c', 'python'). If None, inferred from extension.
NameTypeReqDescription
result–yes–

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_pocboolean–When ``True``, automatically call ``generate_poc_exploit`` for every confirmed vulnerability. Default: ``True``.
auto_ropboolean–When ``True``, automatically call ``build_rop_chain`` for buffer-overflow vulnerabilities whose POC is CONFIRMED or LIKELY. Default: ``True``.
enable_fuzzingboolean–When ``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_taintboolean–When ``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_timeoutinteger–How long to run AFL++ in Phase 2.5 (seconds). Default: 120. For meaningful coverage use 3600+ in production.
max_functionsinteger–Upper bound on the number of functions to analyse. Increase for larger binaries at the cost of longer runtime. Default: 30.
objectivestring–Analysis focus. ``"full"`` analyses all vulnerability classes. Other valid values: ``"buffer_overflow"``, ``"command_injection"``, ``"format_string"``. Default: ``"full"``.
severity_filterstring–Minimum severity level to include in the report. Accepted values: ``"critical"``, ``"high"`` (default), ``"medium"``, ``"all"``.
timeout_per_functioninteger–Seconds allocated to ``vulnerability_hunter`` per function batch. Longer values find deeper bugs. Default: 90.
NameTypeReqDescription
result–yes–

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_pathstring–Absolute path to the libc shared object. Required when ``objective="ret2libc"``. Ignored otherwise. Default: ``""``.
objectivestring–Exploit 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…
offsetinteger–Byte 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
result–yes–

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_name––Optional custom filename in workspace (defaults to original name)
source_pathstringyesAbsolute or relative path to the source file
NameTypeReqDescription
result–yes–

No examples provided.

create_analysis_report ~226

Generate a comprehensive analysis report.

NameTypeReqDescription
analyststring–Analyst name shown in report header. Default: "Security Researcher".
classificationstring–Report classification level. Options: "TLP:RED", "TLP:AMBER" (default), "TLP:GREEN", "TLP:WHITE".
output_formatstring–Output format. Must be "markdown" (default) or "json". IMPORTANT: The parameter name is 'output_format', NOT 'format'.
sample_pathstring–Path to the sample file. Only needed when not using a session (session_id takes precedence when provided).
session_idstring–Session ID returned by start_report_session. Uses the most recent active session if not specified.
template_typestring–Report template type. Options: - "full_analysis" (default) — complete technical report - "executive_summary" — high-level management brief - "ioc_report" — IOC-focused export - "qui…
NameTypeReqDescription
resultstringyes–

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
result–yes–

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_name––Name of the binary being analyzed (optional)
binary_path––Path 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_dir––Optional directory with seed testcases.
dictionary_path––Optional path to AFL++ dictionary file (.dict).
enable_angr_concolicboolean–Whether to trigger angr symbolic solving when stalled.
max_total_time_secondsinteger–Max fuzzing duration in seconds (default: 20s).
target_binary_pathstringyesPath to compiled fuzzer binary in workspace.
timeout––Maximum execution timeout in seconds.
NameTypeReqDescription
result–yes–

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_function––Optional target parser function name.
timeout––Maximum execution timeout in seconds.
NameTypeReqDescription
result–yes–

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_path––Optional path to a valid sample file to extract dictionary tokens.
target_function––Optional target function name to fuzz.
timeout––Maximum execution timeout in seconds.
NameTypeReqDescription
result–yes–

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.
timeout––Maximum execution timeout in seconds.
NameTypeReqDescription
result–yes–

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_address––Optional function offset or symbol (e.g. '0x140001000' or 'main').
timeout––Maximum execution time in seconds.
NameTypeReqDescription
result–yes–

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.
timeoutinteger–Execution timeout in seconds.
verify_with_esilboolean–(Optional) Whether to verify candidate branches with Radare2 ESIL.
NameTypeReqDescription
result–yes–

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
result–yes–

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
result–yes–

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_name––Optional function name to compare (e.g., "main", "sym.decrypt"). If None, performs whole-binary comparison.
max_output_sizeinteger–Maximum output size in bytes (default: 10MB)
pageinteger––
page_sizeinteger––
timeoutinteger–Timeout in seconds (default: 300s)
top_ninteger––
NameTypeReqDescription
result–yes–

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.
limitinteger–Maximum MFT entries to return (default: 500).
offset––Partition start offset in sectors (from disk_list_partition).
NameTypeReqDescription
result–yes–

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.
offset––Partition start offset in sectors.
output_pathstringyesDestination path to write the extracted file.
NameTypeReqDescription
result–yes–

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
algorithmstring–Hash algorithm to use ('sha256', 'sha1', 'md5'). Default: 'sha256'.
expected_hash––Optional expected hash value to verify against.
image_pathstringyesPath to the disk image or file to hash.
NameTypeReqDescription
result–yes–

No examples provided.

disk_list_files ~143

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

NameTypeReqDescription
directorystring–Directory path within the image to list (default: root '/').
image_pathstringyesPath to the disk or filesystem image file.
include_deletedboolean–If True, also show deleted/unallocated files (marked with '*').
limitinteger–Maximum number of entries to return (default: 1000).
offset––Partition start offset in sectors (from disk_list_partition output). Leave None if image_path is a filesystem image (not a full disk image).
recursiveboolean–If True, recursively list all subdirectories.
NameTypeReqDescription
result–yes–

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
result–yes–

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).
offset––Partition start offset in sectors (from disk_list_partition).
output_pathstringyesDestination path to write the recovered file.
NameTypeReqDescription
result–yes–

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 }
timeoutinteger–Execution timeout.
NameTypeReqDescription
result–yes–

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_address––Optional target function address or name (e.g. '0x140001000').
timeout––Maximum execution time in seconds.
NameTypeReqDescription
result–yes–

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_address––Hexadecimal or decimal address to stop emulation at (optional).
file_pathstringyesAbsolute or workspace-relative path to the binary to emulate.
mock_files––Dictionary of virtual file paths and content to mock in the filesystem.
registers––Dictionary of initial register values to set before emulation (e.g. {"eax": 1}).
stack_inputs––List of integer values to push onto the stack before starting.
start_address––Hexadecimal or decimal address to start emulation from (optional).
timeoutinteger–Maximum execution timeout in seconds (default is 10s).
NameTypeReqDescription
result–yes–

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)
instructionsinteger–Number of instructions to execute (default 50, max 1000)
start_addressstringyesAddress to start emulation (e.g., 'main', '0x401000', 'sym.decrypt')
timeoutinteger–Execution timeout in seconds
NameTypeReqDescription
result–yes–

No examples provided.

end_report_session ~61

End the current analysis session.

NameTypeReqDescription
session_idstring–Session ID to end (uses current if not specified)
statusstring–Final status - "completed" or "aborted"
summarystring–Brief summary of findings
NameTypeReqDescription
resultstringyes–

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_name––Optional specific function to analyze. If None, analyzes top changes.
NameTypeReqDescription
result–yes–

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_bitcoinboolean–Whether to extract Bitcoin addresses (default: True)
extract_emailsboolean–Whether to extract email addresses (default: True)
extract_hashesboolean–Whether to extract MD5/SHA1/SHA256 hashes (default: True)
extract_ipsboolean–Whether to extract IPv4 addresses (default: True)
extract_othersboolean–Whether to extract CVEs, Registry keys, MAC addresses (default: True)
extract_urlsboolean–Whether to extract URLs (default: True)
file_pathstring–Alternative: path to a file to extract IOCs from
limitinteger–Maximum number of IOCs to return per category (default: 100)
textstring–The text to analyze for IOCs (can also be a file path)
NameTypeReqDescription
result–yes–

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
timeoutinteger–Execution timeout in seconds
NameTypeReqDescription
result–yes–

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_id––Exclude current session from results
limitinteger–Maximum results
pattern_signaturestringyesPattern to search for
pattern_type––Limit 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_operandsboolean–Whether to mask CALL/JMP operands
num_instructionsinteger–Number of instructions to process
rule_namestring–Name of the generated YARA rule
timeoutinteger–Execution timeout
NameTypeReqDescription
result–yes–

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
authorstring–Rule author for metadata
descriptionstring–Rule description for metadata
entry_point_pattern––Hex pattern at entry point (optional)
file_pathstringyesPath to reference binary (for metadata extraction)
file_typestring–Target file type - "PE" or "ELF" (default: "PE")
imports––List of imported functions to check (e.g., ["CryptEncrypt", "WriteFile"])
max_filesize––Maximum file size in bytes (optional)
min_filesize––Minimum file size in bytes (optional)
min_string_matches––Minimum number of strings that must match (default: 2/3 of total)
rule_namestringyesName for the YARA rule
section_names––Required section names (e.g., [".rsrc", ".text"])
stringsarrayyesList of strings to include in the rule
tags––List of tags to attach to the YARA rule (optional)
NameTypeReqDescription
result–yes–

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)
formatstring–Output format ('mermaid', 'json', 'dot', or 'png'). Default is 'mermaid'.
function_addressstringyesFunction address (e.g., 'main', '0x140001000', 'sym.foo')
timeoutinteger–Execution 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_typestring–The type of harness to generate (default: "qiling").
save_to_workspaceboolean–If True, saves the generated harness to the workspace.
target_function_or_addrstringyesThe function name or hex address to fuzz (e.g. 0x401234).
NameTypeReqDescription
result–yes–

No examples provided.

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.5. 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

# add to Claude Code
claude mcp add sjkim1127-reversecore-mcp -- docker run --rm -i ghcr.io/sjkim1127/reversecore_mcp:3.0.5
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).

Is the Reversecore MCP server safe to use?

Reversecore MCP scores 55 out of 100 on VerifyMCP. The SBOM its publisher attached lists packages with 180 known advisories as of 5 November 2026. We do not grade that SBOM, as nothing verifies it. 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 151 tools: generate_advanced_yara_rule, diff_binaries, analyze_variant_changes, match_libraries, patch_diff_1day, and 146 more. Their descriptions and schemas cost roughly 18,314 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 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 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.