Rustベースの高速処理とモダンなUIを特長とする次世代Webプロキシツール
- Caido -
Webアプリケーションの脆弱性診断では、リクエストの解析や編集を行えるツールが欠かせません。その中でも近年急速に注目されているツールが「Caido」です。
軽量で扱いやすい設計や、開発者向けのモダンなUIを備えていることから、従来のWebプロキシツールの常識を刷新しつつあります。
本記事では、Caidoの特徴からインストール手順、実際の使い方まで体系的に解説します。スクリーンショット付きで解説しているので、初めて触れる方でも迷わず進めることができます。
Caidoとは
Caidoは、Webアプリケーションのセキュリティテストを効率化するために開発された次世代型のWebプロキシツールです。WebブラウザとWebサーバの間に入り、HTTP/HTTPS通信を可視化・編集・再送信できるため、脆弱性診断やペネトレーションテストの実務で活用されるツールの一つです。
従来から広く利用されているHTTPプロキシツールとしては、Burp SuiteやOWASP ZAPがあります。Caidoはそれらと同様の機能を持ちながら、高速な通信処理・モダンなUI・拡張性を重視して設計されています。
ライセンス体系はフリーミアムモデルを採用しており、基本機能のみを搭載したBasicプランは「期間制限なし」&「無料」で利用可能です。有償版(Individual / Teamプラン)では、より高度な機能やチームコラボレーション機能が提供されています。脆弱性診断の学習を始めたばかりの初学者から、実務でのツール選定を検討しているプロフェッショナルまで、幅広い層に対応したツールと言えます。
主な特徴
- モダンなUIを備えたインターセプト型プロキシ
- HTTP/HTTPSトラフィックをリアルタイムで可視化・編集できる
- クロスプラットフォーム対応(Windows / macOS / Linux)
- Rust言語で開発
- 動作が非常に軽量で、大量のリクエストを扱う場面でも安定稼働
- 独自のクエリ言語(HTTPQL)による柔軟な検索
- デスクトップアプリケーション(GUI)に加え、CLIにも対応
- 有償プランと無償プランがある
類似ツールとの違い
Webアプリケーション診断では、プロキシ型のセキュリティツールが広く利用されています。代表的なものとして、「Burp Suite」「OWASP ZAP」「Caido」が挙げられます。
いずれも「HTTP/HTTPS通信をプロキシとして中継し、リクエスト・レスポンスを分析する」という基本機能は共通していますが、設計思想や機能構成には明確な違いがあります。
Burp Suiteとの違い
Burp Suiteは、PortSwigger社が開発するWebアプリケーション診断ツールで、脆弱性診断の現場で最も広く使用されているツールの一つです。
CaidoとBurp Suiteの違い
| Caido | Burp Suite | |
|---|---|---|
| 開発言語 | Rust | Java |
| UI | モダン | 機能重視でやや複雑 |
| パフォーマンス | 高速 | 比較的重い |
Rustで実装しているCaidoは高速な処理性能を備えており、大量のHTTPトラフィックを扱う環境でも高いパフォーマンスを維持できます。これは、JavaベースのBurp Suiteとは大きく異なる点です。
OWASP ZAPとの違い
OWASP ZAPは、OWASP(Open Worldwide Application Security Project)が開発したオープンソースの脆弱性診断ツールです。2023年にSSP(Software Security Project)、2024年にCheckmarx社へ移管され、現在は後継プロジェクト「ZAP by Checkmarx」として開発が継続しています。
CaidoとOWASP ZAPの違い
| Caido | OWASP ZAP | |
|---|---|---|
| ライセンス | 無償版あり(機能制限付き) | 完全オープンソース・無償 |
| 開発言語 | Rust | Java |
| UI | モダン | 古い印象 |
| UI言語 | 英語 | 日本語 |
| 脆弱性の自動診断 | なし | 標準搭載 |
| パフォーマンス | 高速 | 重い |
OWASP ZAPの最大の特徴は、HTTPプロキシ機能に加え、Webアプリケーションの自動診断機能を備えている点です。また日本語UIに対応しており、英語に不慣れな日本人ユーザーでも内容を理解しやすく、英語による学習負担を抑えることができます。

