Whisper について
Whisper は、AI エージェントにルーティング可能な IPv6 ID を割り当て、セキュリティグラフにアクセスする CLI と MCP サーバーです。MCP では鍵なしの ID 検証やグラフ検索ができ、API キーで追加ツールを利用できます。
主な機能
- 01エージェントにルーティング可能な IPv6 ID を割り当て
- 02エグレス通信を ID に紐付け
- 03DNSSEC と DANE による ID 検証
- 04セキュリティグラフの検索
- 05CLI とターミナル UI
活用シーン
- 01エージェントのアドレスやホスト名の検証
- 02ドメイン、IP、ASN、ファイルハッシュの評価
- 03セキュリティグラフデータの検索
- 04割り当てた ID 経由でエージェントの通信をルーティング
MCP 対応
Whisper はローカル stdio とリモート Streamable HTTP の MCP サーバーを提供します。どちらも鍵なしで ID 検証とセキュリティグラフのツールを利用でき、ID のプロビジョニングやガバナンスには API キーが必要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://whisper.online/mcpclaude mcp add --transport http whisper-sec-whisper https://whisper.online/mcp{"mcpServers":{"whisper-sec-whisper":{"type":"http","url":"https://whisper.online/mcp"}}}Cursor で開く{"servers":{"whisper-sec-whisper":{"type":"http","url":"https://whisper.online/mcp"}}}VS Code で開く{"mcpServers":{"whisper-sec-whisper":{"type":"http","url":"https://whisper.online/mcp"}}}{"mcpServers":{"whisper-sec-whisper":{"serverUrl":"https://whisper.online/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
17| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| input | object | はい | この操作の引数をオブジェクトで指定します。例では {"email":"[email protected]"} を渡します。 |
詳細
whisper
エージェントに実際にルーティング可能なWhisper IPv6 IDを、1つのコマンドで付与します。
whisperはWhisperのコマンドラインクライアントです。単一の
静的バイナリで、エージェントにAS219419上の実際にルーティング可能なIPv6 /128を割り当て、エージェントのトラフィックがそのアドレスを送信元として出ていくように設定し、エンドツーエンドで検証します。
このアドレスがIDです。DNSSEC署名済みで、DANEでピン留めされ、パブリックな
RDAPで解決できます。バイナリ1つ、標準ポートで、開始時の設定は不要です。
中核は1つで、2つのインターフェースを提供します。完全にスクリプト化可能なCobra
CLIと、サブコマンドを指定せずにターミナルでwhisperを実行すると起動する全画面のBubble Tea
TUIです。また、whisper.securityのグラフにも接続できます。生のCypherにはwhisper query、29種類のレシピカタログにはwhisper graphを使います(以下を参照)。
アカウントなしでAIアシスタントから使う
APIキーもインストールも不要です。クライアントの設定にこれを追加すると、5つのツールが表示され、どれもキーなしで応答します。環境変数またはマシン上で一度whisper loginを実行してキーを追加すると、同じサーバーに45個のツールが表示されます。
{
"mcpServers": {
"whisper": {
"command": "npx",
"args": ["-y", "@whisper-security/whisper-mcp"]
}
}
}
Claude Desktop、Claude Code、Cursor、Windsurf、VS Code、Cline、Zedはすべて同じ3行で設定できます。CLIをすでにインストールしている場合、whisper mcpは同一のサーバーです。
マシン上のどこにもキーがない状態でサーバーに対して確認した5つのツールは、次のとおりです。
whisper_verify- このアドレスまたはホスト名は実在するエージェントか、また誰のものかを確認します。IANAルートから、DNSSEC署名済みDNSに対するDANEピンを検証します。whisper_rdap- 任意の/128の公開登録レコードを取得します。whisper_assess- ドメイン、IP、ASN、ファイルハッシュを、その証拠とともに判定します。whisper_identify- 指標のカテゴリ、ベンダー、レベルを特定します。whisper_explain- 判定の根拠となるスコア付きの説明と、その情報源を取得します。
キーを追加すると、同じサーバーに45個のツールが表示されます。グラフ全体に加え、エージェントの登録、リゾルバーポリシーの設定、エグレス設定の提供、エージェントごとのアクティビティの確認、IDの失効が可能になります。
またはURLに接続すれば、何も実行する必要はありません
https://whisper.online/mcp
ほとんどのクライアントでは、そのURLだけで十分です。たとえばClaude Codeでは次のとおりです。
claude mcp add --transport http whisper https://whisper.online/mcp。
Streamable HTTPです。initializeとtools/listは認証情報なしで応答するため、URLだけを受け付けるクライアントには、それ以外の設定は不要です。上記とは別のサーバーで、表示されるツールのセットも異なります。キーなしで17個のツールが表示され、そのすべてがキーなしで動作します。X-API-Keyヘッダーでキーを送信すると39個になります。
キーなしで使える17個は、IDの確認とグラフ関連のツールです。whisper_verify、whisper_rdap、
whisper_assess、whisper_identify、whisper_explain、whisper_walk、whisper_watch、
whisper_variants、whisper_origins、whisper_history、whisper_asset、whisper_psl、
whisper_threatintel、whisper_lookupTlsFingerprint、whisper_lookupTorRelay、
whisper_topAsnsByPrefixCount、そしてメールアドレスだけでAPIキーを発行するwhisper_signupです。キーを追加すると使える22個は、プロビジョニングとガバナンス関連のツールです。そのうち21個はwhisper_agents_*で、22個目のwhisper_submitはグラフにクレームを書き込むため、送信者を特定できる必要があります。
whisper_verifyとwhisper_rdapは、他者のエージェントを確認します。キーが必要なセットにあるwhisper_agents_verifyは、自分が管理するドメインを検証するもので、これは別の操作です。
他者のエージェントを検証するには、クライアントさえ含め、何も必要ありません。
curl -s https://rdap.whisper.online/verify-identity/2a04:2a01:b69a:6717:e3b0:51ff:3bf7:f478
インストール
このワンライナーは、このリポジトリの GitHub Releases から署名済みバイナリを直接取得し、
SHA-256 を検証して(gpg がある場合は PGP 署名も検証して)、PATH に配置します。
curl -fsSL https://get.whisper.online | sh
Windows(PowerShell):
irm https://get.whisper.online/install.ps1 | iex
Homebrew(macOS/Linux):
brew install whisper-sec/tap/whisper
Scoop(Windows):
scoop bucket add whisper https://github.com/whisper-sec/scoop-bucket
scoop install whisper
Go を使用する場合:
go install github.com/whisper-sec/whisper-cli/cmd/whisper@latest
mise を使用する場合(GitHub-release バックエンド、プラグイン不要):
mise use -g "github:whisper-sec/whisper-cli[exe=whisper]"
(asdf には GitHub-release バックエンドが組み込まれていないため、asdf では mise またはコミュニティ製の
ubi 形式のプラグインを使用してください。)
Debian/Ubuntu(apt)の場合 — 署名済みリポジトリ:
curl -fsSL https://get.whisper.online/whisper.gpg | sudo tee /usr/share/keyrings/whisper.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/whisper.gpg] https://get.whisper.online/deb stable main" | sudo tee /etc/apt/sources.list.d/whisper.list
sudo apt update && sudo apt install whisper
Fedora/RHEL(dnf)の場合 — 署名済みリポジトリ:
sudo tee /etc/yum.repos.d/whisper.repo >/dev/null <<'EOF'
[whisper]
name=Whisper
baseurl=https://get.whisper.online/rpm
enabled=1
gpgcheck=1
gpgkey=https://get.whisper.online/whisper.gpg
EOF
sudo dnf install whisper
Alpine(apk)の場合 — 署名済みリポジトリ:
wget -qO /etc/apk/keys/whisper-apk.rsa.pub https://get.whisper.online/apk/whisper-apk.rsa.pub
echo "https://get.whisper.online/apk" | sudo tee -a /etc/apk/repositories
sudo apk add whisper
3 つのリポジトリはすべて当社のインフラストラクチャ(AS219419)から配信され、Whisper パッケージキー
(get.whisper.online/whisper.gpg)で署名されています(apk リポジトリでは専用の
whisper-apk.rsa.pub を使用します)。
または、リリースページから
お使いのプラットフォーム用のバイナリをダウンロードし、実行可能にしてから PATH に配置してください。
インストーラー(
scripts/install.sh、scripts/install.ps1)は、インストール手順全体を確認できるよう、ここで公開しています。これらはget.whisper.onlineが配信するものと同じスクリプトで、デフォルトのダウンロード元だけが異なります。こちらはこのリポジトリのリリースからwhisper-<os>-<arch>(および.sha256と.asc)を取得し、配信版は同じバイナリをcli.whisper.online/dlから取得します。いずれの場合も SHA-256 は必須のチェックで、不一致ならインストールを中止します。PGP 検証は追加の保護層です。ソースを変更するには、WHISPER_CLI_BASEに任意のミラーを指定してください。
ダウンロードの検証
リリースには AS219419 の PGP キーで署名されています。
Fingerprint: EFF1663D992539682106A5EAD0F70908CF3B7929
公開鍵は https://as219419.net/ で公開されています。手動でダウンロードしたバイナリを検証するには、次のようにします。
# 1. SHA-256 - compare against the asset's .sha256 (and the release checksums.txt)
sha256sum -c whisper-linux-amd64.sha256
# 2. PGP - import the AS219419 key, then verify the detached signature
curl -fsSL https://as219419.net/whisper-release.asc | gpg --import
gpg --verify whisper-linux-amd64.asc whisper-linux-amd64
署名が正しければ、上記のフィンガープリントを持つキーからの Good signature が表示されます。
クイックスタート
引数なしで whisper を実行すると、ガイド付きのフローが開始します。ブラウザーでのデバイスログインまたは貼り付けた API キーでサインインし、エージェントがない場合は名前の設定と作成をサポートしてから、接続して検証します。
$ whisper
whisper: signed in.
whisper: name your agent: my-first-agent
whisper: created my-first-agent → 2a04:2a01:…::1
whisper: connecting…
2a04:2a01:…::1 ✓ egress verified
Connected ✓
名前の設定は必須です。エージェントの名前はその ID の一部であるため、作成前に確認を求めます。同じ手順はスクリプトからも実行できます。
whisper connect # bring up egress bound to your /128 (Tier-1.5 SOCKS5/HTTPS)
whisper connect --tier wireguard # Tier-1: routed /128 over a userspace WireGuard tunnel (no root)
whisper ip # print your egress IP and verify it IS your /128 (exit 0 = verified)
whisper run -- curl ifconfig.co # run any command with your Whisper egress wired in
whisper claude # run Claude Code through your Whisper egress, one step
whisper init claude # wire THIS project so Claude Code always egresses from its own /128
whisper use my-agent # choose the agent the rest of `whisper` binds to
whisper status # key state, selected agent, connection state
whisper ip は終了コードを優先します。観測された外向きアドレスが 2a04:2a01::/32 の範囲内で、かつ選択したエージェントの /128 と一致する場合は 0、それ以外は 1 を返すため、スクリプトやエージェントで条件判定に使用できます。任意のコマンドに --json を追加すると、スクリプトで扱える生のエンベロープが出力されます。
Claude Code 用のプロジェクトごとのエージェント ID。 whisper init claude を実行すると、プロジェクトをゼロ設定で利用できます。ディレクトリ内で一度実行するだけで、そこで起動する Claude Code と、Claude Code が起動するすべてのサブエージェントが、SOCKS5(デフォルト)または --tier wireguard を通じて、そのプロジェクト専用の /128 から外向き通信を行います。プロジェクトのエージェントとティアを .whisper/config に固定し、ローカルプロキシを .claude/settings.local.json に設定します(既存の設定を上書きしない安全なマージ方式です)。さらに、小さな自動再接続デーモンが接続を維持します。プロジェクトごとに異なる ID を使用でき、覚えておくことはありません。既存のエージェントを再利用するには --agent <name|/128>、新しいエージェントを作成するには --name <new> を指定します。
その他の便利なコマンド:whisper list、whisper logs、whisper policy、`whisper rdap
セキュリティグラフをクエリする
Whisper resolver が検索のたびに参照するのと同じ whisper.security グラフ(ホスト名、IP、ASN、証明書、脅威インテリジェンスなどの 75 億ノード、398 億のリレーションシップ)を、CLI から直接利用できます。whisper query はパラメーター化された Cypher をそのまま実行し、whisper graph は組み込みカタログの名前付きレシピを実行します。
whisper query "CALL whisper.identify(['api.openai.com'])" # who operates this host?
whisper query 'CALL whisper.assess([$v])' --param v=8.8.8.8 # threat posture, one row per host
whisper graph list # all 29 recipes, each with its docs URL
whisper graph variants paypal.com # registered typosquat look-alikes, one table
whisper graph typosquat paypal.com # the full brand-impersonation flow (streams NDJSON)
直接レシピは単一の結果テーブルを返します(--json は {columns,rows,statistics} エンベロープをそのまま出力します)。フローレシピは各ステップを NDJSON でストリーミング出力するため、jq に渡せます。各レシピの説明は、whisper graph <recipe> --help で確認できます。
query と graph の認証には API キーを使用します(whisper login、WHISPER_API_KEY、または --key)。グラフエンドポイントは 2 段階構成です。直接読み取りを行う動詞(whisper.identify、whisper.assess、whisper.variants、whisper.explain、db.schema など)は、アカウント不要で、キーなしでもレート制限付きで利用できます。
curl -s https://graph.whisper.online/api/query \
-H 'content-type: application/json' \
-d '{"query":"CALL whisper.assess([\"8.8.8.8\"])"}'
キーを使用すると、レート制限が解除され、未加工の Cypher と複数ステップのフローを利用できます。同じツールは MCP サーバー(whisper mcp)でも利用でき、whisper_graph_query と各レシピ用のツールが提供されます。ドキュメント:www.whisper.security/docs。未加工の Cypher API は /docs/cypher-api、動詞ごとのページは /docs/whisper-graph にあります。
エージェントとして署名、検証、暗号化する
エージェントの /128 にはエージェントごとの EC P-256 キーが割り当てられ、DNSSEC 署名付き DNS にピン留めされます。これにより、エージェント自身としてドキュメントに署名でき、誰でもアカウントや認証局なしで検証できます。信頼の基点は DANE であり、インストールが必要な CA ではありません。
# Sign any file, PDF or email as your agent -> a detached S/MIME (.p7s):
whisper sign file contract.pdf
# Verify with NO key: checks the CMS signature AND that the signer's key matches the
# DNSSEC-validated SMIMEA (RFC 8162) pin for the signer - resolved from the IANA root, in-process:
whisper sign verify contract.pdf --sig contract.pdf.p7s
# Encrypt a file so ONLY the named agent can read it (keyless), then decrypt as that agent (keyed):
whisper encrypt --to [email protected] secret.txt # -> secret.txt.wenc
whisper decrypt secret.txt.wenc
第三者が解決するエージェントごとの検証キーは、エージェントの DANE TLSA 3 1 1(署名には SMIMEA 3 1 1 も)です。どちらも DNSSEC 署名付きで、Whisper アカウントなしに dig と openssl で検証できます。バイト単位で正確な署名エンベロープを含む完全なガイドは、https://whisper.online/docs/sign-encrypt をご覧ください。
利用できるもの
- 実際にルーティング可能な
/128を2a04:2a01::/32から割り当て、AS219419 でアナウンスします。共有 NAT プールではなく、独自のインターネットアドレスです。 - 外部から検証できる ID。 フォワード DNS は DNSSEC 署名付きで DANE にピン留めされ、リバース DNS(
ip6.arpaPTR)はエージェントに解決されます。割り当ては公開 RDAP(rdap.whisper.online)で確認できます。 - ID に紐づくエグレス。
whisper connectは、トラフィックの送信元がエージェントの/128になるローカルプロキシを構成します。whisper ipで、ノードや第三者を介さず、送信元アドレスが自分のものであることを証明できます。--tier wireguardを指定すると、ユーザー空間の WireGuard トンネル(wireguard-go netstack)経由で/128をルーティング可能なアドレスとして設定します(引き続き root、カーネルのwg、TUN デバイスは不要です)。同じローカルプロキシを介するため、ツールを変更する必要はありません。 - 単一バイナリで、設定不要。 静的リンクで CGO を使わず、CA バンドルを内包しているため、最小構成のホストやコンテナでもそのまま動作します。
コードから利用する
お好みの言語から、同じ ID とエグレスを利用できます。CLI の薄いラッパーです。
Python - pip install whisper-id
from whisper_id import register, egress
agent = register("my-bot") # a routable /128
with egress(): # this block leaves from your /128
requests.get("https://api64.ipify.org")
Node - npm i whisper-id
import { register, withEgress } from "whisper-id";
const agent = await register("my-bot");
await withEgress(async () => { /* env-aware clients leave from your /128 */ });
コンテナで実行する
公式イメージは CLI をエグレスサイドカーとして実行するため、どのコンテナからもエージェントの /128 を送信元として通信できます。
docker run --rm ghcr.io/whisper-sec/whisper:latest --version
whisper init compose と whisper init k8s は、すぐにマージできるサイドカーマニフェストを生成します。マルチアーキテクチャ(amd64/arm64)対応の distroless イメージで、サイズは約 18 MB です。
ソースからビルドする
Go 1.26.9 以降が必要です。
git clone https://github.com/whisper-sec/whisper-cli
cd whisper-cli
go build -o whisper ./cmd/whisper
./whisper --version
サポート対象の全プラットフォーム向けに、バイナリと .sha256 を dist/ にクロスコンパイルします。ファイル名はリリースアセットと完全に同じです。
./build-all.sh # → dist/whisper-<os>-<arch>[.exe] + .sha256
./build-all.sh dist v1.0.0 # stamp a version into `whisper --version`
platforms.txt はターゲットの組み合わせを定義する唯一の情報源で、build-all.sh とインストーラーで共有されます。
ソースはこちら、バイナリはこちら
このリポジトリは Whisper のクライアントです。ID、外向き通信、接続、検証、セキュリティグラフのインターフェース、TUI が含まれています。ライセンスは MIT で、このリポジトリからビルドできるのはそのクライアントです。
公開されているバイナリには、それだけでなく、Whisper のエンドポイントセンサー(service、sensor、posture コマンド)も含まれています。現在、センサーはオープンソースではありません。バイナリとして配布され、ソースは非公開のままです。そのため、リリース版、curl -fsSL https://get.whisper.online | sh、apt、dnf、apk、brew、scoop から入手したバイナリには、これらのコマンドが含まれています。このツリーからビルドしたものには含まれません。go install、ローカルでの go build、ソースから snapcraft がビルドする snap が該当します。
明確にしておくべき点が2つあります。MIT ライセンスの対象はこのリポジトリ内のソースであり、公開バイナリに追加で含まれる非公開コンポーネントは対象外です。また、エンドポイントセンサーが必要な場合は、ソースからビルドせず、リリース版のバイナリをインストールしてください。
プラットフォーム
| OS \ Arch | amd64 | arm64 | arm | riscv64 | mips | mipsle | 386 |
|---|---|---|---|---|---|---|---|
| linux | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| darwin | ✓ | ✓ | |||||
| windows | ✓ | ✓ |
linux-arm は32ビットの ARMv7 です。すべてのターゲットは静的な CGO 不使用のビルドで、AS219419 のリリース署名鍵ですべて署名されています。
リンク
- Whisper - whisper.online
- ドキュメント(グラフの手順、レシピ、Cypher API) - www.whisper.security/docs
- レジストリ/NIC - nic.whisper.online
- RDAP - rdap.whisper.online
- AS219419(リリース署名鍵、ネットワーク情報) - as219419.net
貢献
課題の報告やプルリクエストを歓迎します。CONTRIBUTING.md をご覧ください。PR を作成する前に、go build ./...、go vet ./...、go test ./...、gofmt -l . を実行してください。
セキュリティ上の問題を報告するには、SECURITY.md をご覧ください。
ライセンス
MIT © 2026 viaGraph B.V. (Whisper Security) - このリポジトリ内のソースが対象です。公開バイナリには、非公開ソースのエンドポイントセンサーも含まれています。詳しくはソースはこちら、バイナリはこちらをご覧ください。
組み込みの Mozilla CA 証明書リスト
(internal/client/cabundle/mozilla-cacert.pem) は、Mozilla Public License 2.0 の下で配布されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。