Agent skill

Ida Agent Bridge

by TsingShui in TsingShui/ida-agent-bridge

A skill your agent uses when writing ida-domain scripts, querying .i64 databases, or analyzing binaries.

MITAuto-check passed

Install Ida Agent Bridge

skills CLI
$ npx skills add TsingShui/ida-agent-bridge --skill ida-agent-bridge -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TsingShui/ida-agent-bridge ida-agent-bridge --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ida-agent-bridge
GitHub stars
109
Token cost
~1.7k tokens
SKILL.md length
125 words
Files
41
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when writing ida-domain scripts, querying .i64 databases, or analyzing binaries.

  • Works in 2 steps: ${CLAUDE_SKILL_DIR}/reference/ida-domain.… → ${CLAUDE_SKILL_DIR}/reference/ida-domain-…
  • Writing ida-domain scripts
  • SKILL.md covers 启动 ida-bridge, 工作流, 快捷指令 and Python 脚本, plus 1 more section
  • Runs Python scripts from its folder; calls python

What it does

Ida Agent Bridge is an agent skill from TsingShui/ida-agent-bridge. Use when writing ida-domain scripts, querying .i64 databases, or analyzing binaries. Provides short-connection REPL commands (disasm, xrefs, hexdump, pseudocode, rename) and arbitrary Python script execution piped via nc, with real-time file sync on rename/comment/patch.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 44 other files (for example `README.en.md`, `README.md` and `reference/ida-domain-advanced.md`).

It works with Python. The repository describes itself as: A CLI-first, headless, AI-native IDA Pro bridge built on Unix philosophy. The licence is MIT.

When your agent uses it

  • Writing ida-domain scripts
  • Querying .i64 databases
  • Analyzing binaries

Example prompts

  • “/ida-agent-bridge”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. ${CLAUDE_SKILL_DIR}/reference/ida-domain.md — 日常必用 API(函数、名称、字节、xrefs、指令、字符串、导入、类型、伪代码基础、微码基础)。覆盖 ~90% 场景。
  2. ${CLAUDE_SKILL_DIR}/reference/ida-domain-advanced.md — Pseudocode CTree 深层操作和 Microcode 修改/分析的高级 API。

What it can do on your machine

Read from SKILL.md and the folder at commit 016b928. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ida Agent Bridge loads about 1.7k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 125 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from TsingShui/ida-agent-bridge at commit 016b928, republished under its MIT licence (© TsingShui). 125 words, ~1,709 tokens.

