
lure v0.3.0
ローカルLinuxバイナリ解析ツール。クラウド不要。root権限不要。実行前にバイナリが何を行うかを正確に確認できます。
lure
ローカルLinuxバイナリ解析。クラウド不要。root不要。無料。

⚠️ 早期開発版(v0.4.0)です。 コア機能(
inspect、run、diff)は x86_64 Linux でエンドツーエンドに動作します。これは若いプロジェクトであり — 荒い部分、通常でない入力に対する限定的なエラーハンドリング、不足している機能が あります。バグ報告、フィードバック、コントリビューションは大歓迎です。ネットワークと ファイルシステムの分離はデフォルトで適用されます。 マウント名前空間のセットアップがお使いのシステムで失敗した場合、Lure はネットワークのみの分離に フォールバックし、その旨をレポートに明確に表示します。

機能
Lure は、信頼できないLinuxバイナリを分離環境(ユーザー、ネットワーク、マウント、PID名前空間 + strace)で実行し、その動作を正確に伝えます — 触れたファイル、試みたネットワーク接続、生成したプロセス — そして CLEAN、SUSPICIOUS、DANGEROUS の明確な判定を下します。
すべてはあなたのマシン上で行われます。どこにもアップロードされません。
なぜ
- プライバシー — 機密サンプルやクライアントサンプルがマシンの外に出ることはありません
- セットアップ不要 — VM、Docker、Cuckoo のインストール作業は不要
- 読みやすい — 生の strace 出力ではなく構造化されたレポート
- 無料 — MIT ライセンス、Kali Linux に既にあるツールで動作
分離モデル
Lure は Linux のユーザー、ネットワーク、マウント、PID 名前空間を使用します。バイナリはシステムライブラリへの読み取り専用アクセスを持つ分離されたファイルシステムルート内で実行されます。ホストのファイルシステムを変更することはできません。ネットワーク接続はデフォルトでブロックされます。Lure は主に挙動観測ツールであり、堅牢化されたサンドボックスではありません — より強力な分離(seccomp、cgroups)が必要な場合は、Lure を VM またはコンテナ内で実行してください。
インストール
PyPI から(推奨)
pip install lure-analyze --break-system-packages
lure --version
ソースから
git clone https://github.com/0xusmanismail/lure.git
cd lure
pip install -e . --break-system-packages
注: PyPI パッケージ名は lure-analyze です。「lure」という名前は既に使われているためです。コマンドは引き続き lure です。
--break-system-packages フラグは、Arch Linux および最近の Debian/Ubuntu リリースで必要です。これらのシステムでは、システム Python 環境へのインストールがデフォルトで制限されています(PEP 668)。
strace と unshare がインストールされている必要があります。
動作確認済み環境
- Arch Linux(主な開発プラットフォーム)
- Kali Linux
- Debian / Ubuntu
使用方法
バイナリを検査する
lure inspect /bin/ls
ELF ヘッダー、アーキテクチャ、セキュリティ緩和策、リンクされたライブラリ、ファイルハッシュを読み取ります — コードを1バイトも実行せずに。

サンドボックスでバイナリを実行する
lure run ./suspicious_binary
ファイルアクセス、ネットワーク試行、生成されたプロセスのライブフィード、それに続く完全な挙動レポート。


不審な挙動を検出する
lure run ./demo_dangerous
機密ファイルへのアクセスとネットワークアクティビティが組み合わさると DANGEROUS 判定となり、正確なトリガーがリスト表示されます。

lure diff で2つの実行を比較する
lure run --save /bin/ls
lure run --save /bin/echo
lure diff report1.json report2.json
保存された2つの実行間の、新規/削除されたファイル、新しい接続、判定の変更、システムコール数の差分を表示します。

レポートを保存する
lure run --save ./binary
完全なレポートを ~/.lure/reports/ に、プレーンテキストの .txt ファイルと構造化された .json ファイルの両方として保存します。
ステータスとロードマップ
現在動作する機能:
- セキュリティ緩和策の検出を含む ELF 検査
- inspect での UPX パッカー検出
unshare+straceによるサンドボックス実行- 最小限の読み取り専用 chroot によるマウント + PID 名前空間の分離
- 実行中のライブイベントフィード
- CLEAN/SUSPICIOUS/DANGEROUS 判定付きの完全な挙動レポート
- 判定は正確なトリガーファイルと IP を表示
- レポート保存(プレーンテキスト + JSON)
lure diffによるレポート比較- 明確なエラーメッセージ付きの非 ELF ファイル検出
- Arch Linux、Kali、Debian、Ubuntu で動作
- PyPI で lure-analyze として提供
- README のデモ GIF
計画中:
- 自動テストスイート
- seccomp システムコールフィルタリング
- ARM64 バイナリ対応
- Windows PE 解析(Wine 経由)
ライセンス
MIT — LICENSE を参照