Deepseek ArtifactsDeepseek Artifacts
Guía de código abierto en GitHub

REA (Reverse Engineer Anything): instalar y usar skills de ingeniería inversa en Claude Code / Codex

REA es morluto/rea en GitHub: un servidor MCP con licencia MIT, una CLI y una skill de agente reverse-engineer-anything que permiten a Claude Code, Codex, Cursor y otros clientes inspeccionar binarios, apps Electron, ensamblados .NET, APKs y sitios web — en local y con Evidence. Aquí tienes la instalación verificada, los primeros comandos y dónde está realmente la línea legal.

REA de un vistazo

  • Un proyecto, tres piezas: el paquete npm `rea-agents` incluye la CLI `rea`, un servidor MCP local y la skill `reverse-engineer-anything`, que le dice al agente qué herramienta encaja con cada objetivo.
  • La instalación es un solo comando revisable: `npx rea-agents setup` enumera las rutas de configuración exactas, las copias de seguridad y los destinos de las skills, y luego espera tu aprobación. No se escribe nada antes de que apruebes.
  • Claude Code, Codex y Cursor tienen además su propia vía nativa — dos entradas `/plugin`, dos comandos `codex plugin` o un plugin del Marketplace de Cursor — y setup puede configurar 28 clientes directamente.
  • REA no es una sandbox y no decide qué es legal: se ejecuta con tus permisos de usuario sobre objetivos para cuyo análisis debes estar autorizado, y el propio disclaimer del proyecto enumera aquello con lo que se niega a ayudar.

morluto/rea — README

Fuente: github.comchecked 2026-11-13

Abrir

docs/getting-started/installation.md

Fuente: github.comchecked 2026-11-13

Abrir

.agents/skills/reverse-engineer-anything/SKILL.md

Fuente: github.comchecked 2026-11-13

Abrir

docs/getting-started/cli.md

Fuente: github.comchecked 2026-11-13

Abrir

rea-agents — npm registry

Fuente: registry.npmjs.orgchecked 2026-11-13

Abrir

DISCLAIMER.md + SECURITY.md

Fuente: github.comchecked 2026-11-13

Abrir

dsh-rea — DeepSeek Harness directory

Fuente: deepseekharnessplugins.comchecked 2026-11-13

Abrir

dsh-reverse-skill — DeepSeek Harness directory

Fuente: deepseekharnessplugins.comchecked 2026-11-13

Abrir

Cada comando, ID de cliente, versión y cifra de esta página se leyó de las fuentes anteriores el 2026-11-13: el README del repositorio, docs/getting-started/installation.md, el SKILL.md incluido, docs/getting-started/cli.md, DISCLAIMER.md y SECURITY.md, y el registro de npm. Los datos del repositorio vienen de la API de GitHub del mismo día: 455,720 stars, 111,916 forks, creado el 2026-04-14; última versión en npm de `rea-agents` 6.9.0, publicada el 2026-11-12. Las cifras de stars cambian a diario, así que trátalas como una instantánea con fecha. Esta página no cita ninguna cifra de rendimiento: el README y la documentación que revisamos no incluyen resultados de benchmark.

Qué es REA en realidad

REA significa Reverse Engineer Anything. Es un proyecto de código abierto de un tercero, morluto, con licencia MIT, en github.com/morluto/rea, con el sitio rea.tools. No es un producto de Anthropic, OpenAI ni Cursor, y no es un descompilador: es la capa que permite a un agente de código manejar descompiladores y analizadores estáticos, y luego explicar lo que encontró.

La distribución es el paquete npm `rea-agents`. Expone el comando `rea`, un servidor MCP local y la skill `reverse-engineer-anything`: un documento de flujo de trabajo que indica al agente que primero clasifique el objetivo (ASAR/Electron, archivo, APK, .NET, firmware, binario nativo, página de navegador, captura) y que ate cada conclusión a Evidence. El análisis se ejecuta en tu máquina; el agente recibe los resultados de las herramientas, y su proveedor de modelos aplica su propia política de datos.

