lure
Local Linux binary analysis. Zero cloud. Zero root. Zero cost.
⚠️ Early development (v0.2.0). Core features (inspect, run,
diff) work end to end on x86_64 Linux. This is a young project —
expect rough edges, limited error handling on unusual inputs, and
missing features. Bug reports, feedback, and contributions are very
welcome. Network isolation is enforced. Filesystem isolation is
not — run inside a VM when analyzing untrusted samples.
What it does
Lure runs an untrusted Linux binary in a lightweight monitoring environment (user + network namespaces + strace) and tells you exactly what it did — which files it touched, what network connections it tried, what processes it spawned — then gives you a plain verdict: CLEAN, SUSPICIOUS, or DANGEROUS.
Everything happens on your machine. Nothing is uploaded anywhere.
Why
- Privacy — sensitive or client samples never leave your machine
- Zero setup — no VM, no Docker, no Cuckoo install process
- Readable — structured reports instead of raw strace noise
- Free — MIT licensed, runs on tools already on Kali Linux
Isolation model
Lure uses Linux user and network namespaces to prevent the binary from making outbound network connections. The host filesystem remains visible to the analyzed binary. For stronger isolation (mount namespace, seccomp, cgroups), run Lure inside a VM or container. Lure is primarily a behavioral observation tool, not a hardened sandbox.
Install
git clone https://github.com/0xusmanismail/lure.git
cd lure
pip install -e . --break-system-packages
The --break-system-packages flag is required on Arch Linux and on
recent Debian/Ubuntu releases, which restrict installing into the
system Python environment by default (PEP 668).
Requires strace and unshare installed.
Usage
Inspect a binary
lure inspect /bin/ls
Reads ELF headers, architecture, security mitigations, linked libraries, and file hashes — without executing a single byte of code.
Run a binary in the sandbox
lure run ./suspicious_binary
Live feed of file access, network attempts, and spawned processes, followed by a full behavioral report.
Catch suspicious behavior
lure run ./demo_dangerous
Sensitive file access combined with network activity trips a DANGEROUS verdict, with the exact triggers listed.
Compare two runs with lure diff
lure run --save /bin/ls
lure run --save /bin/echo
lure diff report1.json report2.json
Shows new/removed files, new connections, verdict changes, and syscall count differences between two saved runs.
Save a report
lure run --save ./binary
Saves the full report to ~/.lure/reports/ as both a plain-text .txt file and a structured .json file.
Status & Roadmap
Working now:
- ELF inspection with security mitigation detection
- Sandboxed execution via
unshare+strace - Live event feed during execution
- Full behavioral report with CLEAN/SUSPICIOUS/DANGEROUS verdict
- Verdict shows exact triggering files and IPs
- Report saving (plain text + JSON)
- Report comparison via
lure diff - Non-ELF file detection with clean error messages
- Works on Arch Linux, Kali, Debian, Ubuntu
Planned:
- Demo GIF showing live execution
- PyPI package (
pip install lure-analyze) - Packaged releases
License
MIT — see LICENSE
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lure_analyze-0.2.0.tar.gz.
File metadata
- Download URL: lure_analyze-0.2.0.tar.gz
- Upload date:
- Size: 23.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49362042d0d32da9d5526ddd362c0a8d425a1cd14aed93626b0abfc3c6704691
|
|
| MD5 |
0abee1d550fe31002f32a7a150b9fb0a
|
|
| BLAKE2b-256 |
ce52079e8a9231d435cc7f4fa85f98a8ba3ca03c26fe41597f54b6341c134efa
|
File details
Details for the file lure_analyze-0.2.0-py3-none-any.whl.
File metadata
- Download URL: lure_analyze-0.2.0-py3-none-any.whl
- Upload date:
- Size: 23.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
180d05efc735dd13fbd76b4515bfa138252bc9360744576f5705e9b67ca67632
|
|
| MD5 |
304a2c9f4fa2e27385943e81f97c5c20
|
|
| BLAKE2b-256 |
7edeaa7908211f38e8aae1d7cd821e7c5ef74a442681aab133050dfe183915a4
|