Guide · Agent skill
How to use the go-rust-reverse skill for Go and Rust binaries
Updated · written with AI from the project's own documentation and checked against our catalogue data
The go-rust-reverse skill gives an AI agent a written playbook for reverse engineering compiled programs written in Go or Rust. These binaries are hard to read because their debugging names are usually removed, so this skill tells the agent how to recognise the language first and then recover names and structure. It is aimed at security researchers, students and analysts who already work with tools such as IDA or Ghidra. After this guide you will know how to install the skill, how to ask for it in plain language and what to check before trusting the results.
Quick start
- 1Download the ZIP. Download the go-rust-reverse skill ZIP from this page.
- 2Install the skill. Unzip it into ~/.claude/skills/ for all projects, or into a project's .claude/skills/ folder, or upload it under Settings, Capabilities, Skills in the Claude apps.
- 3Check the files. Confirm the skill folder contains SKILL.md and references/go-rust-notes.md.
- 4Prepare the binary. Place a local copy of the stripped Go or Rust binary you are authorised to analyse where the agent can read it.
- 5Make a request. Ask in plain language, naming the language and the goal, such as finding network handling code.
- 6Install supporting tools. Make sure the tools the guide needs, such as GoReSym or IDA or Ghidra with plugins, are available to the agent.
- 7Run the checklist. Before trusting the result, confirm recovered function names and the runtime evidence behind them.
What does the go-rust-reverse skill make the agent do?
An agent skill is a folder of instructions that an AI agent reads when a task matches the skill's description. This one covers stripped Go and Rust binaries, meaning programs whose symbol names have been removed. The skill's own workflow runs in order: recognise the runtime, recover symbols and metadata, then work out the business logic.
For Go, the guidance looks for the go.buildid marker, leftover runtime symbols and pclntab data, and suggests recovering function names with GoReSym, redress or an IDA Go plugin. For Rust, it focuses on panic strings, rust_begin_unwind and crate path hints, and on tracing string cross-references. It also includes notes on dynamic analysis with Frida.
- Recognise whether a sample is a Go or Rust build from file and string clues
- Recover function names or an equivalent mapping from metadata
- Trace network and crypto code paths and string-driven logic
- Finish with a checklist that confirms the results
How do you install the go-rust-reverse skill?
Download the ZIP for the skill from this page. Then either unzip it into your personal skills folder at ~/.claude/skills/, or unzip it into a project's .claude/skills/ folder if you want the skill available only for that project.
You can also upload the ZIP in the Claude apps. Open Settings, go to Capabilities and then Skills, and add the skill there. Whichever route you choose, the skill's folder should contain SKILL.md and the references/go-rust-notes.md file.
- Personal install: ~/.claude/skills/
- Project install: .claude/skills/ inside your project
- Claude apps: Settings, then Capabilities, then Skills, then upload
How do you trigger the skill with a natural request?
You do not need a special command. Describe the task in plain words that mention the binary type and the goal, and the agent can match the request to the skill's description. The skill is written for reverse engineering stripped Go and Rust binaries, so requests that name those languages or mention runtime recognition, pclntab or panic strings are the clearest triggers.
Give the agent a local copy of the binary you are analysing, since the skill assumes you have the file. Say what you want to learn, such as which functions handle network traffic or what a panic message reveals.
- Analyse this stripped Go binary and tell me which functions handle network traffic.
- This Rust executable is stripped. Use panic strings to find where the main logic lives.
- Recover function names from this Go sample using pclntab and GoReSym-style methods.
- Walk me through identifying the language runtime of this unknown binary.
What do you need before you start?
The guide refers to several analysis tools. You need the binary itself as a local file. For Go work it points to GoReSym for metadata. For decompilation it names IDA or Ghidra with Go or Rust plugins, and for quick string work it uses radare2 and strings or rabin2. Frida is optional and only for dynamic analysis.
The skill does not run these tools itself. It is written guidance, so the agent still needs access to the tools to carry out the steps. The skill also refers to other skills (malware-analysis, reverse-engineering, ida-reverse and ghidra-reverse) and to a file under ../field-journal/. Those files were not included in the reviewed package, so expect some references to be unresolved.
- A local copy of the binary being analysed
- GoReSym for Go metadata
- IDA or Ghidra with Go or Rust plugins
- radare2, strings or rabin2 for triage
- Frida (optional) for dynamic work
What safety points should you know?
The skill does not run scripts and does not use the network, according to its review. Its guidance does include steps that relate to network and crypto code, so you should still treat the binary as untrusted.
The skill targets malware samples and could support harmful work. Only analyse binaries you have the authority to examine, and use an isolated environment when you run any sample dynamically. Dynamic steps with Frida should be done with care, because Go stacks and scheduling behave differently from ordinary programs.
- Analyse only binaries you are authorised to examine
- Keep samples in an isolated environment for dynamic work
- Do not treat agent output as proof; verify it with your own tools
What tips help you get reliable results?
Start with strings-driven leads. The reference notes say to find runtime.main and main.main in Go binaries and to collect src/ path strings and Option or Result handling in Rust. Both languages benefit from string-first analysis, which keeps you out of the runtime library code.
Finish each run by checking the checklist in the skill. Confirm that you have recovered key function names or an equivalent mapping, and that you have recorded the language runtime evidence you relied on.
- Look for runtime.main and main.main in Go samples
- Collect src/ path strings in Rust samples
- Use cross-references from interesting strings to find logic
- Record the runtime evidence behind each conclusion
What people use it for
- Recovering function names from a stripped Go malware sample so an analyst can follow its network code
- Reading panic strings and crate path hints in a stripped Rust tool to find its main logic
- Learning how Go and Rust binaries differ from C programs in a reverse engineering course
- Giving an analyst who already uses IDA or Ghidra a language-specific checklist for Go or Rust targets
Frequently asked questions
How do I install the go-rust-reverse skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. You can also upload the ZIP in the Claude apps under Settings, Capabilities, then Skills. The folder should contain SKILL.md and references/go-rust-notes.md.
Is the go-rust-reverse skill free to use?
The skill is listed under the MIT licence, which is stated in its details. The source does not describe any pricing, so check the page for current terms. The tools it refers to, such as GoReSym, IDA and Ghidra, are separate products with their own licences.
Does the skill run decompilers or GoReSym for me?
No. The skill is written guidance and does not run analysis tools itself. It tells the agent what to look for and which tools to use, so you still need those tools installed and available.
What do I need to use go-rust-reverse?
You need a local copy of the binary, plus the analysis tools the guide names, including GoReSym for Go metadata and IDA or Ghidra with Go or Rust plugins. radare2, strings or rabin2 are used for triage, and Frida is optional for dynamic work.
Which alternatives or related skills should I look at?
The skill points to malware-analysis for malware workflows, reverse-engineering for general RE, and ida-reverse and ghidra-reverse for those tools. Those related skills were not included in the reviewed files, so check them separately. For Go-specific work, GoReSym is named in the guide as the metadata tool.
Why doesn't the agent seem to use the skill, or why are references missing?
Check that the skill folder contains SKILL.md at its top level and that the install location is one Claude reads. Some references point to files under ../field-journal/ and other skills that were not in the reviewed package, so those links may not resolve even when the skill loads.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use go-rust-reverse if you analyse stripped Go or Rust binaries and already have tools like IDA, Ghidra or GoReSym, because it gives the agent a clear language-specific order of work. Pick something else if you want a finished automatic decompiler, since this skill is guidance only and does not run analysis itself. Do not use it on samples you lack authority to examine.
Download the skill