
新发布Sep 7, 2026
r2ai v1.4.4
Radare2 AI 插件,使用本地或远程 LLM 进行反编译、函数解释、漏洞检测、重命名和脚本化逆向工程。
R2AI - 使用 LLM 增强 radare2 逆向
╭─────────────────────────────────╮
│ ,______ .______ .______ ,___ │
╭──╮ │ : __ \ \____ |: \ : __| │
│ _│_ │ | \____|/ ____|| _,_ || : | │
│ O O < | : \ \ . || : || | │
│ │╷ │ | |___\ \__:__||___| || | │
│ ││ │ |___| : |___||___| │
│ ─╯│ ╰─────────────────────────────────╯
╰───╯
组件
本仓库包含两个针对 radare2 的插件:
如果你想通过 MCP 将 radare2 与其他智能体一起使用:
- r2mcp - 官方 radare2 mcp
- r2copilot - 专注于 CTF 的 mcp r2copilot
如果你在寻找专注于 radare2 的自主智能体:
- r2agent - 通过自主智能体自动化 radare2 工作流。r2agent
功能特性
- 配置不同的角色并自定义提示词
- 可通过 r2ai 命令经由 r2pipe 进行脚本化
- 可从 cli 或 r2 提示符实时使用 repl 和批量模式
- 支持自动(ReAct)模式,通过函数调用解决问题
- 使用本地和远程语言模型(ollama、openai、grok、anthropic 等)
- 使用其原生向量数据库对 markdown、代码或文本文件进行 RAG 检索增强生成
- 嵌入 r2 命令的输出,并针对给定数据解答问题
用户自定义提示词
[0x00000000]> r2ai -q
explain: Explain the current function -
devices: Find and explain devices used -
libs: Group imports by Libraries -
varnames: Better variable names -
autoname: Automatically suggest a better name for this function -
vulns: Find vulnerabilities or bugs in the current function -
signature: Suggest an improved function signature -
dlopen: List libraries loaded with dlopen - Some libraries are loaded
decompile: Augmented decompilation based on LLM -
[0x00000000]>
安装
安装任何 r2ai 组件的推荐方式是通过 r2pm:
$ r2pm -Uci r2ai
$ r2pm -Uci decai
使用 r2ai
- 将 r2ai 命令添加到 radare2 shell 中:
r2 -qc r2ai - 你也可以运行 $PATH 中的包装器:
r2pm -r r2ai
将你的 API 密钥放入环境变量中,或使用配置文件:
$ export ANTHROPIC_API_KEY=sk-ant-api03-CENSORED
$ export OPENAI_API_KEY=sk-proj-6rlSPS-zN1v...
或者编辑 API 密钥文件 ~/.config/r2ai/apikeys.txt,然后运行:
$ r2ai -K
保存设置
你可以使用操作系统的默认设置文件(例如 Linux 上的 ~/.radare2rc)来自定义并保存你的配置设置。
例如,以下配置将 Claude 3.7 设为默认模型,并将最大输出 token 数设置为 64000。
$ r2ai -E
然后你可以输入在 r2ai 插件加载时要运行的命令:
r2ai -e api=anthropic
r2ai -e model=claude-3-7-sonnet-20250219
r2ai -e max_tokens=64000
延伸阅读
- 官方 r2book 中有一章介绍 r2ai
- Cryptax 的 lmstudio+gptoss 博客文章
- Cryptax 和 Daniel Nakov 撰写的使用 r2ai 进行恶意软件分析
- 使用 r2ai 分析 Linux/Trigona 勒索软件、Linux/Prometei 僵尸网络 和 W32/SkyAI