Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
recurse — IDE de ingeniería inversa agéntica con un desensamblador multiarquitectura en Rust puro, descompilador nativo, depurador y agente LLM para análisis de binarios y trabajo de CTF. | Kitploit
Herramientas/GitHubGitHub/recurse-labs/recurse
Análisis EstáticoAnálisis Dinámico (Sandboxing)Ingeniería InversaDepuradoresAnálisis de MalwareCTFAnálisis de BinariosAprendizaje y EducaciónReversing Asistido por IASeguridad de IA
GitHubrecurse-labs/recurse
29830435hace 7 díasRevisado por Kitploit

recurse

IDE de ingeniería inversa agéntica con un desensamblador multiarquitectura en Rust puro, descompilador nativo, depurador y agente LLM para análisis de binarios y trabajo de CTF.

Ver RepositorioSitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Recurse

Entorno de ingeniería inversa agéntica: una aplicación de escritorio de la clase de Ghidra con el espíritu de "Cursor para ingeniería inversa". Construida con Tauri 2 (frontend en React + TypeScript) sobre un backend de análisis conectable. El predeterminado es un motor nativo en Rust puro: sin proceso externo, sin dependencia copyleft, multiarquitectura mediante Capstone. También puedes ejecutar el análisis a través de r2 (radare2) o IDA Pro: selecciona cualquiera de los motores y toda la aplicación —las herramientas del agente y la interfaz— lo utiliza en su lugar. La herramienta del agente y la interfaz son independientes del backend; consulta docs/backends.md.

Recurse demo

Estructura del repositorio

Espacio de trabajo de Cargo en la raíz; la aplicación de escritorio es uno de los paquetes que lo componen.

tauri/                   desktop app (Tauri + React)
  src/                     React frontend
  src-tauri/               Tauri Rust backend (engine sessions, agent wiring)
  package.json             app scripts (Vite, Vitest, Tauri CLI)
crates/
  recurse-agent/              agent framework: LLM loop, tool runtime, SQLite memory
  recurse-static/          static analysis: ELF/PE/Mach-O parsing, multi-arch disassembly,
                           CFG and cross-reference recovery, the engine seam
  recurse-vtil/            VTIL-inspired de-obfuscation/de-virtualization IL, lifter, optimizer
  recurse-mcp/             standalone headless MCP server (stdio) over the engine — no Tauri, no IDA
  recurse-debug/           cross-platform debugger (ptrace/Mach/Win32, breakpoints, stepping)
  recurse-eval/            headless eval harness (YAML-configured tiers)
justfile                 single entry point for both halves

recurse-agent es solo el agente; el análisis estático reside en recurse-static y el depurador en recurse-debug, por lo que el agente no incorpora código de sistema que no utiliza. Ningún crate depende de Tauri, y cada uno se compila/prueba de forma independiente; recurse-eval ejecuta el agente sin interfaz. Todos son miembros del workspace, por lo que un único Cargo.lock y un único target/ cubren todo el repositorio.