El análisis nativo profundo exige que aportes tu propio motor: Hopper, Ghidra, IDA o Kuna. Setup puede instalar Hopper tras una aprobación aparte y reutiliza un Ghidra, IDA o Kuna existente. La inspección estática de JavaScript/Electron y de .NET no necesita ningún motor nativo — por eso una primera prueba con una app Electron es la forma más barata de averiguar si REA se gana un sitio en tu flujo de trabajo.

versión de npm
rea-agents 6.9.0
Licencia
MIT
Stars de GitHub
455,720
Repositorio creado
2026-04-14

Qué puede examinar

La tabla de objetivos del README tiene 39 filas; aquí está la parte que decide si lo instalas. La última columna es el requisito que la documentación da realmente: la mayoría de las filas no necesita nada más allá de Node.js.

ObjetivoQué obtienesRequiere
JavaScript / ElectronMódulos, imports, source maps, rutas, límites de IPC y add-ons nativos — de forma estática, sin ejecutar la aplicación.Node.js + npm (en Linux, un `ps` de procps)
Native binariesPseudocódigo, ensamblador, cadenas, símbolos, llamadas y referencias cruzadas.Hopper, Ghidra, IDA o Kuna
.NET assembliesMetadatos, instrucciones CIL, dependencias nativas declaradas, comparaciones entre builds.Nada adicional (solo estático)
Android APKDeclaraciones del manifest, clases, métodos descompilados y referencias; datos de firma del APK.JADX headless + un JDK completo (para las firmas no hace falta nada)
Websites / capturesEstructura de la página, scripts, observaciones de red, capturas de pantalla solicitadas; capturas HAR y SAZ.Un navegador de la familia Chrome (capturas: HAR o SAZ)
Go / Rust / PE / WASMInformación de build de Go, crates de Rust con cargo-auditable, imports y certificados de PE, notas ELF, WASM, flags de hardening.Nada adicional (solo estático)
Archives / firmwareInventario de miembros y extracción para ZIP/APK/IPA/MSIX/DMG, Godot PCK, UnityFS, wxapkg; regiones de firmware.Binwalk o Unblob en Linux, para firmware
GGUF / safetensorsMetadatos de GGUF y safetensors, declaraciones de tensores, hash opcional de todo el archivo.Nada adicional (solo estático)
Release exposureUn informe de exposición de release con IDs de comprobación estables, estados y remediación: source maps enviados, fuses de Electron, marcadores de credenciales.Nada adicional (solo estático)

Hay dos límites que conviene leer dos veces. La inspección estática analiza archivos y no ejecuta el objetivo; la captura en tiempo de ejecución, los escenarios de navegador y los flujos con dispositivos sí lo ejecutan o interactúan con él, bajo tus permisos de usuario. Y cada resultado lleva sus propias limitaciones e incógnitas: la documentación dice claramente que un informe de exposición de release limpio no significa que una aplicación sea segura.

Instalación: un comando revisable y luego rutas por cliente

La configuración es interactiva por defecto: enumera los clientes compatibles, muestra los archivos exactos que va a tocar junto con las copias de seguridad, y pregunta antes de escribir. La aprobación de la descarga de npm y la aprobación propia de REA son avisos separados, así que aprobar npm no aprueba los cambios de configuración.

1. La configuración guiada: funciona con todos los clientes compatibles

Ejecútala con Node.js y npm en el PATH. Selecciona clientes (los registros de REA existentes vienen preseleccionados, los detectados por primera vez no), lee el plan y aprueba. Después reinicia por completo los agentes que nombre el mensaje final: un cliente en ejecución puede sobrescribir su propio registro. Para scripts, añade `--client <id>` y empieza con `--dry-run --json` para obtener un plan de solo lectura.

Comandos

