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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
browser-xpi-malware-scanner — 多くの一般的なマルウェアトリック(例えば、資格情報窃取の難読化手法、ステガノグラフィー、Base64ペイロード、zipトリック、リモートコード実行、ポリグロットトリック、メタデータトリック)をチェックし、アナリストにどこでより深い分析が必要かについての情報を提供することを目的とした包括的なブラウザ拡張機能(.xpi)マルウェアスキャナーです。 | Kitploit
ツール/GitHubGitHub/ernos/browser-xpi-malware-scanner
静的分析脆弱性分析コード分析フォレンジックステガノグラフィーマルウェア分析論文と研究学習と教育
GitHub

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ernos/browser-xpi-malware-scanner

browser-xpi-malware-scanner

多くの一般的なマルウェアトリック(例えば、資格情報窃取の難読化手法、ステガノグラフィー、Base64ペイロード、zipトリック、リモートコード実行、ポリグロットトリック、メタデータトリック)をチェックし、アナリストにどこでより深い分析が必要かについての情報を提供することを目的とした包括的なブラウザ拡張機能(.xpi)マルウェアスキャナーです。

リポジトリを見る
84ヶ月前未レビュー

XPI Analyzer — Firefox拡張機能セキュリティスキャナ

Firefox拡張機能ファイル(.xpi)を解析し、マルウェア、難読化、隠しペイロード、ステガノグラフィ、および拡張機能レビューチームをすり抜ける悪意のあるコードを仕込むその他の手法の兆候を検出するコマンドラインツールです。

機能概要

extension-scanner.py はFirefox拡張機能を開き、内部のすべてのファイルに対して一連のセキュリティチェックを実行します。そして、重要度順にランク付けされた結果を色分けしたレポートとして出力します。

このスキャナを使用してFirefox/Mozillaの拡張機能ストアで実際のマルウェアを見つけ、さらに詳しく分析するためのガイド/チュートリアル

  • マルウェア解析: browser-xpi-malware-scanner.py を使用した実在するマルウェアの発見
  • あなたのクリックを盗む広告ブロッカー: "Supreme Adblocker for Youtube" の内部
  • ブラウザ拡張機能マルウェアスキャナを自作し、悪意のある"YouTube Downloader"を暴露するまで

実行されるチェック

カテゴリ検出対象
権限危険または過度に広範な権限(nativeMessaging、<all_urls>、debugger、desktopCapture など)
コンテンツセキュリティポリシーCSPにおける unsafe-inline、unsafe-eval、リモートスクリプトソース
JavaScript難読化eval()、atob()、Function() コンストラクタの悪用、16進エスケープシーケンス、split/join/reverse による再構築、エンコードされた文字列リテラル、文字列引数を持つ setTimeout
不審なURLハードコードされた外部ドメインを 既知の悪意(ブロックリストヒット → HIGH)、未知(許可リストなし → MEDIUM)、既知の安全(許可リスト → 非表示)に分類。--update-blocklist を実行してURLhausとPeter Loweのリストからドメインブロックリストを更新可能。
認証情報とシークレットハードコードされたAPIキー、トークン(AWS、GitHub、Slack、Google)、パスワード、秘密鍵、IPアドレス
Base64ペイロード埋め込まれたbase64ブロブをデコードし、実行可能ファイル、スクリプト、ネットワークコードをスキャン
PNGステガノグラフィPNGのIEND後に追加されたデータを検出し、トレーラを自動デコード(base64、zlib、gzip、およびその組み合わせ)。デコードされたペイロードは再帰的にJS難読化、認証情報、不審なURLをスキャン。未知のチャンクタイプ、LSBチャネルの異常、異常に高いピクセルエントロピーも検出。
ファイルメタデータマジックバイトによる実行可能ファイル(.exe、.elf、.dylib)の検出、二重拡張子(例:photo.png.js)、不審なファイル名(keylog、miner、wallet)
ポリグロットファイル2つの形式(例:HTML+ZIP)として同時に有効なファイル
ZIPのトリックパストラバーサルエントリ、ファイル名内のNULLバイト、パーサーを欺く重複エントリ、ペイロードを含むZIPコメント
リモートコードリモートURLから読み込まれるバックグラウンドページまたはサービスワーカー
高エントロピー不審に高いエントロピーを持つファイルまたは文字列リテラル(暗号化または圧縮されたペイロードの可能性)
API悪用データ窃取または外部送信を示すブラウザ拡張機能API呼び出し:cookies.getAll({})、tabs.query({})、history.search、キーボードリスナー、クリップボード読み取り、動的関数を使用した scripting.executeScript。データ収集呼び出しと同一ファイル内の送信ネットワーク呼び出しがペアになるとCRITICALに escalation。

