[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80825":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":14,"starSnapshotCount":14,"syncStatus":13,"lastSyncTime":36,"discoverSource":37},80825,"IDACLI","ze-mu-zhou\u002FIDACLI","ze-mu-zhou","AI-native IDA Pro kernel — unrestricted IDAPython over JSONL, persistent sessions, zero dependencies. Let your agent drive IDA, not call tools.","",null,"Python",41,2,0,3,4,9,1.43,false,"main",true,[23,24,25,26,27,28,29,30,31,32],"agent","ai","binary-analysis","claude-code","cli","codex","ctf","ida-pro-ai","pwn","reverse-engineering","2026-06-12 02:04:07","\u003Cdiv align=\"center\">\n\n# IDA-CLI\n\n**面向 AI 的 IDA Pro \u002F Hex-Rays JSONL 内核**\n\n让你的 AI Agent 以无限制、持久化、低延迟的方式直接操控真实 IDA 数据库 — 无需 GUI，无需 MCP，无需中间层。\n\n[![Python 3.11+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.11%2B-3776ab?logo=python&logoColor=white)](#环境要求)\n[![IDA Pro 9.0+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FIDA%20Pro-9.0%2B-4b0082)](#环境要求)\n[![零依赖](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F运行时依赖-0-brightgreen)](#环境要求)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue)](#license)\n\n> [!IMPORTANT]\n> 本项目专为 AI Agent 设计。强烈建议让你的 Agent（Claude Code \u002F Codex）自行完成安装和配置，而非手动操作。\n> 👉 [AI 安装指南](docs\u002FAI_INSTALL.md)\n\n**[English](README_EN.md)**\n\n\u003C\u002Fdiv>\n\n---\n\n## 为什么选择 IDA-CLI？\n\n现有的 IDA 集成方案通过 MCP 或 REST 暴露一组固定的工具，AI 只能在别人定义好的抽象边界内工作。IDA-CLI 采用完全不同的思路：直接把一个**原始 Python 内核**交给 Agent，通过 stdin\u002Fstdout JSONL 协议连接到活跃的 IDA 数据库。\n\n| | IDA-CLI | 典型 IDA MCP |\n|---|---|---|\n| **协议** | stdin\u002Fstdout 原始 JSONL | MCP transport + tool schema |\n| **执行模型** | 无限制 IDAPython — 想跑什么跑什么 | 只能调用预声明的 tool |\n| **状态** | 持久会话 + 内置缓存 | 每次调用无状态 |\n| **延迟** | 直接子进程，零网络开销 | HTTP\u002FWebSocket 开销 |\n| **AI 控制力** | 完全控制 — Agent 写任意 Python | 受限 — 只能用声明好的 tool |\n| **运行时依赖** | **0** | 不等 |\n\n## 核心特性\n\n### 无限制 Python 内核\nAgent 发送任意 IDAPython 代码，获得结构化 JSONL 响应。没有预定义的工具边界 — IDA 能做的，Agent 都能做。\n\n### AI 辅助层 (`ai.*`)\n40+ 个专为 AI 工作流设计的高层辅助函数，全部返回干净的 JSON：\n\n```python\nai.decompile(\"main\")          # Hex-Rays 伪代码\nai.functions()                 # 所有函数记录\nai.xrefs_to(\"printf\")         # 交叉引用\nai.cfg(\"vulnerable_func\")     # 控制流图\nai.pwn_overview()              # CTF\u002FPwn 一键分诊\nai.inventory_summary()         # 二进制快速概览\nai.rename(0x401000, \"win\")     # 数据库变更\nai.focus([\"main\", \"vuln\"])     # 多目标证据包\n```\n\n### 持久缓存与 Artifact\n- 内置索引缓存（`IDACache`），同一会话内避免重复 IDA 查询\n- 大结果自动写入 artifact 文件，不会撑爆协议响应\n- 缓存跨请求存活 — `save_cache()` \u002F `load_cache()` 支持跨会话复用\n\n### 并行分析\n在数据库副本上启动多个隔离的 IDA 内核进行并行分析。真正的进程级隔离，而非在单个 IDA 实例内做不安全的线程并发。\n\n### 数据库变更\n一等公民支持 `rename`、`set_comment`、`apply_type`、`patch_bytes`、`save_database` — 提供 propose\u002Fapply 分离机制和确定性冲突合并，适配多分支工作流。\n\n### Agent Bridge\n一行代码接入任意 Agent 框架：\n\n```python\nfrom ida_cli.agent_bridge import AgentSession\n\nwith AgentSession.start(\"target.i64\", require_ida=True) as ida:\n    overview = ida.result(\"__result__ = ai.pwn_overview()\")\n    pseudocode = ida.result(\"__result__ = ai.decompile('main')\")\n```\n\n### 多 Agent Skill 分发\n内置 **Claude Code**、**Codex**、**OpenAI Agents** 的 skill 文件 — 一条 `install_skill.py` 命令，Agent 即刻学会驱动 IDA。\n\n## 快速开始\n\n### 1. 前置条件\n\n```bash\n# 激活 idalib（在你的 IDA Pro 安装目录下）\npython -m pip install idapro\npython py-activate-idalib.py\n```\n\n### 2. 安装\n\n```bash\npython -m pip install -e .\n```\n\n### 3. 安装 Agent Skill\n\n```bash\n# 安装所有 Agent 风格\npython scripts\u002Finstall_skill.py all --force\n\n# 或者只装一个\npython scripts\u002Finstall_skill.py claude --force\npython scripts\u002Finstall_skill.py codex --force\n```\n\n### 4. 验证\n\n```bash\npython -B -m unittest discover -s tests -v\npython -B -m compileall -q src tests benches examples scripts\n```\n\n### 5. 运行\n\n```bash\n# 启动内核\nida-ai path\u002Fto\u002Ftarget.i64\n\n# 通过 stdin 发送 JSONL 请求\n{\"id\":\"probe\",\"code\":\"__result__ = __backend__\"}\n{\"id\":\"funcs\",\"code\":\"__result__ = ai.inventory_summary()\"}\n```\n\n## 架构\n\n```\n┌──────────────┐     stdin (JSONL)      ┌──────────────────┐\n│   AI Agent   │ ──────────────────────▶ │                  │\n│              │                         │   ida-ai kernel  │\n│  Claude Code │ ◀────────────────────── │                  │\n│  Codex       │     stdout (JSONL)      │  ┌────────────┐  │\n│  OpenAI      │                         │  │  IDAPython  │  │\n└──────────────┘                         │  │  + idalib   │  │\n                                         │  └────────────┘  │\n       ┌─────────────────────────────────┤                  │\n       │          AgentSession           │  ┌────────────┐  │\n       │    (Python Bridge 替代方案)     │  │  ai.*       │  │\n       └─────────────────────────────────┤  │  helpers    │  │\n                                         │  └────────────┘  │\n                                         │                  │\n                                         │  ┌────────────┐  │\n                                         │  │  IDACache   │  │\n                                         │  │  Artifacts  │  │\n                                         │  │  Mutations  │  │\n                                         │  └────────────┘  │\n                                         └──────────────────┘\n```\n\n## IDA-CLI vs IDA MCP\n\nIDA-CLI **不是** MCP server。根据你的 Agent 能力选择：\n\n| 选 IDA-CLI 当... | 选 IDA MCP 当... |\n|---|---|\n| Agent 能跑本地子进程 | Agent 只会说 MCP 协议 |\n| 需要持久状态和缓存 | 无状态调用就够了 |\n| 需要无限制 IDAPython | 更倾向预声明的 tool schema |\n| 需要 `AgentSession` 或原始内核 | 需要 MCP transport 兼容性 |\n\n## 环境要求\n\n| 组件 | 版本 |\n|---|---|\n| Python | >= 3.11 |\n| IDA Pro | >= 9.0（idalib 工作流） |\n| 运行时依赖 | **无** |\n\n## 项目结构\n\n```\nsrc\u002Fida_cli\u002F\n├── __main__.py          # 入口（ida-ai CLI）\n├── kernel.py            # JSONL 内核循环\n├── runtime.py           # Python 执行运行时\n├── protocol.py          # JSONL 编解码\n├── ai_helpers.py        # 40+ AI 辅助函数\n├── agent_bridge.py      # AgentSession 外部 Agent 桥接\n├── cache.py             # 持久索引缓存\n├── mutations.py         # 数据库变更辅助\n├── conflicts.py         # 确定性冲突合并\n├── artifacts.py         # 大结果文件写入\n├── parallel_runner.py   # 多内核并行执行\n├── supervisor.py        # 工作扇出规划\n└── worker_pool.py       # 隔离 Worker 管理\n```\n\n## 文档\n\n| 文档 | 说明 |\n|---|---|\n| [AI 安装指南](docs\u002FAI_INSTALL.md) | 面向 AI Agent 的安装流程 |\n\n## License\n\nMIT\n","IDA-CLI 是一个面向 AI 的 IDA Pro 内核，允许 AI Agent 通过 JSONL 协议直接操控 IDA 数据库，实现无限制的 IDAPython 执行、持久会话和零依赖。其核心功能包括无限制 Python 内核、AI 辅助层（提供超过 40 个专为 AI 工作流设计的辅助函数）、持久缓存与 Artifact 支持、并行分析能力以及数据库变更支持等。IDA-CLI 特别适合需要深度集成 AI 进行二进制分析、逆向工程或 CTF 挑战的场景，能够显著提高工作效率和灵活性。","2026-06-11 04:02:29","CREATED_QUERY"]