by sjkim1127
A security-first MCP server that empowers AI agents to perform automated reverse engineering, malware analysis, forensics, vulnerability research, and SAST — powered by Radare2, YARA, LIEF, Capstone, and more.
# Add to your Claude Code skills
git clone https://github.com/sjkim1127/Reversecore_MCPGuides for using ai agents skills like Reversecore_MCP.
Last scanned: 6/27/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-27T06:53:07.136Z",
"npmAuditRan": true,
"pipAuditRan": false,
"promptInjectionRan": true
}Reversecore_MCP is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by sjkim1127. A security-first MCP server that empowers AI agents to perform automated reverse engineering, malware analysis, forensics, vulnerability research, and SAST — powered by Radare2, YARA, LIEF, Capstone, and more. It has 185 GitHub stars.
Yes. Reversecore_MCP passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/sjkim1127/Reversecore_MCP" and add it to your Claude Code skills directory (see the Installation section above).
Reversecore_MCP is primarily written in Python. It is open-source under sjkim1127 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh Reversecore_MCP against similar tools.
No comments yet. Be the first to share your thoughts!
AI-Powered Reverse Engineering & Security Analysis via Model Context Protocol
An MCP server that gives AI assistants like Claude and Cursor the ability to perform reverse engineering, malware analysis, vulnerability research, digital forensics, and source code auditing through natural language.
Reversecore MCP is a Model Context Protocol server that wraps 120 analysis tools into a single interface that AI assistants can call through natural language.
Instead of learning the command-line syntax for a dozen different tools, you describe what you want:
"Decompile the main function of this malware sample, extract all network IOCs,
map the behavior to MITRE ATT&CK, and generate a triage report."
The AI assistant breaks this into tool calls:
r2_decompile("sample.exe", "main")
→ extract_iocs("sample.exe")
→ add_mitre_technique(technique_id="T1071.001", ...)
→ create_analysis_report(template_type="quick_triage")
Each tool returns a structured ToolResult (either ToolSuccess or ToolError) with typed data that the AI can reason about, chain into follow-up queries, or render for the user.
| Domain | What you can do |
|---|---|
| Static analysis | Disassembly, decompilation (r2ghidra), binary parsing (LIEF), packer detection (DIE), capability detection (CAPA), string extraction, firmware scanning (binwalk) |
| Dynamic & symbolic | ESIL emulation, angr symbolic execution, taint analysis, fuzzing harness generation |
| Malware analysis | IOC extraction, YARA scanning, dormant backdoor detection, adaptive vaccine generation, autonomous vulnerability hunting |
| Vulnerability research | Dangerous API detection, ROP gadget discovery, heap exploit analysis, crash triage, PoC generation |
| Digital forensics | Memory forensics (Volatility3), PCAP analysis (Scapy), disk forensics (Sleuth Kit), artifact correlation |
| Source code audit | Python AST scanning, C/C++ regex pattern scanning |
| Reporting | Session-based reports with MITRE ATT&CK mapping, SIGMA rule generation, VEX reports, email delivery |
AI Client (Claude / Cursor / any MCP-compatible client)
│ MCP Protocol (stdio or HTTP/SSE)
▼
┌──────────────────────────────────────────────────────┐
│ FastMCP 3.4.4 Server │
│ 120 registered tools · Fully async │
│ Python 3.10–3.12 │
├────────────────────┬─────────────────────────────────┤
│ Guided Prompts │ Dynamic Resources │
│ (22 analysis │ (11 URI-based: per-binary │
│ modes) │ strings, IOCs, ASM, CFG, …) │
├────────────────────┴─────────────────────────────────┤
│ Core Infrastructure │
│ Config · Security · Validators · Exceptions (17) │
│ R2 Pool · Metrics · Memory (SQLite) · Task Queue │
│ MITRE Mapper · Evidence Engine · Resilience Layer │
│ Arch Registry (x86/ARM/MIPS/RISC-V/PPC) │
│ Result Cache (SHA256) · Analysis Cache (Redis+SQL) │
│ SAST (Python AST + C/C++ Regex) · Plugin System │
├──────────────────────────────────────────────────────┤
│ Analysis Engines │
│ Radare2 6.0.4 │ YARA 4.3.1 · LIEF · Capstone │
│ r2ghidra │ CAPA · angr · Qiling │
│ Volatility3 · Scapy│ DIE · Binwalk · Sleuth Kit │
│ pwntools · ROPgadget│ Keystone (assembler) │
└──────────────────────────────────────────────────────┘
The reversecore_mcp/core/ directory contains the shared infrastructure that all tools build on:
| Module | Purpose |
|---|---|
config.py |
Pydantic BaseSettings with 34+ environment variables |
security.py |
Input sanitization, command argument validation |
validators.py |
File and binary path validation with TOCTOU mitigation, symlink resolution |
r2_pool.py |
Thread-safe Radare2 connection pool with configurable size |
r2_helpers.py |
Structured Radare2 output parsing |
metrics.py |
Per-tool execution times, call counts, error rates, cache statistics |
memory.py |
Async SQLite-backed AI memory store for persisting analysis findings across sessions |
mitre_mapper.py |
MITRE ATT&CK technique ID mapping engine |
evidence.py |
Evidence classification system: OBSERVED, INFERRED, POSSIBLE |
resilience.py |
Retry, circuit-breaker, and timeout decorator patterns |
task_queue.py |
Background task queue via Redis + arq |
extension_registry.py |
Plugin registration and lifecycle management |
arch_registry.py |
Multi-architecture mapping (x86, x86_64, ARM32, ARM64, MIPS, RISC-V, PPC → r2 arch/bits/registers) |
result_cache.py |
SHA256-based tool result caching decorator (@cache_tool_result) |
analysis_cache.py |
Multi-level decompilation cache (L1: Redis, L2: SQLite) |
result.py |
ToolSuccess / ToolError Pydantic models |
exceptions.py |
17 exception classes with RCMCP-E* error codes |
decorators.py |
@log_execution, @track_metrics |
error_handling.py |
@handle_tool_errors decorator |
error_formatting.py |
Structured error response formatting |
execution.py |
Safe subprocess execution with timeout and output limits |
command_spec.py |
Command specification for subprocess calls |
loader.py |
Dynamic tool module loader |
plugin.py |
Plugin base class |
extension.py |
Extension base class |
container.py |
Container/sandbox execution support |
audit.py |
Audit logging |
binary_cache.py |
Binary file caching |
json_utils.py |
JSON serialization via orjson (3-5x faster than stdlib json) |
logging_config.py |
Loguru-based structured logging |
report_generator.py |
Report rendering engine (Markdown, PDF via xhtml2pdf) |
resource_manager.py |
MCP resource lifecycle management |
sast/python_ast_scanner.py |
Python AST-based vulnerability scanner |
sast/regex_scanner.py |
C/C++ regex-based vulnerability scanner |
sast/rule_manager.py |
SAST rule loading and management |
Every tool returns a structured ToolResult — either a ToolSuccess with typed data or a ToolError with an RCMCP-E* error code. Tools are organized into 8 plugins.
| # | Tool | Backend | Description |
|---|---|---|---|
| 1 | run_strings |
strings CLI |
ASCII/Unicode string extraction with configurable min-length |
| 2 | run_binwalk |
Binwalk | Firmware deep-scan for embedded signatures and filesystems |
| 3 | run_binwalk_extract |
Binwalk | Extract embedded files discovered by binwalk |
| 4 | parse_binary_with_lief |
LIEF | Full PE/ELF/Mach-O header, section, import/export, TLS parsing |
| 5 | detect_packer |
DIE | Quick packer/compiler detection |
| 6 | detect_packer_deep |
DIE (diec) |
Deep packer/protector analysis via Detect It Easy |
| 7 | run_capa |
CAPA (Mandiant FLARE) | Capability detection — "encrypts data", "creates persistence", etc. |
| 8 | run_capa_quick |
CAPA | Quick capability scan with a rule subset |
| 9 | generate_signature |
Radare2 | Generate binary signatures for identification |
| 10 | generate_yara_rule |
Radare2 + YARA | Generate YARA detection rules from binary patterns |
| 11 | generate_advanced_yara_rule |
Radare2 + YARA | Advanced YARA rules with behavioral indicators |
| 12 | scan_for_versions |
LIEF + strings | Scan binary for embedded version strings |
| 13 | extract_rtti_info |
Radare2 | Extract C++ RTTI (Run-Time Type Information) |
| 14 | diff_binaries |
Radare2 | Semantic binary diff between two file versions |
| 15 | analyze_variant_changes |
Radare2 | Analyze chan |