重要度レベル

  • CRITICAL — ほぼ確実に悪意あり;即時調査が必要
  • HIGH — 強く疑わしい;注意深いレビューが必要
  • MEDIUM — 潜在的にリスクあり;文脈に応じてレビュー
  • LOW — 軽微な懸念;情報提供
  • INFO — メタデータ(ハッシュ、ファイルサイズなど)

インストール

前提パッケージ

  • Python 3.10+ が必要です。python3.11、python3.12、python3.13
  • **python3-venv** - 仮想環境を使用する場合に必要

仮想環境を使用する場合:

root@kitploit:~
sudo apt install python3 python3-venv
git clone https://github.com/ernos/extension-scanner.git
cd extension-scanner

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

オプションパッケージ

  • **python3-numpy** - ステガノグラフィに推奨、システム全体にインストール(または pip install -r requirements.txt)
  • pillow: ステガノグラフィに推奨
  • numpy: ステガノグラフィに推奨
    root@kitploit:~
    pip install pillow numpy  
    #Ubuntuでのシステム全体インストール:  
    sudo apt install python3-pillow python3-numpy
    
root@kitploit:~
git clone https://github.com/ernos/extension-scanner.git
cd extension-scanner
chmod +x extension-scanner.py
mkdir -p ~/.local/share/bin
ln -s $PWD/extension-scanner.py ~/.local/share/bin/extension-scanner

# LSBステガノグラフィ解析に必要(推奨、オプション)
pip install pillow numpy

# オプション1. 現在のユーザーのみ:
# 簡単な使用のためのbash補完を有効にする(TABキーでコマンドの自動補完)
mkdir -p ~/.local/share/bash-completion/completions
cp extension-scanner-completions ~/.local/share/bash-completion/completions
echo "source ~/.local/share/bash-completion/completions/extension-scanner-completions" >> ~/.bashrc

# オプション2. 全ユーザーに対してグローバルに補完を有効にする(.bashrcから自動的に読み込まれます)
cp extension-scanner-completions /usr/share/bash-completion/completions

Pillow/NumPyがインストールされていない場合でもツールは動作します。LSBおよびピクセルエントロピーチェックは単にスキップされ、警告が表示されます。


使用方法

root@kitploit:~
usage: xpiscanner [-h] [--update-blocklist] [--min-severity {CRITICAL,HIGH,MEDIUM,LOW,INFO}] [--json] [--compact] [-v] [-m] [--scans CHECK [CHECK ...]]
                  [targets ...]

Firefox Extension Scanner - XPIファイルをスキャンしてセキュリティリスクとマルウェアの兆候を検出します

positional arguments:
  targets               解析する1つ以上のXPIファイルまたはXPIを含むディレクトリ

options:
  -h, --help            このヘルプメッセージを表示して終了
  --update-blocklist, --update, -u
                        URLhausとPeter Loweのリストから最新のドメインブロックリストを取得し、バンドルされたスナップショットとマージして
                        /home/peb/projects/Firefox-Extensions/extension-scanner/blocklist.json に保存します。更新後に終了します。
  --min-severity {CRITICAL,HIGH,MEDIUM,LOW,INFO}
                        表示する最小重要度(CRITICAL、HIGH、MEDIUM、LOW、INFO;デフォルト: INFO)
  --json                結果をフォーマットテキストではなくJSONとして出力
  --compact, -c         各発見事項をデフォルトの3行形式ではなく1〜2行で出力
  -v, --verbose         詳細出力を有効にする:発見事項に関する追加コンテキストを表示
  -m, --manifest        各ターゲットの拡張機能マニフェスト全体を表示
  --scans, -s CHECK [CHECK ...]
                        特定のチェックタイプに分析を制限。選択肢: anti-analysis, api-abuse, credentials, cross-file,
                        file-meta, hidden-elements, obfuscation, payloads, permissions, polyglot, remote-code,
                        signatures, steganography, time-bomb, zip-tricks。省略するとすべてのチェックを実行(デフォルト)。

    extension-scanner.py — Firefox(およびその他のブラウザ)拡張機能XPIファイルを解析し、セキュリティリスクとマルウェアの兆候を検出します。

    結果の解釈、制限事項、および使用上のベストプラクティスについてはREADME.mdを参照してください。
    このツールは、ブラウザ拡張機能の包括的な静的解析を実行したいセキュリティ研究者、アナリスト、上級ユーザーを対象としています。
    他のブラウザでも動作するはずですが、Firefoxでのみテストされています。