注意事項
許可なく第三者のシステムに対して、Caidoを使用したリクエストの改ざん・送信は、不正アクセス禁止法に抵触する可能性があります。
学習目的であれば、やられアプリ(意図的に脆弱性を持たせた学習環境)などの活用を推奨します。
Caidoのインストール
Caidoは、Windows、macOS、Linuxの各プラットフォームに対応しています。
本記事では、Kali LinuxにCaidoをインストールする手順を解説します。Kali Linux 2025.3以降では、Caidoが公式APTリポジトリに収録されているため、aptコマンドで簡単にインストールできます。
Windows向けのインストーラーは、公式サイトより.exe形式で提供されています。ダウンロード後、インストーラーを起動し、画面に表示されるインストールウィザードに従ってインストールを進めてください。
このセクションでは、まずデスクトップアプリケーション(GUI版)のインストール手順について解説します。CLI版のインストール手順は後述しています。
Kali Linux 2026.1
パッケージリストの更新
$ sudo apt update最初に、APTパッケージリストを最新の状態に更新します。
パッケージ情報の確認
$ apt show caido
Package: caido
Version: 0.55.3-0kali1
Priority: optional
Section: non-free/misc
Maintainer: Kali Developers <devel@kali.org>
Installed-Size: 500 MB
Homepage: https://github.com/caido/caido
Download-Size: 118 MB
APT-Sources: http://http.kali.org/kali kali-rolling/non-free amd64 Packages
Description: security auditing toolkit (desktop)
This package contains caido desktop, a security auditing toolkit.インストール前に、リポジトリに登録されているCaidoのパッケージ情報を確認します。
ここで確認すべき主なポイントは、Version(利用可能なバージョン)、Depends(依存パッケージ)、Description(パッケージ概要)です。バージョンが想定より古い場合は、sudo apt updateが正しく実行されているか再確認してください。Dependsに記載された依存パッケージも自動的にインストールされるため、追加の操作は不要です。
Caidoをインストール
$ sudo apt install caidoパッケージ情報を確認したら、Caido本体をインストールします。インストール時には以下の処理が実行されます。
- 依存パッケージの確認
- 必要パッケージのダウンロード
- ファイルの展開
- 実行ファイルの配置
(当サイトの環境では、2分程度でインストールを完了しました。)
インストール後の確認
$ which caido
/usr/bin/caidoインストール後、caidoバイナリが正しく配置されているかを確認します。また、Kali Linuxのアプリケーションメニューにも配置されます。

Caidoには、CLI環境で利用できるcaido-cliパッケージが用意されています。caido(デスクトップアプリケーション)とは別のパッケージとして提供されているため、CLIで利用する場合はcaido-cliパッケージをインストールしてください。インストールの流れは、caidoパッケージと同様です。
$ sudo apt update # パッケージリストの更新
$ apt show caido-cli # パッケージ情報の確認
$ sudo apt install caido-cli # インストール
$ which caido-cli # パスの確認caido-cliコマンドで使用できるオプションは、-hで確認できます。
$ caido-cli -h
A lightweight web security auditing toolkit
Usage: caido-cli [OPTIONS]
Options:
-l, --listen <ADDR:PORT> Listening address
--invisible Enable invisible mode for all listeners
--no-sync Enable sync with sync server
--proxy-listen <ADDR:PORT> Proxy listening addresses
--ui-listen <ADDR:PORT> UI listening addresses
--ui-domain <UI_DOMAIN> Allowed domains for UI
--no-open Do not open the UI a browser tab
--debug Record and display debug logs
--reset-cache Reset the instance cache of cloud data
--reset-credentials Reset the instance credentials (DANGEROUS)
--data-path <DATA_PATH> Directory to store data
--no-logging Disable file logging
--no-renderer-sandbox Disable sandboxing for the renderer
--import-ca-cert <IMPORT_CA_CERT> Import CA certificate
--import-ca-cert-pass <IMPORT_CA_CERT_PASS> Import CA certificate password
--allow-guests Allow login as guest
--safe Enable safe mode
--registration-key <ckey_[20 characters]> Registration key [env: CAIDO_REGISTRATION_KEY=]
-h, --help Print help (see more with '--help')
-V, --version Print versionCaidoのセットアップ
ここでは、Kali Linux環境でCaidoを起動し、ブラウザの立ち上げまでの手順を解説します。Caidoはプロジェクト単位でHTTP通信を管理する設計になっており、事前設定済みブラウザを起動するとプロキシ経由のトラフィック収集が自動的に有効になります。
Caidoの起動からプロジェクト作成
Caidoの起動
まず、Kali Linuxのデスクトップ環境において、アプリケーションメニューからCaidoを起動します。
01-Reconnaissance>Web Vulnerability Scanning>caido