npx rea-agents setupnpx rea-agents setup --client claude_code --dry-run --json

2. Claude Code: dos entradas /plugin, sin ejecutar setup

El paquete npm de REA también es un plugin de Claude Code. Añade el repositorio como marketplace e instala `rea@rea`. Un plugin no ejecuta `rea setup`, así que la configuración del proveedor (rutas de Ghidra/IDA) sigue viniendo de las secciones siguientes, y `rea doctor` informa el plugin como `missing`: compruébalo con `/plugin` y `/mcp`. Para un cliente dado usa el plugin o un registro de setup, nunca ambos, o se iniciarán dos servidores `rea`.

Comandos

/plugin marketplace add morluto/rea/plugin install rea@rea

3. Codex: el mismo plugin, dos comandos codex

El mismo paquete npm incluye un manifiesto `.codex-plugin`. Añade el marketplace e instala `rea@rea`. El cliente necesita un `node` independiente en el PATH. Como en Claude Code, una instalación por plugin es invisible para `rea doctor`; compruébala con `codex plugin list`.

Comandos

codex plugin marketplace add morluto/reacodex plugin add rea@rea

4. Cursor: registro por setup o el plugin del Marketplace

`rea setup --client cursor` escribe `~/.cursor/mcp.json` y la skill gestionada por setup. El Marketplace de Cursor también lista el repositorio como un plugin que incluye tanto la skill como un servidor MCP `rea` fijado a una versión publicada; esa vía es un checkout de Git y no pone `rea` en el PATH. Elige una de las dos, no ambas.

Comandos

npx rea-agents setup --client cursor

5. Solo la skill: instrucciones sin herramientas

Si solo quieres las instrucciones, por ejemplo para combinarlas con un servidor MCP que registraste a mano, instala la skill desde skills.sh. Eso le da al agente las reglas de enrutamiento y las referencias incluidas, pero no registra ninguna herramienta, así que las llamadas a REA siguen ausentes hasta que exista un servidor MCP.

Comandos

npx skills add morluto/rea --skill reverse-engineer-anything

6. Verifica antes de confiar

`rea doctor` es de solo lectura. Comprueba por separado un cliente, la skill instalada y un motor: un fallo de proveedor no bloquea las herramientas que no dependen de un objetivo, y una comprobación de cliente verifica el registro, no una investigación exitosa. Doctor lee archivos y requisitos previos; no puede ver la sesión en vivo, así que un servidor registrado aún necesita un reinicio o una reconexión.

Comandos

rea doctor --client claude_code --jsonrea doctor --skill --jsonrea doctor --provider ghidra --json

Requisitos, según la documentación

  • 1Node.js 22.x (>= 22.23.4), 24.x (>= 24.22.1) o 26.12.1+, más el npm correspondiente. Node 23, 25, versiones 26.x anteriores y las versiones preliminares no son compatibles.
  • 2Un cliente que admita servidores MCP locales. Setup conoce 28 IDs de cliente, incluidos claude_code, claude_desktop, codex, cursor, gemini_cli, windsurf, opencode, copilot_cli, antigravity, kimi, dsh y pi.
  • 3Un motor nativo solo para trabajo nativo. El análisis estático de JavaScript/Electron y de .NET no necesita nada más; Android necesita JADX headless y un JDK; el firmware necesita Binwalk o Unblob en Linux.
  • 4Obtén el paquete desde un directorio de confianza fuera del proyecto objetivo y pasa rutas absolutas a los comandos de análisis: un ejecutor de paquetes puede seleccionar paquetes locales del proyecto, y REA no puede validar qué ocurrió antes de que arrancara su punto de entrada.

Una primera sesión que demuestre algo

La prueba honesta más barata es una función que ya entiendes, en una aplicación que es tuya, sobre un objetivo sin un motor nativo de por medio. Pide la evidencia, no solo la respuesta: la gracia de REA es que el agente tiene que mostrar la ruta de código que afirma.

