Phantom - SRC脆弱性発掘支援ブラウザ拡張

Security

概要

Phantomは、SRC(ソースコードリーク)脆弱性を対象にしたブラウザ拡張ツールです。ウェブページやその関連リソースから敏感情報や疑わしい手掛かりを自動的に収集・抽出し、脆弱性発掘の効率化を図ります。APIやURL、メールアドレス、電話番号、パス、パラメータ、コメント、各種トークンやキーなど多種多様な情報を検出可能です。基本的なスキャン機能に加え、多層リンクを再帰的に追跡する深度スキャンや、APIの一括テスト、検出結果のCSVエクスポート、正規表現のカスタマイズ機能も備えています。操作はシンプルでありながら、強力な設定項目を持つことが特徴です。

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 2
  • ウォッチャー数: 3
  • コミット数: 14
  • ファイル数: 16
  • メインの言語: JavaScript

主な特徴

  • ページ内のAPI、URL、メールアドレス、電話番号、トークンなど多様な敏感情報を自動抽出
  • 深度再帰スキャンで多層リンクやリソースを効率的にクロール・収集
  • 並行処理やタイムアウト設定による柔軟なスキャン制御
  • 結果のCSVエクスポートや正規表現カスタマイズによる高度な分析支援

技術的なポイント

PhantomはGoogle Chromeなどのブラウザ向けに開発されたJavaScriptベースの拡張機能で、主にクライアントサイドで動作します。ページのDOMやネットワークリクエストを解析するcontent scriptとバックグラウンドで処理を管理するbackground scriptを組み合わせて実装されている点が特徴です。

基礎スキャン機能は、正規表現と文字列解析によってAPIエンドポイントのURLやドメイン名、メールアドレス、電話番号、各種認証トークンやAPIキーなどの情報を網羅的に抽出します。これによりSRC脆弱性の手掛かりとなる情報を漏れなく検出できる設計です。

さらに、深度再帰スキャンでは、検出したリンクを辿りながら複数階層にわたるページやリソースを並列にクロールします。ユーザーは並列数やタイムアウトの設定を細かく調整できるため、対象サイトの規模や応答性に応じた効率的なスキャンが可能です。また、深度スキャンは新しいウィンドウで実行されるため、ユーザーの通常操作を阻害しません。

API一括テスト機能は、抽出したAPI候補をまとめてリクエストし、レスポンスの解析や脆弱性の有無を検証するための基盤を提供します。これにより手動での検証工数を大幅に削減します。

結果のエクスポートはCSV形式に対応し、スキャン結果の外部解析や報告書作成に便利です。加えて、正規表現はユーザーが自由にカスタマイズ可能で、特定のパターン検出を強化したり、誤検知を減らしたりできます。

コード構成はモジュール化が進んでおり、content.jsやbackground.jsに加え、正規表現の修正パッチや深度スキャンの実装ファイルなどが分割されています。これによりメンテナンス性が高く、拡張やカスタマイズもしやすい設計です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: プロジェクト概要や使い方を記載
  • background.js: 拡張機能のバックグラウンド処理を担当
  • content.js: ページのDOMやリソースから情報抽出を行うスクリプト
  • content-regex-fix.js: 正規表現の修正パッチ適用用スクリプト
  • deep-scan-fix-patch.js: 深度スキャン機能の補正パッチ
  • icon/: アイコンや画像リソースを格納
  • その他JavaScriptファイル(スキャンロジック、UI制御など)

まとめ

SRC脆弱性調査を効率化する強力なブラウザ拡張ツール。

リポジトリ情報: