Что такое REA и как это работает
Проект REA (Reverse Engineer Anything) представляет собой инфраструктуру для подключения AI-агентов к инструментам реверс-инжиниринга. В отличие от простых чат-ботов, REA позволяет агентам (таким как Claude Code, Cursor, Gemini CLI) самостоятельно исследовать приложения без исходного кода. Процесс состоит из трех этапов:
- Decompile: Извлечение читаемого кода, строк и метаданных из бинарников.
- Understand: Анализ потока выполнения кода для понимания логики конкретной функции.
- Recreate: Генерация кода новой функции, адаптированной под стек разработчика, на основе полученных данных.
Ключевая особенность — локальный характер анализа. Приложения не загружаются на сторонние серверы, что обеспечивает безопасность исходных данных.
Поддерживаемые платформы и инструменты
REA интегрируется с мощными дизассемблерами, такими как Hopper и Ghidra. Инструмент автоматически настраивает MCP (Model Context Protocol) для связи агента с анализатором. Поддерживаемые ОС включают macOS 12+, Ubuntu 24.04+, Fedora 41+ и Arch Linux. Поддержка Windows для Ghidra пока находится в экспериментальной стадии и недоступна из-за ограничений прав доступа.
| Компонент | Требования и детали |
|---|---|
| Анализ бинарников | Требует Hopper (с лицензией или демо-режимом) или Ghidra 12.1.4 |
| Среда выполнения | Node.js 22.19+ или 24.11+, npm |
| Java для Ghidra | 64-bit JDK 21 (обязательно для Linux/macOS) |
| Интеграция с AI | Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf |
| Безопасность | Анализ происходит локально; временные проекты удаляются после сессии |
Технические детали и ограничения
При использовании Ghidra REA предоставляет 22 операции для чтения функций, строк, символов, ассемблерного кода и вызовов. Важно отметить, что инструмент не претендует на восстановление оригинального исходного кода, а генерирует псевдокод и объясняет логику работы. Результаты всегда сопровождаются доказательствами (evidence) и указанием ограничений анализа.
Установка и запуск
Быстрый старт осуществляется через npm:
npx rea-agents setup
После настройки можно запустить диагностику окружения командой npx -y rea-agents@latest doctor или начать анализ конкретного приложения, например, системного Notes.app. Для пользователей Linux доступна установка через скрипт с автоматической установкой зависимостей (Xvfb, Python 3) для работы демо-режима Hopper.
Источник: Github ↗