使用方法:
    python3 extension-scanner.py [オプション] ターゲット...

ターゲットは個々の.xpiファイルまたは.xpiファイルを含むディレクトリです。便利なようにグロブパターン(例: *.xpi)を使用できます。

利用可能なチェックタイプ:
    permissions              危険/広範なマニフェスト権限とCSPの問題
    remote-code              リモートURLから読み込まれるバックグラウンドページまたはサービスワーカー
    obfuscation              eval/atob/エンコーディングのトリック、不審なURL、高エントロピー文字列
    payloads                 Base64エンコードされたブロブをデコードし、実行可能ファイル/スクリプトをスキャン
    steganography            PNGに追加されたデータ(base64/zlib/gzipで自動デコード)、未知のチャンク、LSBチャネル解析
    credentials              ハードコードされたAPIキー、トークン、パスワード、秘密鍵、IPアドレス
    file-meta                マジックバイト、二重拡張子、不審なファイル名、ファイルエントロピー
    polyglot                 2つの形式で同時に有効なファイル(例: HTML+ZIP)
    zip-tricks               パストラバーサル、NULLバイト、重複エントリ、ZIPコメント
    cross-file               HTMLクラストークンをJS localStorageキーと相互参照
    signatures               確認済み悪意のある拡張機能ファミリー(qingcaila、YTMP4など)からの既知の文字列
    api-abuse                データ窃取または外部送信を示すブラウザAPI呼び出し(cookies、tabs、history、keylogger、clipboard、executeScript)
    hidden-elements          非表示iframe、ゼロ次元要素の注入、トラッキングピクセル(new Image().src)
    time-bomb                長時間遅延のsetTimeout、Date.now()ゲート、localStorageインストール日付チェック、Math.random()ゲート
    anti-analysis            navigator.webdriver、ゼロサイズウィンドウ、ベアdebuggerステートメント、performance.now()タイミング

例:
    python3 extension-scanner.py extension.xpi
    python3 extension-scanner.py *.xpi
    python3 extension-scanner.py /path/to/extensions/
    python3 extension-scanner.py a.xpi b.xpi --min-severity HIGH
    python3 extension-scanner.py ext.xpi --scans obfuscation payloads
    python3 extension-scanner.py ext.xpi --s steganography zip-tricks file-meta
    python3 extension-scanner.py ext.xpi --verbose
    python3 extension-scanner.py --update-blocklist
    python3 extension-scanner.py --manifest

ヒント:
    - .bashrcまたは.zshrcからscanner-completions.shを読み込んで、--scansカテゴリとターゲットファイルパスのタブ補完を有効にしてください。
    - --min-severityを使用して、最初に最も重要な発見事項に集中してください。
    - --scansを使用して特定のカテゴリのチェックに分析を制限し、特定のものを探したりスキャンを高速化したりできます。
    - --manifestを使用してマニフェスト全体を確認し、権限、コンテンツスクリプト、その他の拡張機能メタデータを確認して結果の解釈に役立ててください。
    - --update-blocklistでブロックリストを定期的に更新し、最新の悪意のあるドメインがチェックに含まれるようにしてください。

クレジット:
    Ernos @ https://www.yourdev.net によって開発
    メール: max at yourdev.net
    GitHub: https://www.github.com/ernos/extension-scanner

オプション



出力の読み方

root@kitploit:~
════════════════════════════════════════════════════════════════════════════
  XPI ANALYZER — example.xpi
════════════════════════════════════════════════════════════════════════════
  全体判定: HIGH RISK

  発見事項: 1 CRITICAL  3 HIGH  2 MEDIUM  1 LOW

  ── CRITICAL ────────────────────────────────────────────────────────────
  [CRITICAL ] [JS_OBFUSCATION] content.js
           eval() 呼び出し — 文字列から任意のコードを実行可能
           Evidence: var x = eval(atob("dmFyIGE9MTs…"))

  ── HIGH ────────────────────────────────────────────────────────────────
  [HIGH     ] [PERMISSION] manifest.json
           危険な権限: 'nativeMessaging' — ネイティブOSプロセスを起動可能…
           Evidence: permissions: ['nativeMessaging', 'storage', '<all_urls>']
  …

