
lure v0.7.1
Ferramenta local de análise de binários Linux. Zero nuvem. Zero root. Veja exatamente o que um binário faz antes de executá-lo.
lure
Análise local de binários Linux. Zero nuvem. Zero root. Zero custo.
lure é uma ferramenta local de análise e sandboxing de ELF Linux para pesquisadores de segurança, engenheiros reversos e jogadores de CTF. A versão 0.7.1 adiciona suporte a binários ARM64 via emulação em modo usuário do QEMU.

Ele fornece três fluxos de trabalho complementares:
- Análise estática com
lure inspect— inspeciona um ELF sem executá-lo. - Análise comportamental com
lure run— executa um ELF sob namespaces Linux,stracee uma política seccomp-bpf, e então produz um relatório legível. - Comparação de relatórios com
lure diff— compara dois relatórios comportamentais salvos.
Tudo é processado localmente. Nenhuma amostra ou relatório é enviado a um serviço em nuvem.
Software alfa: o lure ainda está em desenvolvimento ativo. Teste-o em um ambiente apropriado para pesquisa de segurança e não trate este sandbox como substituto de uma VM dedicada à análise de malware.

O que ele faz
O lure combina inspeção estática de ELF com análise comportamental de execução. Ele pode mostrar o que um binário acessa, quais conexões de rede tenta, quais processos cria e como a execução é classificada como CLEAN, SUSPICIOUS ou DANGEROUS.
Por quê
- Privacidade — amostras e relatórios permanecem na sua máquina.
- Legível — relatórios estruturados em vez de ruído bruto de
strace. - Fluxo de trabalho simples — inspecione, execute, salve e compare a partir de uma única CLI.
- Gratuito — licenciado sob MIT e construído em torno de ferramentas Linux padrão.
- Multi-arquitetura — x86-64 nativo + ARM64 via emulação em modo usuário do QEMU.
Recursos
Inspeção estática de ELF
lure inspect relata:
- Arquitetura e tipo do ELF (x86-64, ARM64 e mais)
- Endianness
- Tamanho do arquivo
- Hashes MD5 e SHA-256
- NX
- PIE
- Status do RELRO
- Presença de stack canary
- Bibliotecas vinculadas
- Cabeçalhos de seção do ELF com
--sections - Strings ASCII imprimíveis com
--strings
O arquivo inspecionado não é executado.
lure inspect /bin/ls
lure inspect ./arm64_binary # ELF ARM64 — sem QEMU necessário para inspeção

Execução em sandbox
lure run combina:
- Namespaces de usuário Linux
- Um namespace de rede
- Um namespace de montagem
- Um namespace de PID
- Rastreamento de syscalls com
strace - Uma política de syscalls seccomp-bpf aplicada ao convidado
- Um sistema de arquivos de sandbox mínimo
- Um timeout (30 segundos por padrão)
- Acesso opcional à rede com
--allow-net - Saída bruta opcional de
strace - Relatórios TXT + JSON opcionais
- Limites de recursos cgroups v2 com melhor esforço quando disponíveis
- Emulação de binários ARM64 via
qemu-aarch64(v0.7.1+)
O acesso à rede é bloqueado por padrão.
lure run ./suspicious_binary
lure run ./arm64_binary # ARM64: qemu-aarch64 envolve o binário automaticamente
Quando um binário ARM64 é detectado, o lure:
- Verifica se
qemu-aarch64está no PATH (sai com uma dica clara de instalação se não estiver). - Antepõe
qemu-aarch64ao comando de execução — o strace rastreia toda a cadeia do QEMU. - Mostra Architecture: ARM64 (QEMU emulated) no painel Execution Summary.
Comparação de relatórios
lure diff compara dois relatórios .json salvos:
lure run --save ./binary_v1
lure run --save ./binary_v2
lure diff ~/.lure/reports/binary_v1_*.json ~/.lure/reports/binary_v2_*.json
Instalação
Via PyPI
pip install lure-analyze
Dependências do sistema (obrigatórias)
| Ferramenta | Pacote | Finalidade |
|---|---|---|
strace | sudo pacman -S strace | rastreamento de syscalls |
unshare | parte do util-linux (pré-instalado) | isolamento de namespaces |
gcc / cc | sudo pacman -S gcc | compilar o wrapper seccomp em tempo de execução |
Dependências do sistema (opcionais)
| Ferramenta | Pacote | Finalidade |
|---|---|---|
qemu-aarch64 | sudo pacman -S qemu-user | emulação de binários ARM64 |
Instale qemu-user para analisar binários ELF ARM64 com lure run. A inspeção estática com lure inspect funciona para ELFs ARM64 sem ferramentas adicionais.
Limites de recursos cgroups v2 (opcionais)
Para habilitar limites de memória e PID, delegue uma subárvore de cgroup ao seu usuário:
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
Changelog
v0.7.1
- Suporte a binários ARM64 via emulação em modo usuário do
qemu-aarch64 lure inspectexibe corretamenteARM64para ELFs AArch64lure rundetecta automaticamente ELFs ARM64 e envolve a execução comqemu-aarch64- O Execution Summary mostra
Architecture: ARM64 (QEMU emulated)para execuções ARM64 - Erro claro e dica de instalação quando
qemu-aarch64está ausente - 4 novos testes cobrindo inspect ARM64 (exibição + JSON) e run (qemu ausente + sucesso do QEMU)
v0.6.0
- Limites de recursos cgroups v2 (512 MB de memória, máximo de 64 PIDs)
- Lista de permissões seccomp-bpf via wrapper C compilado lure-wrapper
- Isolamento completo de namespace de montagem + PID com chroot mínimo
- Comparação de relatórios com
lure diff
Licença
MIT — veja LICENSE.