Web
CyberStrikeはブラウザ内のWebアプリケーションとして実行でき、ターミナル不要で完全なAI搭載セキュリティ評価エクスペリエンスを提供します。
SCREENSHOT: web-ui-overview.png
セッションサイドバー、チャットパネル、ファイルレビュー付きWebインターフェース
はじめに
Webインターフェースを起動するには:
cyberstrike webこれにより 127.0.0.1(デフォルトでポート 4096)にローカルサーバーが起動し、デフォルトブラウザでCyberStrikeが開きます。
Caution
セキュリティ: CYBERSTRIKE_SERVER_PASSWORD が設定されていない場合、サーバーは保護されません。ローカル使用では問題ありませんが、ネットワークアクセスでは必ず設定してください。
Info
Windows: 適切なファイルシステムとターミナル統合のため、PowerShellではなくWSLからこのコマンドを実行してください。
設定
ポート
cyberstrike web --port 4096デフォルトでは、システムが利用可能なポートを自動的に選択します。
ホスト名
# localhostのみ(デフォルト)cyberstrike web --hostname 127.0.0.1
# ネットワーク全体からアクセス可能cyberstrike web --hostname 0.0.0.0mDNSディスカバリ
ローカルネットワーク検出を有効化。自動的にホスト名を 0.0.0.0 に設定します。
cyberstrike web --mdnsカスタムドメインの場合:
cyberstrike web --mdns --mdns-domain myproject.localCORS
特定のドメインからのクロスオリジンリクエストを許可:
cyberstrike web --cors https://example.com認証
CYBERSTRIKE_SERVER_PASSWORD=secret cyberstrike webデフォルトのユーザー名は cyberstrike で、CYBERSTRIKE_SERVER_USERNAME で変更可能です。
VIDEO: web-launch-demo.mp4
cyberstrike webを実行してブラウザがライブセッションで自動オープン(約12秒)
機能
Webインターフェースには以下が含まれます:
- セッション管理 — セッションの作成、切り替え、アーカイブ、削除
- サイドパネルタブ — MCP、Bolt、脆弱性、Webコンテキスト、Todo追跡
- ファイルブラウザ — diff強調表示付きのプロジェクトファイル表示とナビゲーション
- レビューパネル — AIが生成したコード変更を承認前にレビュー
- ターミナル — ブラウザ内の統合ターミナルタブ
- リアルタイム更新 — ライブエージェント出力のSSEストリーミング
- 更新通知 — 新しいCyberStrikeリリースの自動ポーリング
SCREENSHOT: web-side-panel-tabs.png
MCP、Bolt、脆弱性、Webコンテキスト、Todoタブ付きサイドパネル
Webコンテキストパネル
Chromeキャプチャ拡張機能と組み合わせると、サイドパネルのWebタブに以下が表示されます:
- エンドポイント — メソッドとパス付きのキャプチャされたHTTPリクエスト
- ロール — 検出されたユーザーロールと権限レベル
- クレデンシャル — 認証トークンとセッション識別子
- オブジェクト — APIレスポンスで発見されたデータオブジェクト
- ファンクション — トラフィックパターンからマッピングされたCRUD操作
SCREENSHOT: web-context-panel.png
エンドポイント、ロール、クレデンシャル、オブジェクト、ファンクションセクション付きWebコンテキストパネル
ターミナルアタッチメント
Webサーバーとtを同時に実行し、同じセッションを共有します:
# ターミナル1:Webサーバーを起動cyberstrike web --port 4096
# ターミナル2:同じサーバーにTUIをアタッチcyberstrike attach http://localhost:4096両方のインターフェースが同じセッション、メッセージ、エージェントアクティビティをリアルタイムで表示します。
リモートアクセス
CyberStrikeはセキュアなリモートアクセスをサポートしており、1台のマシンでサーバーを実行しながらどこからでも接続できます。用途:
- 強力なワークステーションで評価を実行しながらラップトップから制御
- 共有サーバーを通じたチームコラボレーション
- ローカルインストールなしで
app.cyberstrike.ioからCyberStrikeにアクセス - GPUサーバー上のローカルLLM(Ollama、vLLM)を軽量なマシンから操作
Cloudflareトンネル(推奨)
Cloudflareトンネルは、ポートを公開することなく、CyberStrikeサーバーとインターネット間にセキュアな暗号化接続を作成します。
クイックトンネル
最速の開始方法 — Cloudflareアカウント不要:
# ターミナル1:パスワード付きでCyberStrikeを起動CYBERSTRIKE_SERVER_PASSWORD=your-secret cyberstrike web --port 4096
# ターミナル2:クイックトンネルを作成cloudflared tunnel --url http://localhost:4096cloudflared は https://random-words.trycloudflare.com のような公開URLを出力します。このURLとクレデンシャルを共有して、任意のブラウザからCyberStrikeにアクセスできます。
Caution
パスワードが必要です。 CyberStrikeは CYBERSTRIKE_SERVER_PASSWORD なしでサーバーモードの起動を拒否します。これは設計上の強制です — パスワードなしではサーバーは実行されません。
カスタムドメインによる名前付きトンネル
永続的なアクセスのために、ドメインにリンクされた名前付きトンネルを作成します:
# ターミナル1:パスワード付きでCyberStrikeを起動CYBERSTRIKE_SERVER_PASSWORD=your-secret cyberstrike web --port 4096
# ターミナル2:初回セットアップcloudflared tunnel logincloudflared tunnel create cyberstrikecloudflared tunnel route dns cyberstrike pentest.your-domain.com
# トンネルを実行cloudflared tunnel run --url http://localhost:4096 cyberstrikeCaution
pentest.your-domain.com をCloudflareに追加したドメインのサブドメインに置き換えてください。例:pentest.example.com → pentest.mydomain.com。Cloudflareで管理されていないドメインを使用するとDNS解決に失敗します。
Info
新しいドメイン? 最近ドメインをCloudflareに追加した場合、ネームサーバーの伝播にはレジストラによって1〜24時間かかることがあります。伝播が完了するまでDNSルートは解決されません。Cloudflareダッシュボードの概要でステータスを確認してください。
これにより、再起動後も持続する https://pentest.your-domain.com の安定したURLが得られます。
セットアップが機能していることを確認するには:
# トンネル接続ステータスを確認cloudflared tunnel info cyberstrike
# DNSが解決されていることを確認dig pentest.your-domain.com CNAMEInfo
cloudflaredのインストール: brew install cloudflared(macOS)、apt install cloudflared(Debian/Ubuntu)、またはCloudflareのリリースからダウンロード。
トンネルでの認証の仕組み
CyberStrikeの認証ミドルウェアはトンネル対応です。cloudflared は 127.0.0.1 から接続しますが、サーバーはプロキシヘッダーを検出して認証を強制します:
cloudflaredがインターネットからのリクエストをlocalhost:4096に転送- すべてのリクエストに
CF-Connecting-IPとX-Forwarded-Forヘッダーを追加 - CyberStrikeはこれらのヘッダーを検出し、リクエストをリモートとして扱う
- HTTP Basic認証が強制される — Web UIがユーザー名とパスワードの入力を求める
- 直接のローカルリクエスト(プロキシヘッダーなし)は利便性のため認証をバイパス
つまり、ローカルの cyberstrike attach 接続はパスワード不要で動作し、すべてのトンネルトラフィックにはクレデンシャルが必要です。
VIDEO: remote-tunnel-demo.mp4
CyberStrikeの起動、CFトンネルの作成、app.cyberstrike.ioからの接続(約20秒)
app.cyberstrike.ioからの接続
app.cyberstrike.io はCyberStrikeのホステッドWeb UIです。Webインターフェースをローカルで実行する代わりに、任意のリモートCyberStrikeサーバーに接続するために使用できます。
- ブラウザでapp.cyberstrike.ioを開く
- サーバーセレクター(左上隅)をクリック
- トンネルURLを入力(例:
https://pentest.example.com) - ユーザー名(デフォルトは
cyberstrike)とパスワードを入力 - 緑色のヘルスインジケーターが接続を確認
接続すると、完全なCyberStrikeエクスペリエンス(セッション、エージェント、MCPツール、サイドパネル、リアルタイムストリーミング)がすべてトンネル経由で利用可能です。
Info
ローカルAIプロバイダー: サーバーがOllamaや他のローカルLLMを実行している場合、app.cyberstrike.io はそれらを透過的に使用します。AI推論はサーバー側で行われ、Web UIは表示と入力のみを処理します。
SCREENSHOT: remote-server-selector.png
リモートトンネルURL、クレデンシャル、緑色のヘルスチェック付きサーバーセレクター
セルフホストWeb UI
CyberStrike WebインターフェースのインスタンスをビルドしてデプロイCyberStrikeサーバーに接続できます。
# Web UIをクローンしてビルドgit clone https://github.com/CyberStrikeus/CyberStrike.gitcd CyberStrike/packages/appbun install && bun run builddist/ フォルダを任意の静的ホスティング(Vercel、Netlify、Cloudflare Pagesなど)にデプロイします。次に、CyberStrikeサーバーでCORSを設定してドメインを許可します:
cyberstrike web --cors https://my-pentest-ui.example.comまたは cyberstrike.json で:
{ "server": { "cors": ["https://my-pentest-ui.example.com"] }}セキュリティアーキテクチャ
CyberStrikeはリモートアクセスに対して複数のセキュリティレイヤーを実装しています:
| レイヤー | 保護 |
|---|---|
| TLS暗号化 | Cloudflareトンネルがすべてのトラフィックをエンドツーエンドで暗号化。平文データがインターネットを横断しない。 |
| HTTP Basic認証 | すべてのリモートリクエストに有効なユーザー名とパスワードが必要。クレデンシャルは Authorization ヘッダーで送信。 |
| プロキシ検出 | サーバーが CF-Connecting-IP と X-Forwarded-For ヘッダーを検査。ループバックからのプロキシリクエストも認証される。 |
| パスワード必須 | cyberstrike serve と cyberstrike web は CYBERSTRIKE_SERVER_PASSWORD なしでは起動を拒否。 |
| ポート公開なし | Cloudflareトンネルは受信ポート不要。サーバーはCloudflareのエッジへの発信接続のみ。 |
| SPA認証フロー | ブラウザの認証ダイアログを防ぐために WWW-Authenticate ヘッダーを意図的に省略。Web UIが独自のログインフォームで認証を処理。 |
Danger
トンネルまたはVPNなしでCyberStrikeをインターネットに直接公開しないでください。 常にCloudflareトンネル、TLS付きリバースプロキシ、またはプライベートネットワークを使用してください。常に強力でユニークなパスワードを設定してください。
設定ファイル
すべてのWebオプションはコマンドラインフラグの代わりに cyberstrike.json で設定できます:
{ "server": { "port": 4096, "hostname": "0.0.0.0", "mdns": true, "cors": ["https://example.com"] }}コマンドラインフラグは設定ファイルの設定を上書きします。