mcpField
W
Whisper

Whisper

远程服务
whisper.online安全32 天前更新

关于 Whisper

Whisper 是用于为 AI Agent 分配可路由 IPv6 身份并访问安全图谱的命令行工具和 MCP 服务。MCP 工具支持免密身份检查与图谱查询,使用 API 密钥还可访问更多工具。

主要功能

  1. 01为 Agent 分配可路由 IPv6 身份
  2. 02将出口流量绑定到身份
  3. 03通过 DNSSEC 和 DANE 验证身份
  4. 04查询安全图谱
  5. 05提供命令行和终端界面

适用场景

  1. 01验证 Agent 地址或主机名
  2. 02评估域名、IP、ASN 或文件哈希
  3. 03查询安全图谱数据
  4. 04通过指定身份路由 Agent 流量

MCP 相关

Whisper 提供本地 stdio 和远程 Streamable HTTP MCP 服务。两者均可免密提供身份检查和安全图谱工具;身份配置与治理工具需通过 API 密钥认证后使用。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://whisper.online/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npm@whisper-security/whisper-mcp0.222.0
ocighcr.io/whisper-sec/whisper:0.222.0

工具

17
参数类型必填说明
inputobject是此操作的参数,格式为对象。示例传入 {"email":"[email protected]"}。

详细介绍

whisper

只需一条命令,即可为你的 Agent 配置真实、可路由的 Whisper IPv6 身份。

whisper 是 Whisper 的命令行客户端:一个静态二进制文件,可为 Agent 配置 AS219419 上真实、可路由的 IPv6 /128 地址,设置出口流量,使 Agent 的流量源自该地址,并进行端到端验证。该地址就是身份——由 DNSSEC 签名、通过 DANE 固定,并可在公共 RDAP 中解析。一个二进制文件,使用标准端口,无需配置即可开始使用。

它基于同一核心提供两种使用方式:完全可脚本化的 Cobra CLI,以及在没有子命令的终端中运行 whisper 时出现的全屏 Bubble Tea TUI。它还可连接到 whisper.security 图谱:使用 whisper query 执行原始 Cypher 查询,使用 whisper graph 访问包含 29 个配方的目录(见下文查询安全图谱)。


无需账户,即可通过 AI 助手使用

无需 API 密钥,也无需安装。在客户端配置中添加以下内容,即可看到五个工具,而且这五个工具无需密钥即可使用。在机器上通过环境变量或运行一次 whisper login 添加密钥后,同一服务将列出 45 个工具:

{
  "mcpServers": {
    "whisper": {
      "command": "npx",
      "args": ["-y", "@whisper-security/whisper-mcp"]
    }
  }
}

Claude Desktop、Claude Code、Cursor、Windsurf、VS Code、Cline 和 Zed 都使用相同的三行配置。已经安装 CLI?whisper mcp 就是相同的服务。

以下五个工具在机器上的任何位置都没有密钥时,对照服务进行过测试:

  • whisper_verify - 检查该地址或主机名是否属于真实 Agent,以及其所属对象。它会从 IANA 根开始,针对 DNSSEC 签名的 DNS 检查 DANE 固定记录。
  • whisper_rdap - 任意 /128 地址的公共注册记录。
  • whisper_assess - 对域名、IP、ASN 或文件哈希给出判定及相关证据。
  • whisper_identify - 识别指标的类别、供应商和级别。
  • whisper_explain - 提供判定背后的评分说明及其来源。

添加密钥后,同一服务将列出 45 个工具:完整图谱,以及注册 Agent、设置解析器策略、下发出口配置、读取每个 Agent 的活动记录和撤销身份等功能。

或连接到 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 个工具包括身份检查和图谱工具: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 用于检查其他人的 Agent。带密钥工具集中的 whisper_agents_verify 则用于验证你控制的域名,两者并不相同。

验证其他人的 Agent 无需任何东西,甚至无需客户端:

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

这三个仓库均由我们自己的基础设施(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 密钥),如果你还没有 Agent,则会帮助你为其命名并创建,然后建立连接并进行验证:

$ 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 ✓

命名是必须的——Agent 的名称是其身份的一部分,因此流程会在创建前询问你。同样的步骤也可以通过脚本执行:

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 且 与你所选 Agent 的 /128 相等时返回 0,否则返回 1——因此脚本和 Agent 可以据此进行判断。为任何命令添加 --json,即可获取原始、可供脚本处理的结果封装。