Pregúntale al agente

El ejemplo del propio README, literal. Sustituye Notes por tu objetivo y la función por algo que puedas verificar a mano. Espera que el agente llame a las herramientas de REA, lea la Evidence y nombre las partes que no pudo establecer; si responde sin evidencia, probablemente falten la conexión MCP o la skill.

Prompt

Understand how search works in the Notes app, show me the evidence,and build a similar feature for my project.

O controla tú mismo la CLI

Cada flujo de trabajo MCP tiene su gemelo en la CLI, y es la forma más rápida de comprobar si una afirmación sobre REA es cierta. El primer comando devuelve un registro de Evidence para un directorio de Electron extraído o un ASAR sin ningún motor; el segundo audita un artefacto publicado y sale con código 3 cuando una comprobación expuesta alcanza la severidad que indiques.

Comandos

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonrea audit-release-exposure ./dist/MyApp.app --fail_on high --json

Por qué la salida es tan grande y qué hacer al respecto

La Evidence de una aplicación real puede llegar a cientos de megabytes. La respuesta documentada es guardarla y proyectar una vista: `rea analyze-javascript-application … > app-evidence.json`, y luego `rea inspect-analysis-view` con un resumen o una página de módulos. Por MCP, `REA_MCP_MAX_RESPONSE_BYTES`, `REA_MCP_INPUT_SCHEMA_PROFILE=full` y `REA_MCP_OUTPUT_SCHEMA_PROFILE=compact` ajustan cuánto de eso ve el modelo.

Actualizar y eliminar

`rea update` actualiza la instalación global de npm o Bun a la que pertenece la CLI en ejecución; una instalación hecha con `npx` se renueva volviendo a ejecutar `npx rea-agents@latest setup`. `rea uninstall` elimina solo los registros y archivos de skill que pertenecen a REA, `--purge-data` descarta además caché y estado, y ninguno de los dos toca Hopper, Node.js, archivos de Evidence ni skills ajenas.

Comandos

rea updatenpx rea-agents@latest setuprea uninstallrea uninstall --purge-data

REA frente a hacerlo a mano frente a un paquete de skills solo de instrucciones

La comparación honesta no es REA contra un ingeniero inverso humano. Es REA contra el mismo agente con un shell y sin herramientas, y contra paquetes de skills que traen instrucciones pero ningún servidor.

AspectoAgente + shell, sin REAAgente + REA
Conexión de herramientasPegas comandos y rutas en el chat y el modelo adivina qué flag del descompilador usar.La skill encamina el objetivo a una herramienta con esquema; el servidor valida los argumentos y devuelve Evidence estructurada.
EvidenceLo que el agente cite, sin registro de de qué archivo o desplazamiento salió.Los hallazgos llevan su evidencia y sus límites, y lo desconocido sigue listado en vez de quedar suavizado.
Salida grandeUn volcado de 300 MB o revienta la ventana de contexto o lo trunca `head`.La Evidence se guarda y se proyecta — resumen, página de módulos o un solo módulo — antes de llegar al modelo.
Paquetes solo de instruccionesUn paquete de skills de ingeniería inversa enseña el método pero no registra herramientas, así que el agente sigue tirando del shell.REA entrega ambas mitades: la skill y el servidor MCP/CLI que describe. Las instalaciones solo de skill están soportadas, pero dejan las herramientas ausentes.

Límites legales y de seguridad: del propio proyecto, no inventados aquí