ターミナルから起動する場合は、caidoコマンドを実行します。
$ caidoインスタンスの起動
Caidoを起動すると、最初にインスタンスの選択画面が表示されます。

Local instanceの項目にあるStartボタンを押下し、Caidoのバックエンドサービスを起動します。
Caidoにログイン
インスタンスの起動後、ログイン画面が表示されます。

Welcome to Caido
You must be logged in to access the Caido instance at 127.0.0.1:8080.
Login
Continue as Guest
Create an account Having trouble logging in?
Caidoへようこそ
127.0.0.1:8080のCaidoインスタンスにアクセスするには、ログインが必要です。
ログイン
ゲストとして続行
アカウントを作成 ログインでお困りですか?
今回は検証目的のため、アカウントを作成せず、ゲストモードで試用します。Loginの下にあるContinue as Guestを選択します。
利用状況データ収集の同意可否(初回起動時のみ)
次に、利用状況データの収集に関する確認画面が表示されます。このデータはCaidoの品質改善や機能向上を目的として収集されるものです。

Privacy-Safe Usage Analytics
Help us prioritize features, reduce friction, and fix bugs faster.
No project or traffic data is collected.
What's collected
App pages used (e.g. Search, Replay, Plugins)
UI interactions (buttons, menus, features used)
Crash reports (stack traces, app version, OS)
What's never collected
Project data
HTTP requests or responses
Payloads or secrets
Share privacy-safe usage data
Optional. You can change this anytime in Settings.
Data is used only in aggregate to understand feature usage and improve the product.
プライバシーに配慮した利用状況の分析
機能開発の優先順位付け、使い勝手の向上、および迅速なバグ修正に役立てるためのものです。
プロジェクトの内容やトラフィックデータは収集されません。
収集される情報
使用されたアプリのページ(例:Search、Replay、Plugins)
UIの操作情報(ボタン、メニュー、利用された機能など)
クラッシュレポート(スタックトレース、アプリのバージョン、OS)
収集されない情報
プロジェクトのデータ
HTTPリクエストやレスポンス
ペイロードやシークレット情報
プライバシーに配慮した利用データを共有する
任意の設定です。設定画面からいつでも変更できます。
収集されたデータは、機能の利用状況を把握し製品を改善する目的で、集計された形でのみ使用されます。
同意する / しないを選択し、Continueボタンを押下します。
CaidoのデスクトップUI
上記の初期設定が完了すると、CaidoのデスクトップUIが表示されます。

デスクトップUIは、以下のパーツで構成されています。
- 左側のサイドバー:各機能へのナビゲーションメニュー
- 上部のツールバー:プロジェクトやフィルター、クイックアクセスボタンなど
- 中央のメインパネル:選択した機能のメイン操作エリア
プロジェクトの作成(1)
Caidoは診断作業を「プロジェクト」単位で管理します。プロジェクトごとにキャプチャしたHTTPリクエスト/レスポンスの履歴、スコープ、各種設定などが独立して保存されるため、複数の診断対象を分けて管理できます。