Download SKILL.mdSave it as .claude/skills/ida-agent-bridge/SKILL.md (or your agent's skills folder). This skill also uses 40 other files; get the full folder from GitHub.
name
ida-agent-bridge
description
Use when writing ida-domain scripts, querying .i64 databases, or analyzing binaries. Provides short-connection REPL commands (disasm, xrefs, hexdump, pseudocode, rename) and arbitrary Python script execution piped via nc, with real-time file sync on rename/comment/patch.

IDA Domain API Reference

启动 ida-bridge

首先执行 ps 确认现有进程:

bash
ps -ef | grep ida-bridge | grep -v grep

根据结果判断:

  • 有进程 → 从命令行参数里直接读取文件路径和端口号,跳到步骤 2
  • 无进程 → 询问用户:

    没有发现正在运行的 ida-bridge。请告诉我:

    1. 要分析的文件路径(.i64 / .so)
    2. 需要我帮你启动吗?

用户确认启动后:

bash
ida-bridge /path/to/file.i64 <port> --skip-export &
  • 端口默认 13120,如有冲突自选其他端口
  • 默认加 --skip-export,不做全量导出(速度更快)
  • 如果任务明确需要导出(批量分析、读 function_index.tsv 等),先问用户:

    这个任务可能需要导出函数索引,是否启用导出?(首次较慢)

启动后用 !ping 确认就绪。

Agent 只使用短连接模式。 --human-shell 是给人用的交互模式,Agent 不应使用。


工作流

优先级:REPL 指令 → Python 脚本 → 原生 ida_ 模块*

REPL 快捷指令(echo '!cmd' | nc localhost PORT)
      ↓ 指令无法满足(批量操作/复杂逻辑)
Python 脚本(cat script.py | nc localhost PORT)
      ↓ ida-domain 没有封装
原生 ida_* 模块(直接在脚本中调用)

快捷指令

不需要写 Python,直接发单行命令。这是最快的操作方式。

地址和函数名均可互换(0x... 十六进制地址或符号名)。

探索与查询
bash
echo '!afl' | nc localhost <port>                      # 列出所有函数
echo '!afl jni' | nc localhost <port>                  # 搜含 jni 的函数名
echo '!afi main' | nc localhost <port>                 # 函数详情
echo '!iz ssl' | nc localhost <port>                   # 搜含 ssl 的字符串
echo '!axi malloc' | nc localhost <port>               # 导入符号的所有调用点

输出格式:

# !afl — TAB 分隔: 地址  名称  大小(hex)  callers=N
0x11f0	_ossl_fnv1a_hash	0x38	callers=0
0x1228	_ossl_ctype_check	0x28	callers=2

# !afi — 键值对
name:     _ossl_fnv1a_hash
addr:     0x11f0 - 0x1228
size:     0x38 (56)
callers:  0
callees:  0

# !iz — 地址  内容  refs=N  [引用函数]
0x810ee	ossltest  refs=1  [_alpn_select_cb]

# !axi — 地址  引用类型  [所在函数]
0x12f0    CALL_NEAR  [in: _SSL_read]
交叉引用
bash
echo '!axt 0x1234' | nc localhost <port>               # xrefs to 地址
echo '!axf main' | nc localhost <port>                 # xrefs from 函数名

输出格式:

# !axt / !axf — 地址  引用类型  [所在函数]
0x2f020    CALL_NEAR  [in: _ossl_qlog_set_filter]
0x2f064    CALL_NEAR  [in: _ossl_qlog_set_filter]
反汇编与伪代码
bash
echo '!pd 0x1234' | nc localhost <port>                # 从地址反汇编 16 条(默认)
echo '!pd 0x1234 32' | nc localhost <port>             # 反汇编 32 条
echo '!pdf main' | nc localhost <port>                 # 整函数反汇编(带 CFG block 标注)
echo '!pdc 0x1234' | nc localhost <port>               # 伪代码
echo '!pdc 0x1234 -s' | nc localhost <port>            # 过滤变量声明(大函数用)
echo '!mc main' | nc localhost <port>                  # 微码(默认 generated)
echo '!mc main lvars' | nc localhost <port>            # 微码 maturity: generated/preopt/locopt/calls/glbopt1/glbopt2/glbopt3/lvars
echo '!deps main' | nc localhost <port>                # 递归调用链(默认深度 3)
echo '!deps main 5' | nc localhost <port>              # 调用链深度 5

输出格式:

# !pd — 地址  指令助记符  操作数
0x11f0  MOV             X8, X0
0x11f4  MOV             X0, #0xCBF29CE484222325

# !pdf — 带 CFG block 标注的反汇编
; block 0  [0x11f0 - 0x1208]
0x11f0  MOV             X8, X0
0x1204  CBZ             X1, locret_1224    ; true→ 0x1224  false→ 0x1208
; block 1  [0x1208 - 0x1210]
0x1208  MOV             X9, #0x100000001B3    ; → 0x1210

# !pdc — C 伪代码,首行注释标注函数名和地址
; _ossl_fnv1a_hash @ 0x11f0
__int64 __fastcall ossl_fnv1a_hash(unsigned __int8 *a1, __int64 a2)
{
  ...
}

# !deps — 缩进树形调用链
_ossl_isdigit  [0x1250]
  _ossl_ctype_check  [0x1228]
修改与注释
bash
echo '!afn 0x1234 sign_request' | nc localhost <port>  # 重命名函数(自动同步导出,caller 级联刷新)
echo '!cc main entry point' | nc localhost <port>      # 设置函数级注释(Function Comment)
echo '!ca 0x1234 key check here' | nc localhost <port> # 设置地址级注释(Address Comment)
工具
bash
echo '!sb  01 14 40 f9' | nc localhost <port>           # 搜索字节序列(全局)
echo '!sb  01 14 40 f9 0x1000 0x5000' | nc localhost <port>  # 限定地址范围搜索
echo '!hd  0x1234' | nc localhost <port>                # hexdump 64 字节(默认)
echo '!hd  0x1234 128' | nc localhost <port>            # hexdump 128 字节
echo '!hd  func_name' | nc localhost <port>            # 符号名同样支持
echo '!ping' | nc localhost <port>                     # 探活,返回打开的文件路径
echo '!pwd' | nc localhost <port>                      # 当前工作目录
echo '!quit' | nc localhost <port>                     # 关闭服务

输出格式:

# !sb — 地址  函数名+偏移  [所在函数]
0x2e00  _ssl_ctrl+0x20  [in: _ssl_ctrl]
0x3a1f  _dtls1_start_timer+0x43  [in: _dtls1_start_timer]

# !hd — 地址  hex bytes  ASCII
0x11f0  e8 03 00 aa a0 64 84 d2 40 84 b0 f2 80 9c d3 f2  .....d..@.......

# !ping — 返回当前打开的文件绝对路径
/path/to/libssl.dylib
与 Bash 工具联动

REPL 输出是纯文本,可直接接 grep、sort、awk、jq 等工具处理,无需额外解析。

bash
# 找被调用最多的函数
echo '!afl' | nc localhost <port> | sort -t= -k2 -rn | head -10

# 找所有大于 0x200 字节的未命名函数
echo '!afl' | nc localhost <port> | awk -F'\t' '$3 >= 0x200 && $2 ~ /^sub_/'

# 从伪代码提取所有被调用函数名
echo '!pdc _wpacket_intern_close' | nc localhost <port> | grep -oP '\b\w+(?=\()' | sort -u

# 找包含特定字符串的函数(先搜字符串,再查引用)
ADDR=$(echo '!iz encrypt' | nc localhost <port> | awk 'NR==1{print $1}')
echo "!axt $ADDR" | nc localhost <port>

# 批量对所有 JNI 函数生成伪代码并保存
echo '!afl jni' | nc localhost <port> | awk '{print $1}' | while read addr; do
  echo "!pdc $addr" | nc localhost <port> > "/tmp/pdc_${addr}.c"
done

Python 脚本

指令不够用时才写脚本。db 已预注入,无需 import。

导出目录结构(启动时指定的 <export_dir>,默认 ./ida-bridge-<文件名>/):

<export_dir>/
├── decompile/            <name>.c  — 每个函数的 Hex-Rays 伪代码
├── strings.tsv           addr\tencoding\tcontents
├── imports.tsv           addr\tmodule\tname
├── exports.tsv           addr\tname
├── function_index.tsv    addr\tname\tlogic_lines\tbranch_density\tcall_density\tstring_density\topaque_density\ttotal_insns\tbitop_density\txor_density\tcaller_count\tfile\tcallers\tcallees
├── hash_index.json       函数地址→CRC32 hash,增量导出用
└── export_config.json    导出配置(compute_metrics 等)
bash
cat my_script.py | nc localhost <port>

典型脚本模式:

python
# 批量重命名(hooks 自动同步导出)
for func in db.functions.get_all():
    name = db.functions.get_name(func)
    if name.startswith("sub_") and func.end_ea - func.start_ea > 0x200:
        print(hex(func.start_ea), name)

db.names.set_name(0x12AB, 'sign_request')

API 文档规则

写脚本前必须先读对应 API 文档:

  1. ${CLAUDE_SKILL_DIR}/reference/ida-domain.md — 日常必用 API(函数、名称、字节、xrefs、指令、字符串、导入、类型、伪代码基础、微码基础)。覆盖 ~90% 场景。
  2. ${CLAUDE_SKILL_DIR}/reference/ida-domain-advanced.md — Pseudocode CTree 深层操作和 Microcode 修改/分析的高级 API。

不确定 API 用法时,先 Read 文档,不要在 REPL 里试探。

ida-domain 做不到的降级到原生 ida_* 模块。ida-domain 对象可直接传给原生 SDK 函数。

AvoidDo Instead
idc.* functionsUse ida_* modules
Hardcoded addressesUse names, patterns, or xrefs

© TsingShui, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 40 other files in the repository root of TsingShui/ida-agent-bridge.

  • SKILL.md
  • .gitignore
  • LICENSE
  • README.en.md
  • README.md
  • pyproject.toml
  • reference/ida-domain-advanced.md
  • reference/ida-domain.md
  • src/ida_bridge/__init__.py
  • src/ida_bridge/cli.py
  • src/ida_bridge/cmd/__init__.py
  • src/ida_bridge/cmd/decompile.py
  • src/ida_bridge/cmd/disasm.py
  • src/ida_bridge/cmd/edit.py
  • src/ida_bridge/cmd/hexdump.py
  • src/ida_bridge/cmd/navigation.py
  • src/ida_bridge/cmd/search.py
  • … and 24 more

Open the folder on GitHubat commit 016b928

Compare with similar skills

Ida Agent Bridge next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ida Agent Bridge compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ida Agent Bridge this skillTsingShui/ida-agent-bridge109—~1.7kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
PDF Processinganthropics/skills180k47 repos~2kAutomated safety check: PassProprietary
NotebookLM Research AssistantPleasePrompto/notebooklm-skill7.8k14 repos~2.4kAutomated safety check: NotesMIT
Manim Video Productionbrowser-use/video-use29k6 repos~3kAutomated safety check: PassMIT
PPT Masterhugohe3/ppt-master59k1 repos~2.5kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 47 repos~2k tokens
    Documents & OfficeAuto-check passed
  • NotebookLM Research Assistant

    PleasePrompto/notebooklm-skill

    Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.

    7.8k GitHub starsUsed in 14 repos~2.4k tokens
    Knowledge ManagementAuto-check: notes
  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    29k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • PPT Master

    hugohe3/ppt-master

    Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.

    59k GitHub starsUsed in 1 repo~2.5k tokens
    Documents & OfficeAuto-check passed
  • Scikit Learn

    zLanqing/codex-claude-academic-skills

    Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.

    4.7k GitHub starsUsed in 16 repos~3.9k tokens
    Data & AnalyticsAuto-check passed

Works with

Questions about Ida Agent Bridge

What does Ida Agent Bridge do?

A skill your agent uses when writing ida-domain scripts, querying .i64 databases, or analyzing binaries. Ida Agent Bridge is an agent skill from TsingShui/ida-agent-bridge.i64 databases, or analyzing binaries.

When should I use Ida Agent Bridge?

Ida Agent Bridge fits situations like: writing ida-domain scripts; querying .i64 databases; analyzing binaries.

How do I install Ida Agent Bridge in Claude Code?

Run `npx skills add TsingShui/ida-agent-bridge --skill ida-agent-bridge -a claude-code`. Or copy the skill folder (the TsingShui/ida-agent-bridge repository) into .claude/skills/ida-agent-bridge in your project. Claude Code loads it when a task matches its description.

How do I install Ida Agent Bridge in Codex?

Run `npx skills add TsingShui/ida-agent-bridge --skill ida-agent-bridge -a codex`. Or copy the skill folder (the TsingShui/ida-agent-bridge repository) into .agents/skills/ida-agent-bridge in your project. Codex loads it when a task matches its description.

Can I use Ida Agent Bridge in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TsingShui/ida-agent-bridge --skill ida-agent-bridge -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ida-agent-bridge, .gemini/skills/ida-agent-bridge, .github/skills/ida-agent-bridge and .opencode/skills/ida-agent-bridge in your project.

What does Ida Agent Bridge need to run?

Going by SKILL.md and its folder, Ida Agent Bridge needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Ida Agent Bridge access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ida Agent Bridge safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ida Agent Bridge use?

Ida Agent Bridge is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ida Agent Bridge use?

About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ida Agent Bridge?

Skills that share tags, products or a category with Ida Agent Bridge: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ida Agent Bridge?

TsingShui (a GitHub user) maintains it in TsingShui/ida-agent-bridge, which has 109 GitHub stars. The repository was last updated on May 15, 2026.

Source: TsingShui/ida-agent-bridge on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.