← Back to search

io.github.daedalus/mcp-reverse-engineering

daedalus Scanned 18d ago

A sandboxed MCP tool for reverse engineering with multiple tool integrations

C
70.7 / 100

Versions

0.1.3latest
first seen Jun 5, 2026
0.1.4
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 8

strings
annotations: none low

Run the strings command on a binary file to extract printable strings. The strings utility searches for printable strings in a binary file and outputs them. This is useful for extracting embedded strings, URLs, function names, and other text from compiled binaries. Args: args: Additional arguments to pass to the strings command. Common options include: - -n MIN: Only print strings of length MIN or greater - -t FORMAT: Select output format (d, o, x) file: Optional path to the file to analyze. If not provided, the file must be specified in args. Returns: str: The extracted strings from the file, or error message if the operation fails. Raises: FileNotFoundError: If the specified file does not exist. RuntimeError: If the strings command fails to execute. Example: >>> strings(["-n", "8"], "/path/to/binary") "/lib64/ld-linux-x86-64.so.2\nlibc.so.6\n..."

args string file string
hexdump
annotations: none low

Run hexdump on a file to display its contents in hexadecimal format. The hexdump utility displays the contents of a file in hex and ASCII, useful for analyzing binary file formats, identifying file headers, and inspecting raw file contents. Args: args: Additional arguments to pass to hexdump. Common options include: - -C: Canonical hex+ASCII output - -s OFFSET: Skip offset bytes from start - -n LENGTH: Only dump length bytes file: Optional path to the file to analyze. Returns: str: The hexadecimal dump of the file contents. Raises: FileNotFoundError: If the specified file does not exist. RuntimeError: If hexdump fails to execute. Example: >>> hexdump(["-C"], "/path/to/binary") "00000000 7f 45 4c 46 02 01 01 00 ..."

args string file string
xxd
annotations: none low

Run xxd on a file to create a hex dump. The xxd utility creates a hexadecimal representation of a file, similar to hexdump but with additional features like reverse conversion (hex to binary). Args: args: Additional arguments to pass to xxd. Common options include: - -r: Reverse operation (hex to binary) - -p: Plain hex dump format - -s OFFSET: Skip offset bytes - -l LENGTH: Limit output to length bytes file: Optional path to the file to analyze. Returns: str: The hex dump of the file contents. Raises: FileNotFoundError: If the specified file does not exist. RuntimeError: If xxd fails to execute. Example: >>> xxd(["-l", "16"], "/path/to/binary") "00000000: 7f45 4c46 0201 0100 0200 3e00 ........"

args string file string
file_cmd
annotations: none low