メインパネルに表示されているCreate a projectボタンを押下して、プロジェクト作成ダイアログを開きます。
プロジェクトの作成(2)

Create a project
Name
Mark as temporary
Projects marked as temporary will be deleted on next startup.
*Guest can only create temporary projects.
プロジェクトを作成
プロジェクト名
一時プロジェクトとして設定
一時プロジェクトに設定されたものは、次回の起動時に削除されます。
※ゲストモードは、一時プロジェクトのみ作成できます。
プロジェクト作成ダイアログが表示されたら、プロジェクト名を入力し、Createボタンを押下します。
プロジェクトの作成(3)
プロジェクトの作成が完了すると、Workspace(ワークスペース)画面にプロジェクトが一覧表示されます。

事前設定済みブラウザの起動
通常、プロキシツールを使用する際はブラウザのプロキシ設定やCA証明書のインポートが別途必要です。Caidoでは事前設定済みブラウザを使用することでこれらの手間を省略できます。
Browser Launcherを押下
画面上部のツールバーにあるBrowser Launcherアイコンを押下します。

Browser Launcherは、Caidoが提供する主要機能の一つで、プロキシ設定およびCA証明書をインストールした状態のブラウザを起動します。
Caidoの事前設定に対応したブラウザの一覧
Browser Launcherボタンを押下すると、Caidoの事前設定に対応したブラウザの一覧が表示されます。

Browser Launcher
Select a browser to launch with Caido pre-configured
ブラウザランチャー
Caidoの設定が適用されたブラウザを選択して起動します。
Caidoの事前設定に対応しているブラウザは、「Chrome」と「Chromium」です。(Firefox、Edge、Safariは対応していません。)
Kali Linuxには、Chromium(英語UI)がプリインストールされています。Chromeは、プリインストールされていないため、別途インストールが必要です。
ブラウザの起動
一覧の中からブラウザの横にあるLaunchボタンをクリックすると、Caido専用の設定が適用された状態でブラウザが起動します。

起動したブラウザには、以下の設定が自動的に適用されています。
| 設定項目 | 内容 |
|---|---|
| プロキシ設定 | CaidoのListenポート127.0.0.1:8080を経由するよう設定済み |
| CA証明書 | CaidoのCA証明書が信頼済みの証明書としてインストール済み |
これにより、ブラウザでWebサイトにアクセスすると、すべてのHTTP/HTTPSトラフィックがCaido経由で記録されます。CA証明書が導入済みのため、HTTPS通信も復号された状態でリクエスト/レスポンスの内容を確認できます。
Caidoの機能一覧

