offensive-tools/mcp/neuromatrix/SKILL.md
Drive the NeuroMatrix reverse-engineering emulation MCP server: create sessions, discover backend tools via list_catalog/get_tool/run_tool, choose Unicorn/Qiling/QEMU/Renode lanes, upload large binaries through the artifact data plane, manage detached jobs, use session workspaces, expose guest endpoints, collect emulator evidence, and avoid false support claims for kernels, firmware, MCU boards, Windows/macOS assets, ESP8266, and Renode profiles.
npx skillsauth add aeondave/malskill neuromatrixInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
NeuroMatrix is an MCP server for reverse-engineering emulation. It gives an agent one session/artifact/job/endpoint surface across Unicorn, Qiling, QEMU, and Renode.
Use it by keeping the direct MCP surface small, discovering backend tools through the catalog, moving large bytes through the artifact data plane, and collecting runtime evidence before claiming support.
create_session(backend, arch, os_name?, rootfs?, config?, session_id?). Reuse the session for the task. Lost state after context reset? Use list_sessions, list_events, and list_guest_endpoints before creating another one.agent mode, backend-specific tools are catalog-only. Use list_catalog(category="backend", backend="<backend>", include_schema=true) or get_tool("<name>"), then call run_tool("<name>", {...}).request_upload + HTTP PUT, then use mcp://artifacts/<sha256> directly or import_artifact_to_workspace when mutation/execution from a workspace path is needed.run_tool(..., detach=true) and poll_job.destroy_session.Direct agent tools are infrastructure:
list_catalog, get_tool, run_toolcreate_session, destroy_session, list_sessions, list_events, supported_architecturesupload_file, download_file, list_session_files, request_upload, request_download, list_artifacts, analyze_artifact, extract_artifact_subartifact, import_artifact_to_workspace, delete_artifactlist_jobs, poll_job, delete_joblist_guest_endpoints, get_guest_endpoint, register_guest_endpoint, close_guest_endpoint, endpoint_client_context, spawn_endpoint_clientload_binary, inspect_binarystart_interactive_session, read_interactive_session, send_interactive_input, signal_interactive_session, close_interactive_session, list_interactive_sessionsBackend state operations belong behind run_tool in agent mode. Never guess backend tool schemas; call get_tool.
| Need | Backend |
|---|---|
| Raw CPU bytes, shellcode, decode loop, patch/trace memory/registers | Unicorn |
| Userland binary with OS syscalls/APIs, rootfs, Windows PE, Mach-O, UEFI target/API hooks | Qiling |
| Linux user-mode, full VM, Linux kernel, disks, firmware boot, OVMF/SeaBIOS, QMP/GDB, Hexagon DSP | QEMU |
| MCU/RTOS/SoC board behavior, UART/GPIO/peripherals, .repl/.resc, board GDB | Renode |
| Firmware service exposed over UART/TCP/HTTP/SSH/etc. | Backend endpoint tools + guest endpoint registry |
| Unknown router/camera/Linux firmware | Artifact analysis → rootfs/init/kernel facts → QEMU user/system or Qiling fallback |
For detailed lane choices, load references/backend-routing.md.
| Situation | Path |
|---|---|
| Fast direct infrastructure tool | call it directly |
| Fast backend catalog tool | run_tool("name", {...}) |
| Long-running catalog tool | run_tool("name", {...}, detach=true) → poll_job(job_id, wait_seconds=30) |
| Live stdin/stdout process in session workspace | start_interactive_session → read_interactive_session / send_interactive_input |
| Guest-exposed UART/GDB/QMP/service endpoint | list_guest_endpoints → endpoint_client_context → external tool or spawn_endpoint_client |
Known long-running catalog tools include qemu_system_start, qemu_linux_start, qemu_firmware_start, qiling_run_os_binary, renode_start, renode_continue, build_initramfs_artifact, build_rootfs_disk_artifact, build_esp_image_artifact, extract_artifact_filesystem, and trace/export/continue-style tools.
| Goal | Mechanism |
|---|---|
| Small text or generated bytes already in context | upload_file or workspace file helpers |
| Existing local binary/firmware/kernel/rootfs/disk | request_upload → HTTP PUT --data-binary → mcp://artifacts/<sha256> |
| Read-only analysis | pass mcp://artifacts/<sha256> to analyze_artifact, inspect_binary, or compatible backend tools |
| Tool must mutate/execute a real file path | import_artifact_to_workspace(session_id, artifact_id, executable?) |
| Pull a large result out | request_download → HTTP GET |
| Pull small session file out | download_file |
Do not base64 a disk file through the model. Use the artifact data plane even for medium-sized files.
For job/artifact/endpoint details, load references/artifacts-jobs-endpoints.md.
NeuroMatrix reports reachable guest surfaces as session-scoped endpoint metadata: uart, unix, raw-tcp, raw-udp, http, https, ssh, ftp, telnet, rtsp, onvif, modbus, gdb-remote, qmp, hmp, jtag, gpio, and custom.
NeuroMatrix does not provide first-party HTTP/SSH/FTP/Telnet clients. Use the endpoint context to drive external tools, Python virtualenv clients, or uploaded workspace scripts. spawn_endpoint_client is for running those client commands with endpoint environment variables pre-populated.
get_tool before first use.detach=true return a structured error; do not fight the timeout.unsupported_by_installed_backend.development
Auth/lab ref: Unicorn Engine CPU-only emulation for shellcode, decryptors, custom VM handlers, instruction tracing, memory hooks, and register-level experiments.
development
Auth/lab ref: Renode board and SoC simulation for MCU/RTOS firmware, UART/GPIO/peripheral modeling, GDB remote debugging, REPL platforms, and RESC scripts.
development
Auth/lab ref: Qiling OS-layer binary emulation for PE/ELF/Mach-O/UEFI/shellcode with rootfs, syscall/API hooks, filesystem mapping, and runtime patching.
databases
Auth/lab ref: QEMU user-mode and full-system emulation for cross-arch binaries, firmware, kernels, disks, serial consoles, networking, and GDB stubs.