Integration
bn
Agent-oriented command-line interface for the Binary Ninja database already open in the GUI, reached through a companion plugin that listens on a local Unix-domain socket. Agents read decompilation, IL, disassembly, cross-references, callsites, types and data, export multi-function bundles and run unrestricted Python inside Binary Ninja; renames and prototype, structure and type edits can be previewed, are verified after they apply and roll back on failure. Large text output spills to hashed artifact files, and a packaged Codex skill describes the workflow.
- Targets
- Binary
- Category
- Independent agent workflows
- Relationship
- Independent agent integration
- Sources reviewed
Requirements & limits
- Latest release at review: v0.15.0, published on GitHub and PyPI as bn-cli on 2026-09-04; the reviewed master commit is that tag and the repository's last push. It needs Python 3.12+ and installs as a uv tool; bn plugin install links the BN Agent Bridge plugin into Binary Ninja, and bn skill install links the skill into the skills folder of the Codex home directory. The CLI and the loaded plugin must share bridge protocol 2, so Binary Ninja is restarted or its plugins reloaded after upgrades.
- Work happens against a database open in the Binary Ninja GUI; the README says the companion works with a personal license and needs no headless license. The bridge socket lives in the user's cache directory, and the README names no supported operating systems or Binary Ninja versions. With several views open, commands need an explicit --target selector instead of silently using the active tab.
- The analyst supplies the binary and database; the repository holds no target binaries. bn py runs unrestricted Python with the user's privileges inside Binary Ninja, and its writes bypass the preview, verification and rollback of built-in mutations; the reviewed bridge code adds no authentication beyond access to the socket path. Whole-database text and constant searches stop after a default five-second analysis budget and report incomplete results.
- CI runs pytest on Python 3.12 and 3.14 against a stub binaryninja module, checks release metadata and smoke-tests plugin and skill installation from the built wheel, so no real Binary Ninja instance is exercised. Mutations report verified, noop, unsupported or verification_failed, and the README notes that decompiled output can stay stale after type changes until types are read back or analysis is refreshed.
- MIT, added to the repository in v0.14.1; Binary Ninja keeps its own license terms. Nothing was installed or run, and the reviewed sources establish no REA connection.
About this entry
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · banteg/bn · Revision bd91032
- src/bn/assets/skills/bn/SKILL.md GitHub · banteg/bn · Revision bd91032
- src/bn/assets/plugin/bn_agent_bridge/bridge.py GitHub · banteg/bn · Revision bd91032
- src/bn/assets/plugin/bn_agent_bridge/server.py GitHub · banteg/bn · Revision bd91032
- src/bn/paths.py GitHub · banteg/bn · Revision bd91032
- pyproject.toml GitHub · banteg/bn · Revision bd91032
- CHANGELOG.md GitHub · banteg/bn · Revision bd91032
- .github/workflows/ci.yml GitHub · banteg/bn · Revision bd91032
- tests/test_bridge.py GitHub · banteg/bn · Revision bd91032
- LICENSE GitHub · banteg/bn · Revision bd91032
- https://github.com/banteg/bn/releases/tag/v0.15.0
- https://pypi.org/project/bn-cli/0.15.0/
More in Agents and MCP
- REA — Reverse Engineer Anything · Project
- Official reverse-engineer-anything skill · Integration
- dsh-mcp-rea · Integration
- rea-jev · Integration
- rea-casebook · Integration
- Eleven · Integration