Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Reverse Eng Binary Ninja

ASecurity

Reverse engineer in Binary Ninja — HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patching, Python API automation, and the optional MCP/HTTP bridge. Load when the user picks Binary Ninja, when its IL levels materially help data-flow analysis, or when IDA/Ghidra/radare2 results need an independent cross-check. Signals: "binaryninja", HLIL/MLIL, BinaryView scripting, Vector 35, localhost:9009 bridge.

20 stars
0 votes
0 copies
0 views
Added 10/4/2026
ai-agentspythonrustgogitapidatabase

Works with

cliapimcp

Security Analysis

A100/100

Scanned 10/4/2026

$npx -y skills add NoorQureshi/SploitAgent --skill reverse-eng-binary-ninja --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reverse Eng Binary Ninja?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Reverse Eng Binary Ninja
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/noorqureshi-reverse-eng-binary-ninja/badge)](https://www.skillsdirectory.com/skills/noorqureshi-reverse-eng-binary-ninja)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: reverse-eng-binary-ninja
description: >
  Reverse engineer in Binary Ninja — HLIL/MLIL/LLIL inspection, strings/imports/exports,
  cross-references, types, patching, Python API automation, and the optional MCP/HTTP bridge. Load
  when the user picks Binary Ninja, when its IL levels materially help data-flow analysis, or when
  IDA/Ghidra/radare2 results need an independent cross-check. Signals: "binaryninja", HLIL/MLIL,
  BinaryView scripting, Vector 35, localhost:9009 bridge.
domain: reverse-engineering
type: technique
stability: learning
modes: [pentest, bugbounty]
severity: medium
mitre: [T1592.002]
cwe: [CWE-121, CWE-798]
tools: [binary-ninja, binary-ninja-mcp]
schema_version: 1
---

# Binary Ninja reverse engineering

## When it applies
You're analyzing an in-scope binary (`scope.txt` / client-owned / your own sample —
`tradecraft-scope-roe`) and Binary Ninja is the chosen tool, its intermediate languages genuinely help
(SSA-form data-flow questions), or a high-impact conclusion from `reverse-eng-ida`,
`reverse-eng-ghidra`, or `reverse-eng-radare2` deserves a second decompiler's opinion. Binary Ninja is
commercial software — it needs a valid Vector 35 license, installed by the user.

## Why it works
Binary Ninja lifts every function into layered ILs — LLIL close to the machine, MLIL in SSA form
(variables versioned, so data flow is explicit), HLIL close to source. Questions like "where does this
attacker-controlled value come from" become IL queries instead of manual register tracking, and the
whole analysis is scriptable through one Python `BinaryView` API.

## Method
1. **Baseline the target first** — record file hash, architecture, entry points, segments,
   imports/exports, and representative strings before touching anything. Work on a copy whenever you
   intend to patch or save database changes.
2. **Pick the integration:**
   - **GUI / Python API** — preferred when Binary Ninja is already open or analysis is interactive.
   - **MCP bridge** — only when explicitly requested. The reviewed community option is
     `fosdickio/binary_ninja_mcp` (GPL-3.0, not an official Vector 35 component; min Binary Ninja
     build 4000). Keep its HTTP listener on `127.0.0.1:9009` — never expose it to the network.
     Pin the bridge version:
     ```
     npx -y binary-ninja-mcp@1.0.0 --host 127.0.0.1 --port 9009
     ```
     The bridge only works once Binary Ninja is running with a binary open and the plugin endpoint
     responds; register it only in the MCP client the user chose. Discover the live tool list rather
     than assuming every upstream function exists (families include view selection, `list_imports`,
     `list_exports`, `list_strings`, `decompile_function`, `get_il`, callers/callees, xrefs, types,
     comments, renames, byte patching).
3. **Navigate by references, not linearly.** Follow call sites and cross-references *before*
   interpreting any function in isolation.
4. **Pick the right IL level per question:** HLIL for readable logic, MLIL SSA for data-flow tracing,
   LLIL/disassembly when the lifting loses instruction-level behavior (self-modifying code, exotic
   instructions, anti-analysis tricks).
5. **Annotate incrementally** — names, comments, types — keeping original addresses in your notes so
   every renamed symbol stays traceable.
6. **Treat mutations as mutations.** Byte patches, prototype changes, and saved-file writes happen
   only when requested, on a preserved copy of the original artifact.
7. **Cross-check high-impact conclusions** with a second evidence source or another disassembler
   before they go in a report.

## Gotchas
- **The lifting lies occasionally** — HLIL can drop or fold behavior; when pseudocode contradicts the
  disassembly, trust the disassembly and drop to LLIL.
- **License-gated** — if Binary Ninja can't open the target or isn't licensed, fall back to
  `reverse-eng-ghidra` (free) rather than stalling.
- **The MCP bridge is third-party and GPL-3.0** — review that boundary before installing it; keep it
  localhost-only.
- **"IL looks too clean" on packed samples** — unpack first (`reverse-eng-deobfuscation`); lifted
  junk reads like logic if you want it to.
- Analyze untrusted binaries in an isolated VM.

## Verify success
Report concrete addresses, function names, the IL level each conclusion was drawn at, supporting
strings/imports, a confidence note, and reproduction steps — so a reviewer can re-walk the analysis in
the GUI and land on the same functions.

## References
Binary Ninja docs & Python API; fosdickio/binary_ninja_mcp (GPL-3.0 bridge); Vector 35.

---
_Portions adapted from [reverse-skill](https://github.com/zhaoxuya520/reverse-skill) by zhaoxuya520, MIT License._

Attribution

NoorQureshiNoorQureshi
View sourceSee grades on GitHubMore from NoorQureshi →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →