Torna agli aggiornamenti
New releaseSep 3, 2026

lure v0.7.1

Strumento locale di analisi di binari Linux. Zero cloud. Zero root. Scopri esattamente cosa fa un binario prima di eseguirlo.

Condividi

lure

Analisi locale di binari Linux. Zero cloud. Zero root. Zero costi.

lure è uno strumento locale di analisi e sandboxing di ELF Linux per ricercatori di sicurezza, reverse engineer e giocatori di CTF. La versione 0.7.1 aggiunge il supporto per binari ARM64 tramite emulazione in modalità utente QEMU.

Demo di Lure

Fornisce tre flussi di lavoro complementari:

  • Analisi statica con lure inspect — ispeziona un ELF senza eseguirlo.
  • Analisi comportamentale con lure run — esegue un ELF sotto namespace Linux, strace e una policy seccomp-bpf, quindi produce un report leggibile.
  • Confronto di report con lure diff — confronta due report comportamentali salvati.

Tutto viene elaborato localmente. Nessun campione o report viene caricato su un servizio cloud.

Software alpha: lure è ancora in fase di sviluppo attivo. Testalo in un ambiente adatto alla ricerca sulla sicurezza e non trattare questa sandbox come un sostituto di una VM dedicata all'analisi di malware.

Verdetto pericoloso di Lure

Cosa fa

Lure combina l'ispezione statica degli ELF con l'analisi comportamentale di esecuzione. Può mostrare a cosa accede un binario, quali connessioni di rete tenta, quali processi genera e come l'esecuzione viene classificata come CLEAN, SUSPICIOUS o DANGEROUS.

Perché

  • Privacy — campioni e report restano sulla tua macchina.
  • Leggibile — report strutturati invece del rumore grezzo di strace.
  • Flusso di lavoro semplice — ispeziona, esegui, salva e confronta da un'unica CLI.
  • Gratuito — con licenza MIT e costruito attorno a strumenti Linux standard.
  • Multi-architettura — x86-64 nativo + ARM64 tramite emulazione in modalità utente QEMU.

Funzionalità

Ispezione statica degli ELF

lure inspect riporta:

  • Architettura e tipo ELF (x86-64, ARM64 e altro)
  • Endianness
  • Dimensione del file
  • Hash MD5 e SHA-256
  • NX
  • PIE
  • Stato RELRO
  • Presenza di stack canary
  • Librerie collegate
  • Intestazioni delle sezioni ELF con --sections
  • Stringhe ASCII stampabili con --strings

Il file ispezionato non viene eseguito.

lure inspect /bin/ls
lure inspect ./arm64_binary   # ELF ARM64 — nessun QEMU necessario per l'ispezione

inspect

Esecuzione in sandbox

lure run combina:

  • Namespace utente Linux
  • Un namespace di rete
  • Un namespace di mount
  • Un namespace PID
  • Tracciamento delle syscall con strace
  • Una policy di syscall seccomp-bpf applicata al guest
  • Un filesystem sandbox minimale
  • Un timeout (30 secondi di default)
  • Accesso di rete opzionale con --allow-net
  • Output grezzo di strace opzionale
  • Report TXT + JSON opzionali
  • Limiti di risorse cgroups v2 best-effort quando disponibili
  • Emulazione di binari ARM64 tramite qemu-aarch64 (v0.7.1+)

L'accesso di rete è bloccato di default.

lure run ./suspicious_binary
lure run ./arm64_binary          # ARM64: qemu-aarch64 avvolge il binario automaticamente

Quando viene rilevato un binario ARM64, lure:

  1. Verifica che qemu-aarch64 sia nel PATH (esce con un chiaro suggerimento di installazione se non lo è).
  2. Antepone qemu-aarch64 al comando di esecuzione — strace traccia l'intera catena QEMU.
  3. Mostra Architettura: ARM64 (emulato QEMU) nel pannello Riepilogo esecuzione.

Confronto di report

lure diff confronta due report .json salvati:

lure run --save ./binary_v1
lure run --save ./binary_v2
lure diff ~/.lure/reports/binary_v1_*.json ~/.lure/reports/binary_v2_*.json

Installazione

Da PyPI

pip install lure-analyze

Dipendenze di sistema (richieste)

StrumentoPacchettoScopo
stracesudo pacman -S stracetracciamento delle syscall
unshareparte di util-linux (preinstallato)isolamento dei namespace
gcc / ccsudo pacman -S gcccompilazione del wrapper seccomp a runtime

Dipendenze di sistema (opzionali)

StrumentoPacchettoScopo
qemu-aarch64sudo pacman -S qemu-useremulazione di binari ARM64

Installa qemu-user per analizzare binari ELF ARM64 con lure run. L'ispezione statica con lure inspect funziona per ELF ARM64 senza strumenti aggiuntivi.

Limiti di risorse cgroups v2 (opzionali)

Per abilitare i limiti di memoria e PID, delega un sottoalbero cgroup al tuo utente:

sudo mkdir -p /sys/fs/cgroup/lure
sudo chown "$USER" /sys/fs/cgroup/lure

Utilizzo

lure inspect BINARY [--json] [--sections] [--strings]
lure run BINARY [--timeout SECS] [--args 'ARG ...'] [--allow-net] [--out FILE] [--save]
lure diff REPORT1 REPORT2

Changelog

v0.7.1

  • Supporto per binari ARM64 tramite emulazione in modalità utente qemu-aarch64
  • lure inspect mostra correttamente ARM64 per ELF AArch64
  • lure run rileva automaticamente gli ELF ARM64 e avvolge l'esecuzione con qemu-aarch64
  • Il Riepilogo esecuzione mostra Architettura: ARM64 (emulato QEMU) per le esecuzioni ARM64
  • Errore pulito e suggerimento di installazione quando qemu-aarch64 manca
  • 4 nuovi test che coprono inspect ARM64 (visualizzazione + JSON) e run (qemu mancante + successo QEMU)

v0.6.0

  • Limiti di risorse cgroups v2 (512 MB di memoria, massimo 64 PID)
  • Allow-list seccomp-bpf tramite lure-wrapper C compilato
  • Isolamento completo con namespace mount + PID e chroot minimale
  • Confronto di report con lure diff

Licenza

MIT — vedi LICENSE.

Categorie