
lure v0.7.1
Herramienta local de análisis de binarios de Linux. Cero nube. Cero root. Ve exactamente lo que hace un binario antes de ejecutarlo.
lure
Análisis local de binarios Linux. Cero nube. Cero root. Cero coste.
lure es una herramienta local de análisis y sandboxing de ELF Linux para investigadores de seguridad, ingenieros inversos y jugadores de CTF. La versión 0.7.1 añade soporte para binarios ARM64 mediante emulación en modo usuario de QEMU.

Proporciona tres flujos de trabajo complementarios:
- Análisis estático con
lure inspect— inspecciona un ELF sin ejecutarlo. - Análisis de comportamiento con
lure run— ejecuta un ELF bajo namespaces de Linux,stracey una política seccomp-bpf, y luego produce un informe legible. - Comparación de informes con
lure diff— compara dos informes de comportamiento guardados.
Todo se procesa localmente. Ninguna muestra o informe se sube a un servicio en la nube.
Software alfa: lure aún está en desarrollo activo. Pruébalo en un entorno apropiado para investigación de seguridad y no trates este sandbox como un sustituto de una VM dedicada al análisis de malware.

Qué hace
Lure combina la inspección estática de ELF con el análisis de ejecución de comportamiento. Puede mostrar qué accede un binario, qué conexiones de red intenta, qué procesos lanza y cómo se clasifica la ejecución como CLEAN, SUSPICIOUS o DANGEROUS.
Por qué
- Privacidad — las muestras y los informes permanecen en tu máquina.
- Legible — informes estructurados en lugar del ruido crudo de
strace. - Flujo de trabajo simple — inspecciona, ejecuta, guarda y compara desde una sola CLI.
- Gratuito — con licencia MIT y construido en torno a herramientas estándar de Linux.
- Multiarquitectura — x86-64 nativo + ARM64 mediante emulación en modo usuario de QEMU.
Características
Inspección estática de ELF
lure inspect informa:
- Arquitectura y tipo de ELF (x86-64, ARM64 y más)
- Endianness
- Tamaño del archivo
- Hashes MD5 y SHA-256
- NX
- PIE
- Estado de RELRO
- Presencia de stack canary
- Bibliotecas enlazadas
- Cabeceras de secciones ELF con
--sections - Cadenas ASCII imprimibles con
--strings
El archivo inspeccionado no se ejecuta.
lure inspect /bin/ls
lure inspect ./arm64_binary # ELF ARM64 — no se necesita QEMU para la inspección

Ejecución en sandbox
lure run combina:
- Namespaces de usuario de Linux
- Un namespace de red
- Un namespace de montaje
- Un namespace de PID
- Trazado de syscalls con
strace - Una política de syscalls seccomp-bpf aplicada al invitado
- Un sistema de archivos sandbox mínimo
- Un tiempo límite (30 segundos por defecto)
- Acceso de red opcional con
--allow-net - Salida cruda de
straceopcional - Informes TXT + JSON opcionales
- Límites de recursos cgroups v2 con el mejor esfuerzo cuando estén disponibles
- Emulación de binarios ARM64 mediante
qemu-aarch64(v0.7.1+)
El acceso de red está bloqueado por defecto.
lure run ./suspicious_binary
lure run ./arm64_binary # ARM64: qemu-aarch64 envuelve el binario automáticamente
Cuando se detecta un binario ARM64, lure:
- Comprueba que
qemu-aarch64esté en PATH (sale con una pista de instalación clara si no lo está). - Antepone
qemu-aarch64al comando de ejecución — strace traza toda la cadena de QEMU. - Muestra Architecture: ARM64 (QEMU emulated) en el panel de Resumen de Ejecución.
Comparación de informes
lure diff compara dos informes .json guardados:
lure run --save ./binary_v1
lure run --save ./binary_v2
lure diff ~/.lure/reports/binary_v1_*.json ~/.lure/reports/binary_v2_*.json
Instalación
Desde PyPI
pip install lure-analyze
Dependencias del sistema (requeridas)
| Herramienta | Paquete | Propósito |
|---|---|---|
strace | sudo pacman -S strace | trazado de syscalls |
unshare | parte de util-linux (preinstalado) | aislamiento de namespaces |
gcc / cc | sudo pacman -S gcc | compilar el wrapper seccomp en tiempo de ejecución |
Dependencias del sistema (opcionales)
| Herramienta | Paquete | Propósito |
|---|---|---|
qemu-aarch64 | sudo pacman -S qemu-user | emulación de binarios ARM64 |
Instala qemu-user para analizar binarios ELF ARM64 con lure run. La inspección estática con lure inspect funciona para ELF ARM64 sin herramientas adicionales.
Límites de recursos cgroups v2 (opcionales)
Para habilitar los límites de memoria y PID, delega un subárbol de cgroup a tu usuario:
sudo mkdir -p /sys/fs/cgroup/lure
sudo chown "$USER" /sys/fs/cgroup/lure
Uso
lure inspect BINARY [--json] [--sections] [--strings]
lure run BINARY [--timeout SECS] [--args 'ARG ...'] [--allow-net] [--out FILE] [--save]
lure diff REPORT1 REPORT2
Registro de cambios
v0.7.1
- Soporte de binarios ARM64 mediante emulación en modo usuario de
qemu-aarch64 lure inspectmuestra correctamenteARM64para ELF AArch64lure rundetecta automáticamente ELF ARM64 y envuelve la ejecución conqemu-aarch64- El Resumen de Ejecución muestra
Architecture: ARM64 (QEMU emulated)para ejecuciones ARM64 - Error claro y pista de instalación cuando falta
qemu-aarch64 - 4 nuevas pruebas que cubren inspect ARM64 (visualización + JSON) y run (qemu-faltante + éxito con QEMU)
v0.6.0
- Límites de recursos cgroups v2 (512 MB de memoria, 64 PIDs máx.)
- Lista de permitidos seccomp-bpf mediante lure-wrapper compilado en C
- Aislamiento completo de namespace de montaje + PID con chroot mínimo
- Comparación de informes con
lure diff
Licencia
MIT — consulta LICENSE.