Características

  • Espacio de trabajo estilo Cursor: lista de funciones, pestañas de desensamblado/strings/imports, grafo CFG, y una barra lateral de agente de chat (alternar con el botón Chat o Ctrl+L)
  • Página de reconocimiento: información del binario, hashes MD5/SHA1/SHA256/CRC32, entropía, bibliotecas enlazadas, un informe de hardening autocontenido (RELRO / PIE / NX / canary / FORTIFY / RPATH — sin checksec externo), y recuentos de análisis
  • Renombrar funciones desde la lista (doble clic o el botón ✎); los nombres persisten en SQLite y aparecen en la lista de funciones, las anotaciones del desensamblado y para el agente
  • Anotar desde el encabezado de función del listado: haz clic en el nombre de una variable para nombrarla, o en una celda undefinedN para asignarle un tipo. Un tipo de retorno que establezcas se muestra en la línea de firma del encabezado. Ambos persisten en SQLite, indexados por función, y borrar una celda la revierte a lo que indican las instrucciones
  • Agente fundamentado: cada dirección es un objeto clicable (lista de funciones, nodos del grafo, xrefs, anotaciones del descompilador) — no texto pegado que el modelo pueda alucinar
  • Sesión de análisis en vivo sobre cualquier binario — incluidos archivos sin extensión
  • Memoria de proyecto persistente en SQLite con recuperación FTS5/BM25 — los renombrados, hallazgos y notas sobreviven a /clear y a la reapertura, y sirven de base para la siguiente sesión
  • Núcleo sin interfaz (recurse-agent) con trazado de depuración por turno; el mismo bucle del agente se ejecuta en la UI y en el arnés de evaluación
  • Agente LLM respaldado por un endpoint compatible con OpenAI (OpenRouter por defecto) con un selector de modelo; controla la sesión directamente (disasm, xrefs, strings, imports, decompile)
  • UI con tema oscuro por defecto construida con Tailwind CSS v4 + shadcn/ui
  • Operación lift: eleva una función a un IL de desofuscación estilo VTIL y ejecuta pasadas de propagación/plegado/eliminación de código muerto/resolución de ramas sobre toda la rutina — útil cuando el desensamblado parece un despachador de VM o una cadena de predicados opacos (ver docs/vtil-lift.md)
  • Descompilador nativo: decompile genera pseudocódigo similar a C (if/while estructurados, cobertura total de instrucciones) desde el mismo pipeline de recurse-vtil — sin herramienta externa, sin necesidad de r2
  • Servidor recurse-mcp independiente: el mismo Engine sobre MCP stdio para cualquier agente compatible con MCP (Claude Code, Cursor, Claude Desktop, …) — sin Tauri, sin licencia de IDA, sin puente de Python (ver docs/recurse-mcp.md)

Backends de análisis

El análisis pasa por un único trait Engine (crates/recurse-static/src/engine.rs), por lo que el motor es una elección, no una dependencia obligatoria:

  • native (por defecto) — análisis de ELF/PE/Mach-O en Rust puro y desensamblado multiarquitectura (object + capstone): x86/x86-64, ARM, AArch64, MIPS, PowerPC, RISC-V, SPARC, SystemZ, M68K, BPF. Sin proceso hijo, sin herramienta externa, sin LGPL en la compilación. Incluye un descompilador (el pipeline lift → optimize → structure de recurse-vtil — ver docs/vtil-lift.md) y una operación lift para desofuscación estilo VTIL.
  • r2 (radare2) — compatible como alternativa opcional para instalaciones que quieran su propio descompilador más completo o una consola sin procesar. Instala r2 y selecciónalo como motor; se ejecuta como un proceso separado y nunca se enlaza ni se empaqueta con Recurse.
  • IDA Pro (ida) — análisis sin interfaz y descompilación Hex-Rays opcionales mediante idat.

Elige con el menú de ajustes, la variable de entorno RECURSE_BACKEND o la configuración almacenada. El agente dispone de una única herramienta analyze neutral respecto al backend (functions, disasm, graph, lift, decompile, xrefs, strings, imports, info, además de raw para la consola del motor) — filtrada a las operaciones que el motor activo realmente admite, de modo que raw (el nativo no tiene consola) solo se anuncia cuando está disponible. La interfaz consume tipos de resultado canónicos, no el JSON de ningún motor. Consulta docs/backends.md para el trait, las elecciones de crates y la justificación de licencias. Abrir un binario grande es rápido porque el análisis es perezoso: el descubrimiento indexa las funciones de forma económica y los bloques básicos solo se decodifican cuando se visualiza una función; consulta docs/lazy-analysis.md.

¿Por qué no simplemente MCP-a-IDA / hacerlo a lo yolo en Claude Code?

Enganchar un servidor MCP a IDA/Ghidra, o pegar desensamblado en un agente de CLI, funciona para CTFs de 5 funciones y se desmorona con binarios reales. Recurse es un entorno creado a propósito, no un envoltorio de chatbot:

Descargar herramienta