Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
mole — 変数のバックワードスライシングをドライバとして静的テイント分析を行うBinary Ninjaプラグイン | Kitploit
ツール/GitHubGitHub/cyber-defence-campus/mole
静的分析脆弱性分析コード分析エクスプロイトリバースエンジニアリングバイナリ解析AI支援リバースエンジニアリング
GitHubcyber-defence-campus/mole

mole

変数のバックワードスライシングをドライバとして静的テイント分析を行うBinary Ninjaプラグイン

リポジトリを見る
8241ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Publish Release Release

Mole

Mole Logo

Mole は、バイナリ内の興味深い実行パスを特定するために設計された Binary Ninja プラグインです。Binary Ninja の Medium Level Intermediate Language (MLIL)(Static Single Assignment (SSA) 形式)を使用して変数の後方スライシングを実行し、静的汚染解析の基礎を形成します。

Mole において、パスとは、定義されたソースとシンクの間のデータの流れを指します。「興味深い」パスとは何かは分析の目的に依存します。たとえば、脆弱性を検索する場合、信頼されていない入力(ソース)が潜在的に危険な方法で機密操作(シンク)に影響を与えるパスを探すことがあります。

以下は、Mole の現在の機能の一部です:

  • 操作モード:Mole は Binary Ninja の UI 内、またはヘッドレスモードのいずれかで実行できます。ヘッドレスモードは、多数のバイナリをスクリプトで解析する場合に特に便利です。一方、UI 内で Mole を使用すると、検出されたパスを詳細に調査するのに最適です。

  • パス特定:

    • 設定:Mole では、Binary Ninja の UI または設定ファイルを使用して、ソース関数とシンク関数を定義できます(使用方法を参照)。これにより、特定の使用シナリオに基づいてソースとシンクを柔軟に選択できます。
    • 探索:パスをよりよく理解し、その特性を調べるために、パスに沿ったすべての命令を印刷したり、Binary Ninja 内で視覚的に強調表示したりできます。さらに、2 つのパスを並べて比較表示し、違いを迅速に特定することもできます。命令と同様に、パスの関数呼び出しのシーケンスを印刷したり、グラフとして可視化したりできます。
    • グループ化:類似したパスの識別を容易にするために、Mole は複数のグループ化戦略をサポートしています。現在、パスは一致するソース関数とシンク関数に基づいて、または同一の呼び出しシーケンスによってグループ化できます。新しいカスタムグループ化戦略を簡単に追加して、この機能を拡張およびカスタマイズできます(カスタマイズを参照)。
    • 永続化:発見されたパスは、明確化のために注釈を付けたり、重要でないと判断された場合は削除したりできます。解析の進捗を保存するために、パスをターゲットバイナリのデータベース(Binary Ninja の .bndb 形式)に直接保存できます。パスはエクスポートすることもでき、たとえばファイルシステム上の多数のバイナリに対してヘッドレス解析を実行する場合に、特定されたパスを後でインポートして Binary Ninja 内でより簡単に調査できるようになります。
  • AI によるパス解析:Mole は、OpenAI API を介してローカルまたはリモートの大規模言語モデル(LLM)と対話できます(使用方法を参照)。これらのモデルは、特定されたパスを分析し、そのパスが悪用可能な脆弱性に対応するかどうかを推論するために使用されます。LLM は脆弱性の分類と重大度レベルの割り当てを試み、これによりアナリストがどのパスをさらに調査する価値があるかを優先順位付けするのに役立ちます。Mole は、LLM が解析対象のバイナリに関する追加情報を要求するために使用できる基本的なツールセットを提供します。

  • 手続き間変数スライシング:Mole は、関数境界を越えた MLIL 変数 のスライシングをサポートしています。これはいくつかの課題を提示します。たとえば、関数の有効な呼び出し元を静的に決定することは困難または不可能な場合がよくあります。その結果、実装されたアプローチは近似です。完璧ではありませんが、さまざまな実用的シナリオでかなり良好に機能します。

  • 基本ポインタ解析:Mole は現在、ポインタの使用を追跡するための簡略化された戦略を実装しています。手続き間スライシングと同様に、このアプローチは本質的に制限がある単純化です(たとえば、グローバル変数を追跡できません)。それでも、多くの実用的なケースで良好に機能し、将来のバージョンで改善される予定です。

使用例

Mole が CVE-2021-4045(TP-Link Tapo C200 IP カメラにおける認証なしのコマンドインジェクションの欠陥)を明らかにする動作をご覧ください(以下の画像をクリックして YouTube で視聴):

Mole Usage Example

ドキュメント

  1. インストール
  2. 使用方法
  3. カスタマイズ

コントリビュートまたは体験を共有する

Mole は現在開発中です。バグに遭遇した場合、誤検知や見逃しを明らかにする有用な新しい単体テストがある場合、または新機能の提案がある場合は、Issue を開くか、プルリクエストを介してコントリビュートしてください。また、現在の 単体テスト は linux-x86_64 と linux-armv7 バイナリでのみ検証されていることに注意してください。

Mole の助けを借りて脆弱性を発見するなど、興味深い成功事例があれば、ぜひお聞かせください。お気軽に体験を共有してください。

コントリビューター

  • Damian Pfammatter, Cyber-Defence Campus (armasuisse S+T)
  • Daniel Hulliger, Cyber-Defence Campus (armasuisse S+T)
  • Sergio Paganoni
ツールをダウンロード