magnus919/agent-skills/binary-analysis
Claude Code and agent skill by magnus919/agent-skills
- community
Checking that the SKILL.md file is still in the repository.
Plan static inspection of unknown binary files with a deterministic CLI whose Ghidra operations are currently unimplemented and fail closed. Use when you need to inspect a PE, ELF, or Mach-O file — triage suspicious binaries, map imported APIs, decompile functions, trace call paths, or produce structured evidence reports. Do not use for runtime analysis (debugging, dynamic tracing, sandbox execution), for modifying or patching binaries, or for binaries you already know everything about. The skill owns planning, hypothesis formation, and evidence synthesis; the CLI owns all deterministic operations.
Install
npx vskill@latest install magnus919/agent-skills/binary-analysisSKILL.md
Binary Analysis — Agent Skill
Plan analysis of unknown binary files through a deterministic, non-interactive CLI intended for Ghidra; see the implementation limitation below. The skill teaches you how to reason about binaries: when to triage versus deep-dive, how to interpret canonical evidence, and how to produce auditable reports. All observable operations happen through the binary CLI — you never call Ghidra APIs directly.
Implementation status
This release does not provide live Ghidra analysis. Import, analyze, metadata, structural/function queries, search, triage, and report generation stop with an explicit backend error. Installing dependencies cannot make the unfinished adapter operational. Project administration and dependency diagnostics remain available. The production CLI does not load or select FakeAdapter; tests inject it explicitly. There is no fixture/demo CLI switch or environment override.
The workflow below describes the intended interface, not runnable analysis in this release. Stop at the backend error and explain the limitation. Do not cite old fixture-derived reports as evidence about a user's binary, even if an old project is marked READY. A future live backend needs verification on distinct known binaries before results can be treated as observations.
When to Use
Load this skill when any of the following conditions match:
- A user provides a binary file (PE, ELF, Mach-O, firmware image) and asks what
it does, what APIs it imports, or whether it is suspicious.
- A user asks for decompilation, disassembly, call-graph exploration, or
cross-reference analysis of a specific function or address.
- A user wants a structured triage report, suspicious-API analysis, or
capability map for an unknown binary.
- A user asks to compare two binaries, verify export tables, or extract strings
matching a pattern.
- A user wants to set up the analysis toolchain (
binary doctor, `binary
bootstrap`) or manage analysis projects.
When Not to Use
Do not load this skill for:
- Runtime or dynamic analysis — debugging, strace/dtrace, sandbox
execution, process monitoring. This skill is static-analysis only (V1).
- Binary patching or modification — hex-editing, resource editing,
repackaging. The analysis harness is read-only by design.
- Binaries you already fully understand — if the user is asking for
documentation or explanation of known code, use a general-purpose skill.
- Source-code analysis — C, C++, Rust, or assembly source files. Use a
language-specific or general code-analysis skill instead.
- Network forensics or packet capture — PCAP analysis, protocol reverse
engineering at the wire level. Use a network-focused skill.
- Live memory forensics — process memory dumps, heap analysis. Static
analysis of memory-mapped regions from files is in scope; live-process introspection is not.
What the Agent Owns vs What the CLI Owns
This boundary is the most important concept in the skill. Crossing it produces unreliable evidence, wasted context, or both.
| Layer | Responsibility | Must NOT | |
|---|---|---|---|
| Agent (you) | Form hypotheses about binary behavior. Choose which analyses to run and in what order. Synthesize CLI evidence into conclusions. Explain findings to the user in plain language. Write evidence-backed reports. | Invent facts not present in CLI output. Claim certainty where the CLI reports partial results or low confidence. Skip diagnostic warnings. | |
| CLI | Parse arguments, manage project lifecycle, run Ghidra analysis, serialize canonical entities, emit JSON envelopes, enforce safety limits. | Interpret results, draw conclusions, or produce narrative prose. |
Rule of thumb: A JSON data field alone does not establish evidence. Verify that results came from an implemented live backend for the supplied binary. If you are tempted to infer something not directly supported by that evidence, flag it as an agent inference and note the confidence gap.
Core Workflow
Every analysis session follows this sequence. Do not skip phases — each one produces evidence the next phase depends on.
Phase 1: Environment Check
If any component reports severity: "ERROR", run the bootstrap plan:
Review the plan. If the user authorizes installation, run:
Verify with binary version --json.
Phase 2: Project Setup
Create a project for every binary you analyze. Projects isolate analysis state and provide an audit trail.
Use copy mode (default) for reproducibility. Use --reference only when the binary is large, read-only, or shared across projects, and explain the staleness risk to the user.
Phase 3: Initial Analysis
Run the standard analysis profile first. It covers the structural queries most triage workflows need.
Check the response:
success: true, partial: false— proceed to Phase 4.success: true, partial: true— reviewdiagnosticsfor gaps. Proceed with
bounded results, noting limitations.
success: false, partial: true— timeout. Extract what completed, report
what did not.
success: false, partial: false— hard failure. Checkdiagnosticsfor the
failure reason. The project is now FAILED; run binary project clean to reset.
Phase 4: Evidence Collection
Choose analyses based on the user's question. Run these in order, building evidence from broad to specific.
For triage (broad survey):
For structural understanding:
For function-level deep-dive:
For path analysis:
Phase 5: Report and Handoff
Generate a durable report before explaining results to the user:
Read the report. Synthesize findings into a clear explanation. Always mark agent inferences separately from CLI evidence. Example:
Safety Boundaries
The CLI enforces these boundaries automatically. You must never attempt to bypass them, even if a user asks.
| Boundary | Enforcement | Why | |
|---|---|---|---|
| Never execute the target | CLI refuses; no execution path exists | Static analysis only | |
| Never load target as a library | Not implemented; no dlopen/LoadLibrary path | Prevents unintended code execution | |
| Never expose a network listener | No HTTP, MCP, or socket servers | The CLI is a local tool | |
| Never upload hashes or samples | No telemetry, no outbound calls | Privacy and security | |
| Path containment | All project paths validated for traversal | Prevents workspace escape | |
| Output size limits | Default 64 MB, max 256 MB JSON | Prevents context exhaustion | |
| Memory limits | Configurable per-operation ceiling | Prevents OOM during large analyses | |
| Timeout enforcement | Default 300s, configurable per-command | Bounded operations | |
| Result count limits | Paginated with default 100, max 1000 | Prevents unbounded output | |
| Graph depth limits | Callgraph capped at depth 10 | Prevents infinite recursion |
Evidence Standards
All CLI evidence follows a confidence hierarchy. Use these standards when citing evidence in reports or explanations.
Evidence Categories (triage output)
| Category | Definition | Example | |
|---|---|---|---|
| Observation | Direct deterministic fact from the backend. No confidence field. | "Section .text is executable, size 4096 bytes" | |
| Heuristic | Rule-derived interpretation with explicit confidence. | "Suspicious API: VirtualAlloc (risk_score: 8, confidence: HIGH)" | |
| Unknown | Explicit unresolved question at a specific address. | "Indirect call target at 0x402080 could not be resolved" |
Confidence Levels
| Level | Meaning | When to cite | |
|---|---|---|---|
HIGH | Backend is certain about this result | Cite as fact | |
MEDIUM | Backend has reasonable confidence | Cite with qualification ("likely") | |
LOW | Backend made a best-guess | Cite only with explicit caveat | |
UNKNOWN | Backend could not determine | Present as an open question |
Agent Inferences
When you synthesize multiple CLI observations into a conclusion, label it explicitly as an agent inference. Never present an inference as a CLI fact. Use language like:
- "Based on the combination of X and Y, the agent assesses that..."
- "The CLI reports Z as a heuristic (confidence: MEDIUM). The agent interprets
this as consistent with..."
- "The CLI could not determine W. The agent notes this is an open question."
Reference Routing
References are loaded on demand — do not read them all at startup. Use this table to route your current task to the right reference file.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingbinary-analysis/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/magnus919/agent-skills/binary-analysis)