
r2ai v1.4.4
Плагин Radare2 с ИИ, использующий локальные или удалённые LLM для декомпиляции, объяснения функций, обнаружения уязвимостей, переименования и скриптовой реверс-инженерии.
R2AI - Расширенный реверс-инжиниринг с помощью LLM для radare2
╭─────────────────────────────────╮
│ ,______ .______ .______ ,___ │
╭──╮ │ : __ \ \____ |: \ : __| │
│ _│_ │ | \____|/ ____|| _,_ || : | │
│ O O < | : \ \ . || : || | │
│ │╷ │ | |___\ \__:__||___| || | │
│ ││ │ |___| : |___||___| │
│ ─╯│ ╰─────────────────────────────────╯
╰───╯
Компоненты
Этот репозиторий содержит два плагина для radare2:
- r2ai — нативный ИИ-плагин для radare2
- decai — r2js-плагин с особым фокусом на декомпиляцию
Если вы хотите использовать radare2 с другими агентами через MCP:
- r2mcp — официальный radare2 mcp
- r2copilot — mcp с фокусом на CTF r2copilot
Если вы ищете автономный агент, ориентированный на radare2:
- r2agent — автоматизация рабочих процессов radare2 с помощью автономных агентов. r2agent
Возможности
- Настройка различных ролей и изменение промптов
- Скриптуемый через r2pipe с помощью команды r2ai
- Интерактивный режим REPL и пакетный режим из CLI или приглашения r2
- Поддержка автоматического режима (ReAct) для решения задач с помощью вызова функций
- Использование локальных и удалённых языковых моделей (ollama, openai, grok, anthropic, ..)
- RAG для markdown, кода или текстовых файлов с использованием встроенной векторной базы данных
- Встраивание вывода команды 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:
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
Сохранение настроек
Вы можете настроить и сохранить параметры конфигурации, используя файл настроек по умолчанию вашей ОС (например, ~/.radare2rc в Linux).
Например, следующая конфигурация устанавливает Claude 3.7 по умолчанию с максимальным числом выходных токенов 64000.
$ r2ai -E
затем вы можете ввести команды, которые нужно выполнить при загрузке плагина r2ai:
r2ai -e api=anthropic
r2ai -e model=claude-3-7-sonnet-20250219
r2ai -e max_tokens=64000
Дополнительное чтение
- В официальной r2book есть глава
- Статья Cryptax о lmstudio+gptoss
- Анализ вредоносного ПО с помощью r2ai от Cryptax и Daniel Nakov
- Анализ программы-вымогателя Linux/Trigona, ботнета Linux/Prometei и W32/SkyAI с помощью r2ai