複数のファイルを分析すると、個々のレポートの後にすべての拡張機能を並べて表示する比較テーブルが出力されます。


終了コード

コード意味
0CRITICALまたはHIGHの発見事項なし
1少なくとも1つのHIGH発見事項
2少なくとも1つのCRITICAL発見事項

これにより、CIパイプラインやシェルスクリプトでの使用が容易になります:

root@kitploit:~
python3 extension-scanner.py extension.xpi --min-severity HIGH
if [ $? -eq 2 ]; then echo "CRITICALな問題が見つかりました!"; fi

制限事項

  • 静的解析のみ。 ツールはコードを実行しません。動的な手法(実行時に取得されるペイロード、サーバーサイドポリモーフィズム)は検出できません。
  • LSBステガノグラフィのヒューリスティックは、自然にノイズが多い画像や高度に圧縮された画像で誤検出を生成する可能性があります。
  • 難読化パターンは一般的な手法に焦点を当てています。カスタムまたは新しいパッカーは警告をトリガーしない場合があります。
  • 許可リストに登録されたドメイン(Google APIs、Mozilla、W3C)はURLチェックでフラグ付けされません。他の信頼できるCDNを呼び出す正規の拡張機能はHIGHの発見事項として表示される可能性があります。
  • このツールはファイルを外部サービスに送信しません。すべての解析はローカルで行われます。

著者

Maximilian Cornett

連絡先

https://www.yourdev.net https://www.github.com/ernos

ライセンス

GNU General Public License - このツールはセキュリティ研究および防御的分析のみを目的としています。

ツールをダウンロード
隠し要素DOMに注入される動的に作成された非表示iframe(display:none、ゼロ寸法)— 無音のアフィリエイトpingまたはC2チャネル。外部URLを指す new Image().src によるトラッキングピクセル。
タイムボム5分以上の遅延を持つ setTimeout/setInterval;Date.now() 算術ゲート;localStorage インストール日付チェックで動作を初回実行後数日遅らせる;Math.random() しきい値ゲートでページロードの一部でのみ発火。
解析回避navigator.webdriver チェック;ゼロ幅/高さのウィンドウ比較;ベア debugger ステートメント;タイミングベースのサンドボックス検出に使用される performance.now() 算術。
フラグ説明
--update-blocklistURLhausとPeter Loweの広告/マルウェアサーバーリストから最新のドメインリストを取得し、バンドルされたスナップショットとマージして、スクリプトと同じ場所にある blocklist.json に保存します。更新後に終了します。
targets1つ以上の .xpi ファイルまたはディレクトリ
--min-severity出力をフィルタリング: CRITICAL、HIGH、MEDIUM、LOW、INFO(デフォルト: INFO)
--json人間が読めるレポートの代わりにJSONドキュメントとして発見事項を出力
--verbose または -vmanifest.json の内容を出力し、不審なパターンが見つかった箇所の前後5行程度のコードも含めます
--checks特定の チェックカテゴリ のみをスキャン(以下参照)
利用可能な チェックカテゴリカテゴリ内のチェックの説明
permissions危険/広範なマニフェスト権限とCSPの問題
remote-codeリモートURLから読み込まれるバックグラウンドページまたはサービスワーカー
obfuscationeval/atob/エンコーディングのトリック、不審なURL、高エントロピー文字列
payloadsBase64エンコードされたブロブをデコードし、実行可能ファイル/スクリプトをスキャン
steganographyPNGに追加されたデータ、未知のチャンク、LSBチャネル解析
credentialsハードコードされたAPIキー、トークン、パスワード、秘密鍵、IPアドレス
file-metaマジックバイト、二重拡張子、不審なファイル名、ファイルエントロピー
polyglot2つの形式で同時に有効なファイル(例: HTML+ZIP)
zip-tricksパストラバーサル、NULLバイト、重複エントリ、ZIPコメント
cross-fileHTMLクラストークンをJS localStorageキーと相互参照
api-abuseデータ窃取または外部送信を示すブラウザAPI呼び出し(cookies、tabs、history、keyboard、clipboard)。同一ファイル内で収集+ネットワーク送信がある場合CRITICAL。
hidden-elements非表示iframeの注入とトラッキングピクセル。iframeが非表示でDOMに追加された場合HIGH。
time-bomb長時間遅延のsetTimeout、Date.now()算術ゲート、localStorageインストール日付、Math.random()しきい値。
anti-analysisnavigator.webdriver、ゼロサイズウィンドウ、ベアdebuggerステートメント、performance.now()算術。