Chrome拡張機能
CyberStrike Chrome拡張機能は、ブラウザからのHTTPトラフィックをキャプチャし、自動セキュリティテストのためにCyberStrike APIに転送します。
拡張機能を使うタイミング
/hackbrowser を実行すると、CyberStrikeは拡張機能が組み込み済みの専用Chromiumブラウザを起動します。この自動ブラウザは、クロール、トラフィックキャプチャ、AI駆動ナビゲーションをすぐに処理します。このワークフローでは何も別途インストールする必要はありません。
スタンドアロンのChrome拡張機能は別のユースケース向けです:自分のブラウザを使う場合です。ブックマーク、保存されたパスワード、既存の拡張機能、ログイン済みセッションがある日常のChromeからトラフィックをキャプチャしたいときにインストールしてください。以下のような場合に便利です:
- ターゲットアプリケーションが、すでに設定済みの特定のブラウザ構成を必要とする
- 実際の認証済みセッションとCookieでテストする必要がある
- 手動でブラウジングしながら、CyberStrikeがバックグラウンドですべてのリクエストを分析する
- アプリケーションがSSO、MFA、またはその他の認証フローを使用しており、自分のブラウザの方が簡単
両方のパスは同じテストパイプラインにフィードし、単一のセッション内で混在させることができます。
インストール
拡張機能のソースコードはCyberStrikeリポジトリの packages/hackbrowser/extension/ に含まれています。
- リポジトリをクローン:
git clone https://github.com/CyberStrikeus/CyberStrike.git- Chromeを開き、
chrome://extensionsに移動 - 右上のデベロッパーモードを有効にする
- パッケージ化されていない拡張機能を読み込むをクリック
- クローンしたリポジトリ内の
packages/hackbrowser/extension/ディレクトリを選択
読み込まれると、Chromeのツールバーに拡張機能のアイコンが表示されます。
Caution
拡張機能のポップアップを開く前にCyberStrikeを起動してください。拡張機能は起動時にCyberStrike APIに接続します。
設定
ツールバーのアイコンをクリックして拡張機能のポップアップを開きます。
サーバーURL
拡張機能は以下のアドレスでCyberStrikeに接続します:
http://127.0.0.1:4096異なるアドレスまたはポートでCyberStrikeを実行している場合は、サーバーURLフィールドで変更してください。リモートアクセスにCloudflareトンネルを使用している場合は、ここにトンネルURLを入力してください。
スコープ
スコープフィールドにターゲットドメインを入力します:
shop.example.comホスト名がこのスコープに一致するリクエストのみがキャプチャされます。他のドメインへのリクエストは無視されます。
サブドメインワイルドカードがサポートされています:
*.example.comセッション
ドロップダウンから既存のセッションを選択するか、新しいセッションを作成します。キャプチャされたすべてのリクエストと検出されたコンテキストはアクティブなセッション内に保存されます。
キャプチャの開始と停止
Startをクリックしてトラフィックの傍受を開始します。拡張機能がマッチするリクエストをキャプチャするたびにリクエストカウンターが増加します。
Stopをクリックしてキャプチャを一時停止します。セッションはアクティブのままで、CyberStrikeはキューに入っているリクエストの処理を続けます。
クレデンシャル管理
クレデンシャルは認証されたユーザーIDを表します。拡張機能はChromeプロファイルごとの認証ヘッダーを追跡し、キャプチャされた各リクエストを適切なクレデンシャルにリンクします。
クレデンシャルが重要な理由
CyberStrikeはクレデンシャルを使用してクロスユーザー脆弱性をテストします:
- IDOR — クレデンシャルAはクレデンシャルBが所有するリソースにアクセスできるか?
- 認可バイパス — 低権限のクレデンシャルがより高い権限を必要とするエンドポイントにアクセスできるか?
- マスアサインメント — 通常のユーザーが管理者専用のフィールドを注入できるか?
登録するクレデンシャルが多いほど(管理者、一般ユーザー、ゲストなど)、クロスユーザーテストのカバレッジが広がります。
Chromeプロファイル
Chromeプロファイルはブラウザセッションを分離するため、複数のユーザーとして同時にログインできます。各プロファイルは独自のCookieとローカルストレージを維持します。
セットアップ:
- Chromeの右上にあるプロファイルアイコンをクリック
- 追加をクリックして、ユーザーロールごとに新しいプロファイルを作成:
AdminRegular UserGuest
- 各プロファイルでターゲットアプリケーションを開き、対応するアカウントでログイン
- CyberStrikeのポップアップで、各プロファイルのクレデンシャルを追加(下記参照)
クレデンシャルの追加
ポップアップで:
- Add Credentialをクリック
- 説明的なラベルを入力 — 例えば
admin-userまたはregular-user - そのアカウントにリンクされたChromeプロファイルを選択
- Saveをクリック
クレデンシャルはCyberStrike APIに登録されます。この時点から、そのプロファイルからキャプチャされたリクエストにはクレデンシャルIDが自動的にタグ付けされます。
自動ヘッダー同期
拡張機能がプロファイル内で認証ヘッダーの変更を検出すると — 例えばトークンリフレッシュ後 — 更新されたヘッダーを自動的にクレデンシャルに同期します。トークンローテーション後にクレデンシャルを手動で更新する必要はありません。
追跡される認証ヘッダー
拡張機能はクレデンシャル追跡のためにこれらのヘッダーを監視します:
| ヘッダー | 説明 |
|---|---|
Authorization | Bearerトークン、Basic認証 |
Cookie | セッションCookie |
X-Auth-Token | カスタム認証トークン |
X-API-Key | APIキー |
X-Access-Token | OAuthアクセストークン |
X-Session-Token | セッショントークン |
X-CSRF-Token | CSRFトークン |
リクエストフィルタリング
拡張機能はノイズを減らすために静的アセットを自動的にスキップします:
| カテゴリ | 拡張子 |
|---|---|
| 画像 | .png .jpg .jpeg .gif .svg .ico .webp |
| スタイルシートとスクリプト | .css .js .mjs |
| フォント | .woff .woff2 .ttf .eot .otf |
| メディア | .mp4 .mp3 .avi .mov .webm |
| アーカイブとドキュメント | .pdf .zip .gz .br |
| ソースマップ | .map |
アプリケーションレベルのリクエスト(API呼び出し、フォーム送信、ページナビゲーション)のみが転送されます。
APIに送信されるデータ
キャプチャされた各リクエストについて、拡張機能は POST /session/ingest にペイロードを送信します:
{ "text": "POST /api/orders HTTP/1.1\r\nHost: shop.example.com\r\nAuthorization: Bearer eyJ...\r\nContent-Type: application/json\r\n\r\n{\"item_id\": 42, \"qty\": 1}", "sessionID": "session-abc123", "credential_id": "web_credential-xyz789", "response": { "status": 201, "headers": { "content-type": "application/json" }, "body": "{\"order_id\": 573, \"total\": 29.99, \"status\": \"pending\"}" }}text フィールドには完全な生のHTTPリクエストが含まれます。レスポンスボディは拡張機能により500KBに制限されます。APIは分析前にさらに100KBに縮小します。
重複検出
CyberStrikeはサーバー側でリクエストの重複を排除します。同じHTTPメソッド、正規化されたパス、ボディ構造、クエリパラメータキーを持つリクエストはスキップされます。これにより、同一のエンドポイントに対する冗長なテストが防止されます。
コンテキストパネル
ポップアップは、すべての処理済みリクエストを通じてCyberStrikeが蓄積したコンテキストを表示します:
| パネル | 内容 |
|---|---|
| Credentials | 登録されたすべてのクレデンシャルとリンクされたロール |
| Roles | 分析中に検出されたユーザーロール |
| Objects | データエンティティ(User、Order、Product)とそのフィールド |
| Functions | エンドポイントとファンクションのマッピング(CRUDアクションタイプ付き) |
このパネルは読み取り専用です。CyberStrikeはより多くのリクエストを処理するにつれて徐々にデータを追加します。
関連ドキュメント
- HackBrowser - 自律型AIクローラー — 自動化された代替手段