Run the file command to determine file type. The file command performs a series of tests to identify the type of a file. It can detect file formats like ELF, PE, archives, images, and many others based on magic bytes and file structure. Args: args: Additional arguments to pass to file command. Common options include: - -b: Brief output (don't show filename) - -z: Try to detect compressed files - -i: Output MIME type instead of human-readable file: Optional path to the file to analyze. Returns: str: Description of the file type. Raises: FileNotFoundError: If the specified file does not exist. RuntimeError: If file command fails to execute. Example: >>> file_cmd([], "/path/to/binary") "/path/to/binary: ELF 64-bit LSB executable, x86-64..."

args string file string
objdump
annotations: none low

Run objdump to disassemble and analyze binary files. The objdump utility displays information about object files, including disassembly, symbol tables, section headers, and relocation information. Essential for reverse engineering and analyzing compiled binaries. Args: args: Additional arguments to pass to objdump. Common options include: - -d: Disassemble executable sections - -t: Display symbol table - -h: Display section headers - -x: Display all available headers - -s: Display full contents of sections file: Optional path to the binary file to analyze. Returns: str: The objdump output containing disassembly and/or file information. Raises: FileNotFoundError: If the specified file does not exist. RuntimeError: If objdump fails to execute. Example: >>> objdump(["-d"], "/path/to/binary") "Disassembly of section .text:\n0000000000401000 <_start>:\n..."

args string file string
readelf
annotations: none low

Run readelf to display ELF binary information. The readelf utility displays information about ELF (Executable and Linkable Format) files, including headers, sections, symbols, dynamic linking information, and more. Specific to Linux/Unix ELF binaries. Args: args: Additional arguments to pass to readelf. Common options include: - -h: Display ELF file header - -S: Display section headers - -s: Display symbol table - -d: Display dynamic section - -l: Display program headers - -r: Display relocations file: Optional path to the ELF file to analyze. Returns: str: The readelf output with ELF file information. Raises: FileNotFoundError: If the specified file does not exist. RuntimeError: If readelf fails to execute. Example: >>> readelf(["-h"], "/path/to/elf") "ELF Header:\n Magic: 7f 45 4c 46 02 01 01 00 ..."

args string file string
binwalk
annotations: none low

Run binwalk to find embedded files and code in a binary. Binwalk is a tool for analyzing binary files to find embedded files and executable code. It uses entropy analysis and signature matching to identify compressed data, file systems, archives, and other embedded content. Args: args: Additional arguments to pass to binwalk. Common options include: - -e: Extract found files automatically - -M: Enable signature matching - -B: Scan for common file signatures - -Y: Entropy analysis mode - -q: Quiet output (suppress banners) file: Optional path to the file to analyze. Returns: str: Analysis results showing identified signatures, entropy graph, and potential embedded content. Raises: FileNotFoundError: If the specified file does not exist. RuntimeError: If binwalk fails to execute. Example: >>> binwalk(["-B"], "/path/to/firmware.bin") "DECIMAL HEXADECIMAL DESCRIPTION\n---------------------------------------------\n 0 0x0 Linux kernel..."

args string file string
list_tools
annotations: none low

List all available reverse engineering tools. This function returns a list of all tools that are currently enabled in the configuration and available for use through the MCP server. Returns: List[str]: List of available tool names. Example: >>> list_tools() ['strings', 'hexdump', 'objdump', 'readelf', 'binwalk']

Permissions 2

filesystem low
Server uses filesystem capabilities via: open(), os, pathlib, shutil, tempfile
shell high
Server uses shell capabilities via: subprocess

Scan Findings 47

low
Tool 'strings' has no annotations annotation_checker · 100%
low
Tool 'hexdump' has no annotations annotation_checker · 100%
low
Tool 'xxd' has no annotations annotation_checker · 100%
low
Tool 'file_cmd' has no annotations annotation_checker · 100%
low
Tool 'objdump' has no annotations annotation_checker · 100%
low
Tool 'readelf' has no annotations annotation_checker · 100%
low
Tool 'binwalk' has no annotations annotation_checker · 100%
low
Tool 'list_tools' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
low
Cross-tool reference in 'xxd': Comparison: 'similar to hexdump' cross_tool_detector · 30%
medium
Vulnerable dependency: requests@2.28.0 (GHSA-9hjg-9r4m-mvj7) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (GHSA-9wx4-h78v-vm56) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (GHSA-gc5v-m9x4-r6x2) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (GHSA-j8r2-6x86-q33q) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (PYSEC-2023-74) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (PYSEC-2026-1872) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (PYSEC-2026-1873) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (PYSEC-2026-2275) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (GHSA-5h2m-4q8j-pqpj) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (GHSA-c2jp-c369-7pvx) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (GHSA-m8x7-r2rg-vh5g) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (GHSA-mxxr-jv3v-6pgc) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (GHSA-rcfx-77hg-w2wv) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (GHSA-rj5c-58rq-j5g5) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (GHSA-rww4-4w9c-7733) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (GHSA-vv7q-7jx5-f767) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (PYSEC-2026-1364) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (PYSEC-2026-1365) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (PYSEC-2026-2474) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (PYSEC-2026-2475) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (PYSEC-2026-2476) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@2.0.0 (PYSEC-2026-338) dependency_analyzer · 95%
high
Long hex escape sequence in daedalus-mcp_reverse_engineering-86bb042/tests/conftest.py:20 entropy_analyzer · 85%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: strings manifest_parser · 90%
info
Tool: hexdump manifest_parser · 90%
info
Tool: xxd manifest_parser · 90%
info
Tool: file_cmd manifest_parser · 90%
info
Tool: objdump manifest_parser · 90%
info
Tool: readelf manifest_parser · 90%
info
Tool: binwalk manifest_parser · 90%
info
Tool: list_tools manifest_parser · 90%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
info
SBOM generated: 3 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%