El DISCLAIMER.md y el SECURITY.md del propio REA marcan la línea, y es más estricta de lo que suele ser el marketing alrededor de estas herramientas. La versión corta: poder analizar un software no es lo mismo que tener permiso para hacerlo.

  • Usos previstos: investigación de seguridad, análisis de malware e incidentes, investigación de vulnerabilidades y divulgación coordinada, CTFs y formación, interoperabilidad, preservación de software y auditoría de software que te pertenece o que estás autorizado a examinar.
  • No admitido de forma explícita: eludir DRM, comprobaciones de licencia, anti-cheat u otras medidas técnicas de protección; trampas en juegos o manipulación de servicios en línea; saltarse la autenticación o controles de acceso que no estés autorizado a probar; copiar código y recursos propietarios; evadir las políticas de los proveedores de modelos.
  • La autorización es algo que te corresponde establecer. La disponibilidad pública de un binario, la posesión de un archivo o el acceso a un endpoint de depuración no otorgan permiso por sí solos, y la ingeniería inversa puede estar restringida por ley o por la licencia del software en tu jurisdicción.
  • Las herramientas comerciales siguen siendo comerciales: IDA Pro/Hex-Rays, Hopper y JEB deben obtenerse y licenciarse legalmente. REA no entrega ninguna key, licencia ni activación, y las copias crackeadas o las keys compartidas no están autorizadas.

Dos puntos prácticos más de SECURITY.md: REA no es una sandbox — la CLI y MCP se ejecutan con los permisos de tu cuenta — y los archivos objetivo, las capturas y las páginas web son datos no confiables, así que una instrucción incrustada en un binario no es una instrucción tuya. Usa una VM o un contenedor desechable para todo lo que no hayas construido tú, y nunca apuntes flujos de trabajo en tiempo de ejecución a sistemas que no te pertenecen.

Antes de instalar: cinco advertencias honestas

Ninguna de estas es razón para saltarte REA; todas son razones para probarlo primero con un solo objetivo.

  • 1Es un proyecto de terceros que se mueve rápido: npm pasó de 6.8.0 a 6.9.0 en tres semanas, y la documentación advierte que una skill instalada desde `main` puede describir capacidades que una versión anterior de npm no tiene. Confía en la lista de herramientas del servidor conectado, no en el texto de la skill.
  • 2La cobertura de clientes es amplia pero desigual: algunos IDs de cliente necesitan un rea-agents más reciente (droid, dsh, kimi, qoder, trae, workbuddy y zcode desde 6.5.0; freebuff desde 6.8.0), y `lm_studio` necesita una versión posterior a 6.8.0.
  • 3Setup escribe en la configuración de tu agente y en los directorios de skills. Mantiene instantáneas `.rea.backup` y se niega a sobrescribir archivos que no puede verificar, pero no puede coordinarse con otro proceso que edite el mismo archivo: cierra el cliente primero, como pide la documentación.
  • 4La configuración del motor es la parte que escuece. Hopper es comercial con una demo limitada, el instalador automático solo cubre macOS y Linux x86_64, y para otras arquitecturas la documentación indica usar Ghidra. Sin motor, el `healthy` global de doctor puede quedar en false; la documentación dice que es normal mientras tu flujo funcione, y solo bloquea el pseudocódigo nativo.
  • 5Contexto y privacidad: el agente ve la Evidence, así que tu proveedor de modelos también la ve. El análisis es local, pero los resultados no: mantén los objetivos sensibles en un modelo local o fuera del circuito por completo.

DeepSeek Harness y los paquetes de skills vecinos

El README de REA no menciona DeepSeek Harness, pero el paquete puede registrarse allí: `dsh` es uno de los IDs de cliente de setup, y el directorio de DSH lista tanto el propio proyecto REA como adaptadores de la comunidad. zhaofeng130/dsh-rea es un adaptador no oficial que registra la skill `reverse-engineer-anything` más las herramientas `rea` y `rea_doctor`, y declara explícitamente que no incluye REA. dhicoc/dsh-reverse-skill es otra cosa distinta: un port del paquete reverse-skill (87 archivos SKILL.md para ingeniería inversa, pentesting autorizado y CTF) sin dependencia de REA. Ninguno está afiliado a morluto/rea: léelos antes de instalarlos.

Preguntas frecuentes sobre REA

Sigue leyendo