
lure v0.7.1
Локальный инструмент анализа бинарных файлов Linux. Без облака. Без root. Точно узнайте, что делает бинарный файл, прежде чем запускать его.
lure
Локальный анализ Linux-бинарников. Без облака. Без root. Бесплатно.
lure — это локальный инструмент для анализа и песочницы Linux ELF-файлов, предназначенный для исследователей безопасности, специалистов по реверс-инжинирингу и игроков CTF. Версия 0.7.1 добавляет поддержку ARM64-бинарников через эмуляцию пользовательского режима QEMU.

Он предоставляет три взаимодополняющих рабочих процесса:
- Статический анализ с помощью
lure inspect— проверка ELF без его выполнения. - Поведенческий анализ с помощью
lure run— выполнение ELF в пространствах имён Linux,straceи политике seccomp-bpf с последующим формированием читаемого отчёта. - Сравнение отчётов с помощью
lure diff— сравнение двух сохранённых поведенческих отчётов.
Всё обрабатывается локально. Ни образец, ни отчёт не загружаются в облачный сервис.
Альфа-программное обеспечение: lure всё ещё находится в активной разработке. Тестируйте его в среде, подходящей для исследований безопасности, и не рассматривайте эту песочницу как замену выделенной VM для анализа вредоносного ПО.

Что он делает
Lure сочетает статический анализ ELF с поведенческим анализом выполнения. Он может показать, к чему обращается бинарник, какие сетевые подключения он пытается установить, какие процессы порождает и как запуск классифицируется как CLEAN, SUSPICIOUS или DANGEROUS.
Зачем
- Конфиденциальность — образцы и отчёты остаются на вашей машине.
- Читаемость — структурированные отчёты вместо сырого шума
strace. - Простой рабочий процесс — проверка, запуск, сохранение и сравнение из одного CLI.
- Бесплатно — лицензия MIT и построен на стандартных инструментах Linux.
- Мультиархитектурность — x86-64 нативно + ARM64 через эмуляцию пользовательского режима QEMU.
Возможности
Статический анализ ELF
lure inspect сообщает:
- Архитектуру и тип ELF (x86-64, ARM64 и другие)
- Порядок байтов
- Размер файла
- MD5 и SHA-256 хеши
- NX
- PIE
- Статус RELRO
- Наличие stack-canary
- Связанные библиотеки
- Заголовки секций ELF с
--sections - Печатаемые ASCII-строки с
--strings
Проверяемый файл не выполняется.
lure inspect /bin/ls
lure inspect ./arm64_binary # ARM64 ELF — QEMU не требуется для проверки

Выполнение в песочнице
lure run объединяет:
- Пространства имён пользователя Linux
- Сетевое пространство имён
- Пространство имён монтирования
- Пространство имён PID
- Трассировку системных вызовов
strace - Политику системных вызовов seccomp-bpf, применяемую к гостю
- Минимальную файловую систему песочницы
- Таймаут (по умолчанию 30 секунд)
- Необязательный доступ к сети с
--allow-net - Необязательный сырой вывод
strace - Необязательные отчёты TXT + JSON
- Лимиты ресурсов cgroups v2 по возможности
- Эмуляцию ARM64-бинарников через
qemu-aarch64(v0.7.1+)
Сетевой доступ заблокирован по умолчанию.
lure run ./suspicious_binary
lure run ./arm64_binary # ARM64: qemu-aarch64 автоматически оборачивает бинарник
Когда обнаружен ARM64-бинарник, lure:
- Проверяет, что
qemu-aarch64есть в PATH (завершает работу с понятной подсказкой по установке, если его нет). - Добавляет
qemu-aarch64в начало команды выполнения — strace трассирует всю цепочку QEMU. - Показывает Architecture: ARM64 (QEMU emulated) в панели Execution Summary.
Сравнение отчётов
lure diff сравнивает два сохранённых отчёта .json:
lure run --save ./binary_v1
lure run --save ./binary_v2
lure diff ~/.lure/reports/binary_v1_*.json ~/.lure/reports/binary_v2_*.json
Установка
Из PyPI
pip install lure-analyze
Системные зависимости (обязательные)
| Инструмент | Пакет | Назначение |
|---|---|---|
strace | sudo pacman -S strace | трассировка системных вызовов |
unshare | часть util-linux (предустановлен) | изоляция пространств имён |
gcc / cc | sudo pacman -S gcc | компиляция seccomp-обёртки во время выполнения |
Системные зависимости (необязательные)
| Инструмент | Пакет | Назначение |
|---|---|---|
qemu-aarch64 | sudo pacman -S qemu-user | эмуляция ARM64-бинарников |
Установите qemu-user, чтобы анализировать ARM64 ELF-бинарники с помощью lure run. Статический анализ с lure inspect работает для ARM64 ELF без дополнительных инструментов.
Лимиты ресурсов cgroups v2 (необязательно)
Чтобы включить лимиты памяти и PID, делегируйте поддерево cgroup вашему пользователю:
sudo mkdir -p /sys/fs/cgroup/lure
sudo chown "$USER" /sys/fs/cgroup/lure
Использование
lure inspect BINARY [--json] [--sections] [--strings]
lure run BINARY [--timeout SECS] [--args 'ARG ...'] [--allow-net] [--out FILE] [--save]
lure diff REPORT1 REPORT2
Журнал изменений
v0.7.1
- Поддержка ARM64-бинарников через эмуляцию пользовательского режима
qemu-aarch64 lure inspectкорректно отображаетARM64для AArch64 ELFlure runавтоматически определяет ARM64 ELF и оборачивает выполнение черезqemu-aarch64- Execution Summary показывает
Architecture: ARM64 (QEMU emulated)для ARM64-запусков - Понятная ошибка и подсказка по установке, когда
qemu-aarch64отсутствует - 4 новых теста, покрывающих ARM64 inspect (отображение + JSON) и run (отсутствие-qemu + успех QEMU)
v0.6.0
- Лимиты ресурсов cgroups v2 (512 МБ памяти, максимум 64 PID)
- Белый список seccomp-bpf через скомпилированную C lure-wrapper
- Полная изоляция mount + PID пространств имён с минимальным chroot
- Сравнение отчётов
lure diff
Лицензия
MIT — см. LICENSE.