blaktron/binary-reverse-engineer
Reverse-engineers a binary file using a reverse engineering knowledge pack and returns recovered source code plus a report.
Declared capabilities
Capabilities are the author's declaration and the basis for policy and scanning. The registry cannot enforce them at run time. Your runtime should.
MCP servers & tools
agentry run serves exactly the tools this contract declares, through a per-run MCP gateway. An undeclared capability is a tool that does not exist at run time.
Tools the runner grants
| Manifest declaration | Tool(s) granted |
|---|---|
| (always) | write_report — reports → the run's output folder |
| (always) | list_inputs, read_input, search_inputs — operator-provided input files, read-only |
| (always) | scratch_list, scratch_read, scratch_write, scratch_search — the run's own scratch folder at /scratch, private to the run and deleted at its end; the runner's grant, not a line of the contract |
| (always) | export_pdf — a Markdown report as a PDF in reports/, laid out in your report design; the runner's grant, not a line of the contract |
| (always) | grep, glob — search file contents by regular expression and list files by path pattern (ripgrep), one area a call: the inputs, attached knowledge, /scratch, /workspace; the runner's grant, not a line of the contract |
| filesystem.read | fs_read, fs_list — the whole task workspace |
| filesystem.write | fs_write — the whole task workspace |
| exec.commands | run_command — restricted to file, strings, xxd, objdump, readelf, nm, r2, rabin2, analyzeHeadless, binwalk, pyinstxtractor, decompyle3, uncompyle6, 7z, unzip, python3 |
MCP servers involved
- QuickAgent Tools — the runner's companion server, served through a per-run Docker MCP Gateway; its tool surface is exactly the table above.
- Operator-cataloged MCP servers may be attached for the declared dataAccess category (files); undeclared categories are never wired in.
In an embedded install
Installed into an existing coding agent (agentry install), the same contract maps to the host's built-in tools — enforcement there is the host's. Allowed tools: Read, Grep, Glob, Write, Edit, Bash(7z:*), Bash(analyzeHeadless:*), Bash(binwalk:*), Bash(decompyle3:*), Bash(file:*), Bash(nm:*), Bash(objdump:*), Bash(pyinstxtractor:*), Bash(python3:*), Bash(r2:*), Bash(rabin2:*), Bash(readelf:*), Bash(strings:*), Bash(uncompyle6:*), Bash(unzip:*), Bash(xxd:*).
Install
agentry install blaktron/binary-reverse-engineer@0.1.0git clone https://secureagentry.net/blaktron/binary-reverse-engineer.gitgit clone ssh://git@git.secureagentry.net/blaktron/binary-reverse-engineer.gitclaude-skill is this agent's default target, so the flag is not needed.
agent.yaml
schemaVersion: "2"
name: binary-reverse-engineer
namespace: blaktron
modes: [autonomous]
version: 0.1.0
summary: Reverse-engineers a binary file using a reverse engineering knowledge pack and returns recovered source code plus a report.
license: MIT
tags: [reverse-engineering, binary, decompiler, static-analysis, recovery]
entrypoints:
instruction: AGENT.md
intake:
- id: focus
prompt: 'Focus area (optional): a function, embedded payload, or part of the binary to prioritize; leave blank for a full pass.'
guide:
overview: 'Takes one binary file, identifies it, and works through it with the attached reverse engineering knowledge pack and the available static analysis tools (strings, disassembly, decompilation, container extraction). Returns report.md plus a source/ folder of recovered code, and states the recovery level: full source, decompiled pseudocode, or disassembly and strings.'
prepare: [Attach the reverse engineering knowledge pack to the run; the agent follows its techniques for the detected file type., Have the binary file ready to add as the run's input., Note any function or embedded payload to prioritize (optional).]
files: 'Add the binary file to reverse engineer: an ELF, PE, Mach-O, script or bytecode container, or firmware image.'
task: e.g. Reverse engineer this ELF and recover its source; focus on the network functions.
capabilities:
network:
egress: none
filesystem:
read: workspace
write: workspace
exec: { commands: [file, strings, xxd, objdump, readelf, nm, r2, rabin2, analyzeHeadless, binwalk, pyinstxtractor, decompyle3, uncompyle6, 7z, unzip, python3] }
dataAccess: [files]
publish:
include: [agent.yaml, AGENT.md, README.md, LICENSE]