Claude Code 的项目级 Agent 身份。 whisper init claude 可让项目实现零配置:在某个目录中运行一次后,Claude Code 及其启动的每个子 Agent 都会通过该项目专属的 /128 出口连接,使用 SOCKS5(默认方式)或 --tier wireguard。它会将项目的 Agent 和层级固定写入 .whisper/config,在 .claude/settings.local.json 中配置本地代理(安全合并——绝不会覆盖你的设置),并通过轻量的自动重连守护进程保持连接。不同项目使用不同身份,无需记忆任何配置。传入 --agent <name|/128> 可复用现有 Agent,或传入 --name <new> 创建新 Agent。

其他实用命令:whisper list、whisper logs、whisper policy、`whisper rdap

`、`whisper verify `、`whisper query `、`whisper graph `、`whisper login`、`whisper dash`(全屏仪表板)、`whisper config`。 运行 `whisper --help` 查看详情。

查询安全图谱

Whisper 解析器每次查询都会使用的同一个 whisper.security 图谱——包含 7.5B 个节点(主机名、IP、ASN、证书、威胁情报)和 39.8B 个关系——也是一流的 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)。图谱端点本身采用双层模式:直接读取操作(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。


以你的 Agent 身份签名、验证和加密

你的 Agent 的 /128 携带一个专属的 Agent 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

陌生人解析到的专属 Agent 验证密钥是 Agent 的 DANE TLSA 3 1 1(用于签名时还包括 SMIMEA 3 1 1)——两者均由 DNSSEC 签名,可使用 dig + openssl 检查,无需 Whisper 账户。完整指南(包括逐字节精确的签名封装):https://whisper.online/docs/sign-encrypt。

你将获得

  • 一个真正可路由的 /128,来自 2a04:2a01::/32,由 AS219419 宣告——这是你自己的互联网地址,而非共享 NAT 地址池。
  • 可从外部验证的身份。 正向 DNS 由 DNSSEC 签名并通过 DANE 固定;反向 DNS(ip6.arpa PTR)解析到该 Agent;此分配可在公共 RDAP rdap.whisper.online 中查看。
  • 与身份绑定的出口流量。 whisper connect 会配置一个本地代理,其流量源自你的 /128;whisper ip 可证明源地址属于你,无需节点,也无需第三方参与。--tier wireguard 会通过用户空间 WireGuard 隧道将 /128 配置为路由地址(wireguard-go netstack——仍然无需 root、内核 wg 或 TUN 设备),并由同一个本地代理作为入口,因此工具无需更改。
  • 单个二进制文件,零配置。 静态编译、不依赖 CGO,并内嵌 CA 证书包——可在裸机或精简容器中直接运行。

在代码中使用

使用你选择的语言,获取相同的身份和出口流量——这些是此 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 作为出口 sidecar 运行,让任意容器都通过你的 /128 发出流量:

docker run --rm ghcr.io/whisper-sec/whisper:latest --version

whisper init compose 和 whisper init k8s 会生成可直接合并的 sidecar 清单。支持多架构(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

将所有受支持的平台交叉编译到 dist/(二进制文件 + .sha256,命名与发布资源完全一致):

./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 客户端:身份、出口、连接、验证、安全图界面和 TUI。它采用 MIT 许可证,你从中构建的就是这个客户端。

已发布的二进制文件不止包含这些。whisper 还包含 Whisper 的端点传感器——service、sensor 和 posture 命令;目前该传感器并非开源。它以二进制文件形式发布,源代码保持闭源,因此从发行版、curl -fsSL https://get.whisper.online | sh 或 apt、dnf、apk、brew、scoop 获取的二进制文件都包含这些命令。从此代码树构建的任何内容都不包含这些命令:go install、本地 go build,以及从源代码构建的 snap。

有两点值得明确说明。MIT 许可证涵盖此仓库中的源码,不涵盖已发布二进制文件中额外包含的闭源组件。如果你需要端点传感器,请安装已发布的二进制文件,而不要从源代码构建。

平台
OS \ Archamd64arm64armriscv64mipsmipsle386
linux✓✓✓✓✓✓✓
darwin✓✓
windows✓✓

linux-arm 是 32 位 ARMv7。所有目标都是静态、无 CGO 的构建,并且均使用 AS219419 发布密钥签名。


链接


贡献

欢迎提交问题和拉取请求——请参阅 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 分发。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。