Draugr
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Security-first MCP server for reverse engineering, malware analysis, forensics, and SAST.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"reversecore": {
"command": "uvx",
"args": [
"reversecore-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add reversecore -- uvx reversecore-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"reversecore": {
"command": "uvx",
"args": [
"reversecore-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"reversecore": {
"type": "stdio",
"command": "uvx",
"args": [
"reversecore-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub sjkim1127 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (3.0.5) เข้า registry 42 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv), Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Draugr, Harbor, Microsoft Windows Security Updates (MSRC CVRF) — buy per-query in-session (msrc…
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
Read-only access to Harbor: projects, artifacts, vulnerabilities, robots, replication, agent skills.
MSRC Windows updates: CVE rollups, Patch Tuesday. Be born in one call — free testnet funds.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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 179 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.11 Server │ │ 179 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 server supports Python 3.10–3.12. The optional angr symbolic execution engine is installed on Python 3.12 and newer, where a secure compatible release is available; Python 3.10 and 3.11 installs omit angr.
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 |
📖 [Authoritative Tool Catalog & Parameter Reference (151 Tools)](docs/TOOLS.md)
📊 [Tool Profile Footprint & Context Benchmark Matrix](docs/benchmarks/profile_footprint.md)
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 11 domain plugins across 5 modular execution profiles (full, static, malware, forensics, vuln-research):
| Profile | Registered Tools | Schema Size | LLM Context Saving vs Full | Recommended Domain |
|---|---|---|---|---|
full | 153 | 116.8 KB | Baseline (0%) | Complete enterprise reverse engineering suite |
vuln-research | 105 | 73.3 KB | -37.2% (~10,800 tokens) | Fuzzing, ASan crash triage, CVE hunting, exploit research |
static | 99 | 67.7 KB | -42.0% (~12,200 tokens) | Disassembly, decompilation (r2ghidra), LIEF, static triage |
malware | 67 | 62.8 KB | -46.2% (~13,500 tokens) | Threat triage, YARA scanning, deobfuscation, anti-analysis |
forensics | 57 | 37.0 KB | -68.4% (~19,500 tokens) | Memory forensics (Volatility3), network PCAP (Scapy), disk |
| # | 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 changes between binary variants |
| 16 | match_libraries | Radare2 | Identify statically linked libraries by function fingerprint |
| 17 | patch_diff_1day | Radare2 + heuristics | Automated patch diff analysis for 1-day vulnerability research |
| 18 | analyze_patch_diff_auto | Radare2 + inference | Automated patch vulnerability inference |
| 19 | emulate_binary | Radare2 ESIL | Register/memory-traced code emulation |
| 20 | generate_fuzzing_harness | Qiling + AFL++ | G
ตัดมาแค่ช่วงต้น อ่านต่อใน repo