REA (Reverse Engineer Anything): установка и использование навыков обратного инжиниринга в Claude Code / Codex
REA — это morluto/rea на GitHub: MCP-сервер под лицензией MIT, CLI и агентный навык reverse-engineer-anything, которые позволяют Claude Code, Codex, Cursor и другим клиентам разбирать бинарники, приложения Electron, сборки .NET, APK и сайты — локально и с доказательствами. Дальше — проверенная установка, первые команды и то, где на самом деле проходит юридическая граница.
REA вкратце
- Один проект, три части: npm-пакет `rea-agents` содержит CLI `rea`, локальный MCP-сервер и навык `reverse-engineer-anything`, который подсказывает агенту, какой инструмент подходит для какой цели.
- Установка — одна команда с подтверждением: `npx rea-agents setup` перечисляет точные пути конфигурации, резервные копии и места установки навыка, а затем ждёт вашего одобрения. До одобрения ничего не записывается.
- У Claude Code, Codex и Cursor есть и собственный путь — две подсказки `/plugin`, две команды `codex plugin` либо плагин из Cursor Marketplace — а setup умеет настраивать 28 клиентов напрямую.
- REA — не песочница и не решает, что законно: она работает с правами вашего пользователя на целях, на анализ которых у вас должно быть разрешение, а собственный дисклеймер проекта перечисляет, с чем он помогать отказывается.
morluto/rea — README
Источник: github.comchecked 2026-11-13
docs/getting-started/installation.md
Источник: github.comchecked 2026-11-13
.agents/skills/reverse-engineer-anything/SKILL.md
Источник: github.comchecked 2026-11-13
docs/getting-started/cli.md
Источник: github.comchecked 2026-11-13
rea-agents — npm registry
Источник: registry.npmjs.orgchecked 2026-11-13
DISCLAIMER.md + SECURITY.md
Источник: github.comchecked 2026-11-13
dsh-rea — DeepSeek Harness directory
Источник: deepseekharnessplugins.comchecked 2026-11-13
dsh-reverse-skill — DeepSeek Harness directory
Источник: deepseekharnessplugins.comchecked 2026-11-13
Все команды, ID клиентов, версии и числа на этой странице были прочитаны из источников выше 2026-11-13: README репозитория, docs/getting-started/installation.md, поставляемый в пакете SKILL.md, docs/getting-started/cli.md, DISCLAIMER.md и SECURITY.md, а также реестр npm. Данные репозитория получены из GitHub API в тот же день: 455,720 stars, 111,916 forks, создан 2026-04-14; последний релиз npm `rea-agents` 6.9.0, опубликован 2026-11-12. Число звёзд меняется каждый день, так что считайте это снимком на дату. Эта страница вообще не приводит цифр производительности: в проверенных README и документации результатов бенчмарков нет.
Что такое REA на самом деле
REA расшифровывается как Reverse Engineer Anything. Это сторонний открытый проект от morluto под лицензией MIT, github.com/morluto/rea, сайт rea.tools. Это не продукт Anthropic, OpenAI или Cursor и не декомпилятор: это слой, который позволяет агенту для программирования управлять декомпиляторами и статическими парсерами, а затем объяснять найденное.
Дистрибутив — npm-пакет `rea-agents`. Он даёт команду `rea`, локальный MCP-сервер и навык `reverse-engineer-anything` — документ с рабочим процессом, который велит агенту сначала определить тип цели (ASAR/Electron, архив, APK, .NET, прошивка, нативный бинарник, страница в браузере, захват трафика) и привязывать каждый вывод к Evidence. Анализ идёт на вашей машине; агент получает результаты инструментов, а его провайдер модели применяет собственную политику работы с данными.
Глубокий нативный анализ — со своим движком: Hopper, Ghidra, IDA или Kuna. Setup может установить Hopper после отдельного одобрения и повторно использует уже имеющиеся Ghidra, IDA или Kuna. Статическая проверка JavaScript/Electron и .NET вообще не требует нативного движка — поэтому первый тест на приложении Electron самый дешёвый способ понять, стоит ли REA места в вашем рабочем процессе.
- релиз npm
- rea-agents 6.9.0
- Лицензия
- MIT
- Звёзды на GitHub
- 455,720
- Репозиторий создан
- 2026-04-14
На что она умеет смотреть
Таблица целей в README занимает 39 строк; здесь — то, что решает, станете ли вы её устанавливать. Последний столбец — требование, которое реально указано в документации: большинству строк ничего, кроме Node.js, не нужно.
| Цель | Что вы получаете | Требуется |
|---|---|---|
JavaScript / Electron | Модули, импорты, source map, маршруты, границы IPC и нативные дополнения — статически, без запуска приложения. | Node.js + npm (в Linux — `ps` из procps) |
Native binaries | Псевдокод, ассемблер, строки, символы, вызовы и перекрёстные ссылки. | Hopper, Ghidra, IDA или Kuna |
.NET assemblies | Метаданные, инструкции CIL, объявленные нативные зависимости, сравнение сборок. | Ничего дополнительно (только статически) |
Android APK | Объявления в манифесте, классы, декомпилированные методы и ссылки; данные подписи APK. | JADX в headless-режиме + полный JDK (для подписей ничего не нужно) |
Websites / captures | Структура страницы, скрипты, сетевые наблюдения, запрошенные скриншоты; захваты HAR и SAZ. | Браузер семейства Chrome (для захватов: HAR или SAZ) |
Go / Rust / PE / WASM | Сведения о сборке Go, крейты Rust из cargo-auditable, импорты и сертификаты PE, заметки ELF, WASM, флаги усиления защиты. | Ничего дополнительно (только статически) |
Archives / firmware | Состав и распаковка ZIP/APK/IPA/MSIX/DMG, Godot PCK, UnityFS, wxapkg; регионы прошивки. | Binwalk или Unblob в Linux — для прошивок |
GGUF / safetensors | Метаданные GGUF и safetensors, объявления тензоров, опциональный хеш всего файла. | Ничего дополнительно (только статически) |
Release exposure | Отчёт о выставленности релиза со стабильными ID проверок, статусами и рекомендациями по исправлению: поставляемые source map, fuse Electron, маркеры учётных данных. | Ничего дополнительно (только статически) |
Две границы стоит перечитать. Статическая проверка разбирает файлы и не запускает цель; а захват во время выполнения, браузерные сценарии и работа с устройствами действительно запускают её или взаимодействуют с ней — с правами вашего пользователя. И каждый результат несёт свои ограничения и неизвестные: документация прямо говорит, что чистый отчёт о выставленности релиза не означает, что приложение безопасно.
Установка: одна команда с подтверждением, затем пути для отдельных клиентов
Setup по умолчанию интерактивен: он перечисляет поддерживаемых клиентов, показывает точные файлы, которые изменит, вместе с резервными копиями, и спрашивает перед записью. Подтверждение загрузки из npm и собственное подтверждение REA — два разных запроса, так что одобрение npm не одобряет изменения конфигурации.
1. Мастер установки — работает для любого поддерживаемого клиента
Запускайте при наличии Node.js и npm в PATH. Выберите клиентов (существующие регистрации REA отмечены заранее, новые найденные — нет), прочитайте план, одобрите. Затем полностью перезапустите агентов, названных в сообщении о завершении: работающий клиент может перезаписать собственную регистрацию. Для скриптов добавьте `--client <id>` и начните с `--dry-run --json`, чтобы получить план только для чтения.
Команды
npx rea-agents setupnpx rea-agents setup --client claude_code --dry-run --json2. Claude Code: две подсказки /plugin, без запуска setup
npm-пакет REA — ещё и плагин Claude Code. Добавьте репозиторий как маркетплейс, затем установите `rea@rea`. Плагин не запускает `rea setup`, поэтому настройка движков (пути Ghidra/IDA) по-прежнему берётся из разделов ниже, а `rea doctor` показывает плагин как `missing` — проверяйте его через `/plugin` и `/mcp`. Для одного клиента используйте либо плагин, либо регистрацию через setup, но не оба сразу, иначе запустятся два сервера `rea`.
Команды
/plugin marketplace add morluto/rea/plugin install rea@rea3. Codex: тот же плагин, две команды codex
Тот же npm-пакет содержит манифест `.codex-plugin`. Добавьте маркетплейс, затем установите `rea@rea`. Клиенту нужен отдельный `node` в PATH. Как и в случае с Claude Code, установка плагина не видна для `rea doctor`; проверяйте её через `codex plugin list`.
Команды
codex plugin marketplace add morluto/reacodex plugin add rea@rea4. Cursor: регистрация через setup или плагин из Marketplace
`rea setup --client cursor` записывает `~/.cursor/mcp.json` и навык, которым управляет setup. В Marketplace Cursor этот репозиторий также указан как плагин, который объединяет навык и MCP-сервер `rea`, привязанный к опубликованной версии; этот путь — это Git-копия, и он не добавляет `rea` в PATH. Выберите один из двух вариантов, не оба.
Команды
npx rea-agents setup --client cursor5. Только навык — инструкции без инструментов
Если нужны только инструкции, например чтобы соединить их с MCP-сервером, зарегистрированным вручную, установите навык из skills.sh. Так агент получит правила выбора инструментов и встроенные справочники, но ни один инструмент не будет зарегистрирован, поэтому вызовы REA останутся недоступны, пока не появится MCP-сервер.
Команды
npx skills add morluto/rea --skill reverse-engineer-anything6. Проверьте, прежде чем доверять
`rea doctor` работает только на чтение. Проверьте отдельно один клиент, установленный навык и один движок: сбой провайдера не блокирует инструменты, которым цель не нужна, а проверка клиента подтверждает регистрацию, а не успешное исследование. Doctor читает файлы и проверяет предварительные условия; живую сессию он не видит, поэтому зарегистрированному серверу всё равно нужен перезапуск или переподключение.
Команды
rea doctor --client claude_code --jsonrea doctor --skill --jsonrea doctor --provider ghidra --jsonТребования, как они описаны в документации
- 1Node.js 22.x (>= 22.23.4), 24.x (>= 24.22.1) или 26.12.1+, плюс соответствующий npm. Node 23, 25, более ранние релизы 26.x и предварительные версии не поддерживаются.
- 2Клиент, поддерживающий локальные MCP-серверы. Setup знает 28 ID клиентов, включая claude_code, claude_desktop, codex, cursor, gemini_cli, windsurf, opencode, copilot_cli, antigravity, kimi, dsh и pi.
- 3Нативный движок — только для нативной работы. Статический анализ JavaScript/Electron и .NET больше ничего не требует; Android требует JADX в headless-режиме и JDK; прошивки — Binwalk или Unblob в Linux.
- 4Загружайте пакет из доверенного каталога вне анализируемого проекта и передавайте командам анализа абсолютные пути — средство запуска пакетов может выбрать пакеты из самого проекта, а REA не может проверить, что происходило до запуска её точки входа.
Первая сессия, которая что-то доказывает
Самая дешёвая честная проверка — функция, которую вы уже понимаете, в приложении, которым владеете, на цели, где нативный движок не мешает. Требуйте доказательств, а не только ответа: смысл REA в том, что агент обязан показать путь в коде, о котором заявляет.
Спросите агента
Пример из самого README, дословно. Замените Notes на вашу цель, а функцию — на то, что вы можете проверить вручную. Ожидайте, что агент вызовет инструменты REA, прочитает Evidence и назовёт части, которые установить не удалось, — если он отвечает без доказательств, скорее всего отсутствует подключение MCP или навык.
Запрос
Understand how search works in the Notes app, show me the evidence,and build a similar feature for my project.Или работайте с CLI сами
У каждого рабочего процесса MCP есть двойник в CLI — это самый быстрый способ проверить, верно ли утверждение о REA. Первая команда возвращает запись Evidence для распакованного каталога Electron или ASAR без какого-либо движка; вторая проверяет выпущенный артефакт и завершается с кодом 3, когда найденная проблема достигает заданного вами уровня серьёзности.
Команды
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonrea audit-release-exposure ./dist/MyApp.app --fail_on high --jsonПочему вывод такой большой — и что с этим делать
Evidence реального приложения может достигать сотен мегабайт. Документированный ответ — сохранить его и спроецировать представление: `rea analyze-javascript-application … > app-evidence.json`, затем `rea inspect-analysis-view` со сводкой или одной страницей модулей. По MCP объём того, что видит модель, настраивают `REA_MCP_MAX_RESPONSE_BYTES`, `REA_MCP_INPUT_SCHEMA_PROFILE=full` и `REA_MCP_OUTPUT_SCHEMA_PROFILE=compact`.
Обновление и удаление
`rea update` обновляет глобальную установку npm или Bun, которой принадлежит работающий CLI; установка через `npx` обновляется повторным запуском `npx rea-agents@latest setup`. `rea uninstall` удаляет только регистрации и файлы навыков, принадлежащие REA, `--purge-data` дополнительно удаляет кеш и состояние, и ни то, ни другое не трогает Hopper, Node.js, файлы Evidence или посторонние навыки.
Команды
rea updatenpx rea-agents@latest setuprea uninstallrea uninstall --purge-dataREA против работы вручную и против наборов только с инструкциями
Честное сравнение — не REA против человека-реверс-инженера. Это REA против того же агента с оболочкой и без инструментов и против наборов навыков, которые поставляют инструкции, но не сервер.
| Аспект | Агент + оболочка, без REA | Агент + REA |
|---|---|---|
| Подключение инструментов | Вы вставляете команды и пути в чат, а модель угадывает, какой флаг декомпилятора использовать. | Навык направляет цель к инструменту со схемой; сервер проверяет аргументы и возвращает структурированное Evidence. |
| Доказательства | Только то, что процитировал агент, без записи о том, из какого файла и по какому смещению это взято. | Выводы несут свои доказательства и свои ограничения, а неизвестные остаются в списке, а не сглаживаются. |
| Большой вывод | Дамп на 300 МБ либо переполняет контекстное окно, либо обрезается через `head`. | Evidence сохраняется и проецируется — сводка, страница модулей или один модуль — прежде чем попасть в модель. |
| Наборы только с инструкциями | Набор навыков по реверс-инжинирингу учит методике, но не регистрирует инструменты, так что агент всё равно идёт в оболочку. | REA поставляет обе половины: навык и MCP-сервер/CLI, который он описывает. Установка только навыка поддерживается, но инструменты при этом отсутствуют. |
Юридические границы и границы безопасности — из проекта, а не придуманы здесь
Границу проводят собственные DISCLAIMER.md и SECURITY.md проекта REA, и она строже, чем обычно бывает маркетинг вокруг подобных инструментов. Кратко: возможность анализировать программу не означает разрешения на это.
- Предполагаемые способы использования: исследования безопасности, анализ вредоносного ПО и инцидентов, исследование уязвимостей и скоординированное раскрытие, CTF и обучение, совместимость, сохранение программного обеспечения и аудит программ, которыми вы владеете или которые вам разрешено изучать.
- Явно не поддерживается: обход DRM, проверок лицензий, античита и других технических средств защиты; читы для игр или вмешательство в онлайн-сервисы; обход аутентификации или контроля доступа, которые вам не разрешено тестировать; копирование проприетарного кода и ресурсов; уклонение от политик провайдеров моделей.
- Разрешение — ваша задача. Общедоступность бинарника, наличие файла или доступ к отладочной конечной точке сами по себе не дают разрешения, а обратный инжиниринг может ограничиваться законом или лицензией программы в вашей юрисдикции.
- Коммерческие инструменты остаются коммерческими: IDA Pro/Hex-Rays, Hopper и JEB должны быть получены и лицензированы законно. REA не выдаёт ключи, лицензии или активацию, а взломанные копии и общие ключи не разрешены.
Ещё два практических пункта из SECURITY.md: REA не песочница — CLI и MCP работают с правами вашей учётной записи; а целевые файлы, захваты и веб-страницы — недоверенные данные, поэтому инструкция, встроенная в бинарник, не является инструкцией от вас. Используйте одноразовую виртуальную машину или контейнер для всего, что вы не собирали сами, и никогда не направляйте рабочие процессы с реальным выполнением на системы, которыми вы не владеете.
Перед установкой: пять честных оговорок
Ни одна из них не повод отказаться от REA; все они — повод сначала попробовать её на одной цели.
- 1Это быстро развивающийся сторонний проект: npm прошёл от 6.8.0 до 6.9.0 меньше чем за три недели, и документация предупреждает, что навык, установленный из `main`, может описывать возможности, которых нет в более старом релизе npm. Доверяйте списку инструментов подключённого сервера, а не тексту навыка.
- 2Охват клиентов широкий, но неровный: некоторым ID клиентов нужен более новый rea-agents (droid, dsh, kimi, qoder, trae, workbuddy и zcode — начиная с 6.5.0; freebuff — с 6.8.0), а `lm_studio` нужен релиз после 6.8.0.
- 3Setup пишет в вашу конфигурацию агентов и каталоги навыков. Он сохраняет снимки `.rea.backup` и отказывается перезаписывать файлы, которые не может проверить, но не может согласовать действия с другим процессом, редактирующим тот же файл, — сначала закройте клиент, как и просит документация.
- 4Настройка движка — самое болезненное место. Hopper коммерческий, с ограниченной демо-версией, автоматический установщик покрывает только macOS и x86_64 Linux, а для других архитектур документация предлагает Ghidra. Без движка общий `healthy` у doctor может быть false; документация говорит, что это нормально, пока работает выбранный вами сценарий, и блокируется только нативный псевдокод.
- 5Контекст и приватность: Evidence видит агент, а значит, его видит и ваш провайдер модели. Анализ локальный, а результаты — нет: держите чувствительные цели на локальной модели или вообще вне этого контура.
DeepSeek Harness и соседние наборы навыков
README REA не упоминает DeepSeek Harness, но пакет может регистрироваться и там: `dsh` — один из ID клиентов setup, а в каталоге DSH есть и сам проект REA, и адаптеры от сообщества. zhaofeng130/dsh-rea — неофициальный адаптер, который регистрирует навык `reverse-engineer-anything` и инструменты `rea` и `rea_doctor` и явно не включает в себя REA. dhicoc/dsh-reverse-skill — совсем другое: порт набора reverse-skill (87 файлов SKILL.md для обратного инжиниринга, авторизованного пентеста и CTF) без зависимости от REA. Ни то, ни другое не связано с morluto/rea — прочитайте их перед установкой.
