
lure v0.7.1
ローカルLinuxバイナリ解析ツール。クラウド不要。root不要。実行前にバイナリが何を行うかを正確に確認できます。
lure
ローカルLinuxバイナリ解析。クラウド不要。root不要。コスト不要。
lure は、セキュリティ研究者、リバースエンジニア、CTFプレイヤーのためのローカルLinux ELF解析・サンドボックスツールです。バージョン 0.7.1 では、QEMUユーザーモードエミュレーションによるARM64バイナリサポートが追加されました。

3つの補完的なワークフローを提供します:
- 静的解析
lure inspect— 実行せずにELFを検査します。 - 動作解析
lure run— Linux名前空間、strace、seccomp-bpfポリシーの下でELFを実行し、読みやすいレポートを生成します。 - レポート比較
lure diff— 保存された2つの動作レポートを比較します。
すべてローカルで処理されます。サンプルやレポートがクラウドサービスにアップロードされることはありません。
アルファソフトウェア: lureはまだ活発に開発中です。セキュリティ研究に適した環境でテストし、このサンドボックスを専用のマルウェア解析VMの代替として扱わないでください。

機能概要
Lureは、静的ELF検査と動作実行解析を組み合わせます。バイナリがアクセスするもの、試みるネットワーク接続、生成するプロセス、そして実行が CLEAN、SUSPICIOUS、または DANGEROUS のいずれに分類されるかを表示できます。
なぜ使うのか
- プライバシー — サンプルとレポートは自分のマシンに留まります。
- 読みやすさ — 生の
straceノイズではなく、構造化されたレポートを提供します。 - シンプルなワークフロー — 1つのCLIから検査、実行、保存、比較ができます。
- 無料 — MITライセンスで、標準的なLinuxツールを基盤としています。
- マルチアーキテクチャ — x86-64ネイティブ + QEMUユーザーモードエミュレーションによるARM64。
機能
静的ELF検査
lure inspect は以下を報告します:
- ELFアーキテクチャとタイプ (x86-64、ARM64など)
- エンディアン
- ファイルサイズ
- MD5およびSHA-256ハッシュ
- NX
- PIE
- RELROステータス
- スタックカナリアの有無
- リンクされたライブラリ
--sectionsによるELFセクションヘッダ--stringsによる表示可能なASCII文字列
検査対象のファイルは実行されません。
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リソース制限
qemu-aarch64によるARM64バイナリエミュレーション (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) を表示します。
レポート比較
lure diff は保存された2つの.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バイナリエミュレーション |
lure run でARM64 ELFバイナリを解析するには qemu-user をインストールしてください。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
qemu-aarch64ユーザーモードエミュレーションによるARM64バイナリサポートlure inspectがAArch64 ELFに対してARM64を正しく表示lure runがARM64 ELFを自動検出し、qemu-aarch64で実行をラップ- 実行サマリーがARM64実行に対して
Architecture: ARM64 (QEMU emulated)を表示 qemu-aarch64がない場合の明確なエラーとインストールヒント- ARM64のinspect (表示 + JSON) とrun (qemu欠落 + QEMU成功) をカバーする4つの新しいテスト
v0.6.0
- cgroups v2リソース制限 (メモリ512 MB、最大64 PID)
- コンパイル済みC lure-wrapperによるseccomp-bpf許可リスト
- 最小chrootによる完全なマウント + PID名前空間分離
lure diffレポート比較
ライセンス
MIT — LICENSE を参照してください。