CaidoのデスクトップUIの左側にナビゲーションメニューがあり、Caidoに搭載されている機能が並んでいます。
| 機能名 | 日本語表記(*1) | 機能概要 |
|---|---|---|
| Sitemap | サイトマップ | プロキシを通過したリクエストをもとに、対象アプリケーションのエンドポイント構造をツリー形式で可視化する |
| Scopes | スコープ | 診断対象のドメインやIPアドレスを定義し、分析や操作の対象を制限する |
| Filters | フィルタ | HTTPQL構文を使って、リクエストやレスポンスを条件で絞り込み、必要な通信のみを表示する |
| Intercept | 通信インターセプト | ブラウザとサーバ間の通信を一時停止し、リクエスト・レスポンスの確認、および編集ができる |
| HTTP History | HTTP通信履歴 | プロキシを通過したすべてのHTTPリクエスト・レスポンスの履歴を一覧表示する |
| WS History | WebSocket通信履歴 | WebSocket通信の履歴を記録し、メッセージの内容を確認できる |
| Match & Replace | 検索・置換 | 指定したルールに従って、リクエスト・レスポンスの内容を自動的に書き換える(Interceptは手動、Match & Replaceは自動) |
| Replay | リクエスト再送 | 保存したリクエストを手動で編集・再送信し、レスポンスの変化を検証する |
| Automate | 自動化 | 単一のリクエストに対して複数のペイロードを自動送信し、レスポンスを比較分析する(Replayの拡張機能) |
| Workflows | ワークフロー | ノードベースのビジュアルエディタで、複数の操作ステップを組み合わせたフローを構築する |
| Assistant(*2) | アシスタント | セキュリティに特化したAI(LLM)を使って、脆弱性の分析やPoC生成をサポートする |
| Environment | 環境設定 | 環境変数を定義・管理する |
| Search | 検索 | ワークスペース内のすべての通信データを横断的に検索できる |
| Findings | 調査結果 | 診断中に発見した脆弱性や気づいた内容を記録する |
| Exports | エクスポート | HTTP通信履歴やSearch結果をファイル出力する |
| Files | ファイル | 診断で使用するファイルをアップロード・管理する |
| Plugins | プラグイン | プラグインをインストールして、Caidoの機能を拡張する |
| Workspace | ワークスペース | プロジェクト単位でデータや設定を管理する |
*1:日本語表記は、当サイトが独自に付与した名称です。
*2:Assistant(アシスタント)は有償プランのみ利用可能。
主要機能の使い方
ここでは、Kali LinuxにインストールしたCaidoを実際に利用しながら、主要機能の使い方を解説します。
- Caido実行マシン
- Kali Linux 2026.1
- Caido v0.55.3
- 診断対象マシン(HTTP検証用)
- OWASP BWA
- 192.168.10.105
- 診断対象マシン(WebSocket検証用)
- OWASP Juice Shop
- 192.168.10.102
Kali Linux、OWASP BWA、OWASP Juice Shopは、Windowsに構築した仮想環境にて稼働しています。
HTTP History(HTTP通信履歴)

HTTP Historyは、CaidoがプロキシとしてキャプチャしたすべてのHTTPリクエスト・レスポンスの履歴を一覧表示する機能です。リクエストの一覧はリアルタイムで更新され、診断中にアクセスしたすべてのHTTP通信が記録されます。

リクエスト行を右クリックし、コンテキストメニューからSend to ReplayやAdd in Scopeを選択することにより、後述する「Replay」や「Scopes」を作成することができます。
Sitemap(サイトマップ)
CaidoがキャプチャしたHTTPトラフィックを、URLのディレクトリ構造に沿ってツリー形式で可視化します。

プロキシ(Caido)経由でブラウザを操作すると、アクセスしたエンドポイントが自動的にツリーに追加されます。追加されたノードをクリックすることで、そのエンドポイントに対するリクエスト・レスポンスの詳細を確認できます。
Scopes(スコープ)
Scopesは、Caidoが処理するトラフィックの対象範囲(スコープ)を定義する機能です。

New Presetボタンを押下して、手動でスコープを作成することもできますが、HTTP Historyのリクエスト行を右クリックして、コンテキストメニューAdd in Scopeからスコープを追加することもできます。
作成したスコープを画面上部のツールバーで指定すると、トラフィックをフィルタリングできます。
- Sitemap
- Intercept
- HTTP History
- WS History
- Search
例)HTTP Historyの場合

Intercept(通信インターセプト)
Interceptはブラウザとサーバ間のHTTPリクエスト・レスポンスをリアルタイムで捕捉し、通信内容を手動で編集してから送信する機能です。
Interceptメニューを開き、Forwardingアイコンを押下


Forwardボタンをクリックし、編集したリクエストを送信(または、Dropボタンを押下し、リクエストを破棄)
レスポンスやWebsocketもインターセプト可能です。

WS History(WebSocket通信履歴)
WS Historyは、WebSocket通信の履歴を記録・表示する機能です。

近年のWebアプリケーションではWebSocketを利用したリアルタイム通信が増加しており、脆弱性診断においてもHTTPと同様にWebSocket通信の検査が求められます。
Replay(リクエスト再送)
ReplayはキャプチャしたHTTPリクエストを手動で編集・再送信する機能です。
Send to Replayを選択


Sendボタンをクリックしてリクエストを再送信

