{
  "added_at": "2026-11-02",
  "additional_evidence_urls": [
    "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/src/bn/assets/skills/bn/SKILL.md",
    "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/src/bn/assets/plugin/bn_agent_bridge/bridge.py",
    "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/src/bn/assets/plugin/bn_agent_bridge/server.py",
    "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/src/bn/paths.py",
    "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/pyproject.toml",
    "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/CHANGELOG.md",
    "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/.github/workflows/ci.yml",
    "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/tests/test_bridge.py",
    "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/LICENSE",
    "https://github.com/banteg/bn/releases/tag/v0.15.0",
    "https://pypi.org/project/bn-cli/0.15.0/"
  ],
  "category": "agent-workflows",
  "description_en": "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.",
  "description_zh": "面向智能体的命令行工具，用于操作已在 Binary Ninja 图形界面中打开的数据库，通过监听本地 Unix 域套接字的配套插件连接。智能体可读取反编译结果、中间语言、反汇编、交叉引用、调用点、类型和数据，导出多函数打包结果，并在 Binary Ninja 内运行不受限制的 Python；重命名以及函数原型、结构体和类型修改可先预览，应用后会校验结果，失败时回滚。较大的文本输出会转存为附带哈希的产物文件，随包提供的 Codex 技能说明了使用流程。",
  "entry_url": "https://awesomerea.org/resources/bn-binary-ninja-agent-cli/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/bn-binary-ninja-agent-cli/",
  "evidence_url": "https://github.com/banteg/bn/blob/bd910329547303c787a68fcd8309e83ab1be6590/README.md",
  "group": "agents",
  "id": "bn-binary-ninja-agent-cli",
  "json_url": "https://awesomerea.org/resources/bn-binary-ninja-agent-cli/record.json",
  "kind": "integration",
  "markdown_url": "https://awesomerea.org/resources/bn-binary-ninja-agent-cli/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/bn-binary-ninja-agent-cli/index.md",
  "name": "bn",
  "name_zh": "bn：面向智能体的 Binary Ninja 命令行工具",
  "record_type": "resource",
  "relationship": "independent-agent-integration",
  "requirements": [
    "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."
  ],
  "requirements_zh": [
    "审阅时最新版本为 v0.15.0，于 2026-09-04 在 GitHub 和 PyPI（包名 bn-cli）发布；所审阅的 master 提交即该标签，也是仓库最近一次推送。需要 Python 3.12+，以 uv 工具方式安装；bn plugin install 将 BN Agent Bridge 插件链接到 Binary Ninja，bn skill install 将技能链接到 Codex 主目录下的 skills 文件夹。命令行工具与已加载的插件须使用相同的桥接协议版本 2，因此升级后需重启 Binary Ninja 或重新加载插件。",
    "操作对象是在 Binary Ninja 图形界面中打开的数据库；README 称配套插件可配合个人许可证使用，无需无界面许可证。桥接套接字位于用户缓存目录，README 未列出支持的操作系统或 Binary Ninja 版本。同时打开多个视图时，命令需显式指定 --target 选择器，而不会默认使用当前标签页。",
    "二进制文件和数据库由分析者自行提供，仓库中没有目标二进制。bn py 以用户权限在 Binary Ninja 内运行不受限制的 Python，其写入不经过内置修改操作的预览、校验和回滚；所审阅的桥接代码除套接字路径的访问权限外未设其他身份验证。全库文本和常量搜索默认在五秒分析预算后停止，并报告结果不完整。",
    "CI 在 Python 3.12 和 3.14 上针对模拟的 binaryninja 模块运行 pytest，检查发布元数据，并用构建出的 wheel 冒烟测试插件与技能安装，因此并未在真实的 Binary Ninja 中运行。修改操作返回 verified、noop、unsupported 或 verification_failed；README 提示类型修改后反编译显示可能仍是旧内容，需回读类型或刷新分析。",
    "采用 MIT 许可，v0.14.1 起加入仓库；Binary Ninja 保留自身的许可条款。"
  ],
  "targets": [
    "binary"
  ],
  "url": "https://github.com/banteg/bn",
  "verification": "source-reviewed",
  "verified_at": "2026-10-20"
}
