mcpField
D
deadchannel

deadchannel

本地服务
github.com/plus8bit安全18 周前更新

关于 deadchannel

deadchannel 是面向 AI Agent 的 x402 端点风险检查服务,可在付款前判断端点是否可用、定价合理且安全。它返回判定、风险分数和问题说明,并通过 x402 按次收取 USDC。

主要功能

  1. 01检查端点连通性与稳定性
  2. 02解析 x402 支付要求
  3. 03检查价格、收款地址与网络
  4. 04检测响应模式及发现元数据
  5. 05输出判定与 0–100 风险分数

适用场景

  1. 01付款前筛查 x402 服务
  2. 02批量审计服务目录
  3. 03在 CI 中阻止接入失效端点

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"plus8bit-deadchannel": {
"command": "npx",
"args": [
"-y",
"deadchannel-mcp"
],
"env": {
"DEADCHANNEL_PRIVATE_KEY": "<DEADCHANNEL_PRIVATE_KEY>",
"DEADCHANNEL_URL": "<DEADCHANNEL_URL>"
}
}
}
}
启动命令npx -y deadchannel-mcp
需要配置的环境变量
DEADCHANNEL_PRIVATE_KEY密钥Private key of a wallet holding a little USDC on Base. It signs payments locally and never leaves the machine. Not needed for the free health check.
DEADCHANNEL_URLOverride the service endpoint. Defaults to https://deadchannel.vercel.app

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmdeadchannel-mcp0.1.1

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是要检查的 x402 资源 URL
methodstring否资源预期使用的 HTTP 方法(如已知)
samplesnumber否探测次数,1–5 次(默认值为 2)

详细介绍

deadchannel 与 Hosaka

两项通过 x402 向 AI Agent 提供服务、按次使用 USDC 付费的服务。无需注册、无需 API 密钥、无需订阅——Agent 发起调用、付款,即可获得答复。

提供内容价格
Hosaka公司使用的第三方供应商,经公司自己的 DNS 记录证实,并附带联系人信息$0.005 – $0.40
deadchannelx402 端点是否正常运行、定价是否合理,以及调用是否安全$0.005

Agent 可以将 Hosaka 安装为技能,以了解它的用途以及何时调用:

npx skills add plus8bit/deadchannel/skills/hosaka --yes

Hosaka — 面向 Agent 的公司数据

提供为 MCP 服务,任何 MCP 客户端都可以直接向其购买:

npx -y hosaka-mcp
{
  "mcpServers": {
    "hosaka": {
      "command": "npx",
      "args": ["-y", "hosaka-mcp"],
      "env": { "HOSAKA_PRIVATE_KEY": "0x…" }
    }
  }
}

HOSAKA_PRIVATE_KEY 是一个在 Base 上持有少量 USDC 的钱包。四种工具,分别对应四种价格,因此简单的问题无需支付昂贵答案的费用:

工具价格可获得内容
hosaka_lookup$0.005域名年龄、注册商、邮件和 DNS 提供商、DMARC、HTTPS、供应商数量
hosaka_contacts$0.02档案,以及公司公开的邮箱和电话号码
hosaka_dossier$0.02公司经证实使用的所有第三方供应商,每项均附有证明
hosaka_people$0.35档案,以及在该公司任职的具名人员

档案为何值得获取。 公司每次购买 SaaS 产品时,都会通过添加 DNS 验证记录来证明自己拥有其域名;同时也会在 SPF 记录中授权其使用的每个发件方。这两份清单就是公司自行公开的购买记录。

查询 figma.com 会返回 Anthropic、OpenAI、Adobe、Atlassian、MongoDB Atlas、Greenhouse、Docusign、Stripe、Notion、Dropbox 和 Zendesk——每项都附有确切的证明记录,买方可以自行核实,而不必盲目信任。

页面指纹必须来自已加载的脚本或 CDN 主机,而非单纯提及:网站将某供应商的徽标列为集成服务之一,并不代表该网站实际使用了该服务。

服务已在 hosaka-agents.vercel.app 上线。

deadchannel — x402 端点风险预警器

提供一个 URL,它就会告诉 Agent 该端点是否正常运行、定价是否合理,以及调用是否安全——无需花费一分钱。

经探测的 x402 端点中,约有 17% 已失效或是陷阱;而 Bazaar 发现层据其自身所述,不提供排名、质量或信誉信号。Agent 从该目录中挑选服务,无异于拿真金白银碰运气。

检查内容

每项判定都基于未付款的 402 响应,因此成本足够低,可以扫描整个目录。

信号可发现的问题
reachable端点是否始终能正常响应
bot-gate机器人屏障对 Agent 返回响应,浏览器却能正常获得 402——该端点对索引器不可见
speaks-402是否返回可解析的付款要求(v1 正文和v2 payment-required 标头)
gate-closed声明了价格却不实际执行——任何人都能免费获取内容
price-sane价格是否在 $0.0001–$5 范围内;超过上限时,一次调用就可能耗尽预算
price-stable相隔数秒的探测之间,报价是否保持不变
pay-to-valid收款地址是否符合其链的格式,且不是销毁地址
network-mainnet是否在能够承载真实价值的网络上结算,而非仅支持测试网
network-known链标识符是否可识别(CAIP-2 或易读名称)
schema-advertisedAgent 是否能在付款之前获知响应结构
bazaar-metadata是否发布 serviceName / tags,以便主题搜索找到该服务
latencyp99 是否在 Agent 通常允许的 5 秒预算内
spec-clean负载是否符合文档说明的结构;偏差会被报告,而不会被忽略

判定结果包括:live、degraded、trap、testnet、dead、unknown,以及范围受限的 0–100 风险评分。

用法

需要 Node 22+。没有运行时依赖——类型会原生剥离,因此无需构建,也不必审计本仓库以外的任何内容。

node src/cli.ts https://x402.org/protected
node src/cli.ts --quiet --samples 5 url-a url-b url-c
node src/cli.ts --json url > verdict.json

当任何目标被标记为 trap 或 dead 时,退出码为非零,因此它可以作为 CI 中的防护措施,避免发布指向不良端点的 Agent。

TESTNET   risk 80   $0.01  355ms p99  https://x402.org/protected
  x network-mainnet   Only testnet networks offered (base-sepolia, solana-devnet).
                      This endpoint cannot accept real value.
  ! schema-advertised No input or output schema. An agent has to pay before it
                      can find out what it gets back.

首次完整目录扫描——2026 年 8 月 20 日

node src/scan.ts --live 150 会抓取并审计公共 Bazaar 服务方发布的每项资源。对 14,979 项资源的结果:

由排名前 3 的收款地址持有的目录份额18.4%,却只收到 80 次调用中的 1 次
未发布发现标签40.9%——Agent 按主题搜索时永远找不到它们
通过所有检查56.8%
150 个最繁忙资源中目前在线的比例91.3%
最繁忙资源中确实已失效的比例2.0%

中位价格为 $0.01,价格范围为 $0 至 $1,000,30 天内有 316,927 次付费调用。

这个目录的状况比传言所说的要好。但它的分布并不均衡:三个地址合计列出 2,750 项资源,却只收到 80 次调用中的 1 次,因此相对于它们所服务的需求,其曝光量大约超出 15 倍。目录规模不等于目录深度。

目录审计

一项更正,以及防止重蹈覆辙的防护措施

本表的早期版本声称,目录中有 89.8% 的资源未发布标签。这是错误的。加载器只读取了 extensions.bazaar.tags,而大多数发布者把标签放在条目根级别——实际数字是 40.9%。

这个错误之所以通过了审查,是因为没有断言已发布标签的数量。如果检查只统计缺失项,就无法区分“发布者没有填写”与“我们找错了位置”。现在,test/catalog.test.ts 会在实时目录中截取的 200 项样本里,手动统计三个已知位置的标签,并断言加载器统计结果完全一致,既检查多算,也检查漏算。

实际观察

基于实时端点构建,而非仅依据规范:

  • v2 将付款要求移至 base64 编码的 payment-required 标头中,并将正文留作 {}。只读取正文的解析器会将官方参考端点标记为已失效。
  • v2 发送 CAIP-2 网络 ID(eip155:84532、solana:EtWTRA…),而 v1 发送易读名称。两种格式目前同时在线。
  • v2 将 maxAmountRequired 重命名为 amount,并将共享的 resource 元数据提升至载荷根级别。
  • 多个服务不发送所有参考实现都会提供的顶层 x402Version,还有一些服务将 accepts[] 嵌套得比文档所述更深一级。解析器会解析这两种情况并报告警告,而不会拒绝。
  • 大多数资源使用 POST。 用 GET 探测这些资源会返回 404/405,看起来与端点失效完全一样——这曾使我们首次实时探测的失效率达到 25%,而实际数字是 2.7%。现在会从目录中读取请求方法;如果未知,则重试 POST。任何报告高失效率的 x402 索引都值得检查是否存在此问题。
  • 发现元数据分散在不同位置。 规范将 serviceName/tags 放在 ResourceInfo 对象上,CDP 目录将它们平铺到条目根级别,而少数服务会将它们嵌套在 extensions.bazaar 下。只读取一个位置会漏算一半。
  • 存在经纪式支付通道。 AWS Marketplace 资源会在 aws:base 网络下用 URN 指定收款方,而不是使用链上地址。这是合法的,但资金会支付给经纪方,因此会报告警告,而不会将其评分为无效收款方。

销售

该服务通过 x402 出售自己的检查服务。src/server/ 实现了 v2 HTTP 传输的卖方端:在授权流程中,发送 PAYMENT-REQUIRED,接收 PAYMENT-SIGNATURE,再返回 PAYMENT-RESPONSE——先验证,再运行资源,最后结算。

不涉及私钥。 卖方声明结算款项应汇入何处;买方负责签名,促进器负责广播。因此,收款地址属于公开信息,存放在 deadchannel.config.json 中,任何人都可以审计,而不是放在无人能看到的控制面板里。

只有在探测产生结果后才会进行结算,因此我们这边出现故障不会让买方蒙受损失。

GET  /             service card, free
GET  /health       liveness, free
GET  /facilitator  proves credentials are accepted, free, moves no money
POST /probe        the check, $0.005 in USDC on Base

之所以提供 GET /facilitator,是因为否则凭据错误会一直无法察觉,直到有人尝试付款,而第一个发现问题的就会是客户。

线上运行

该服务已部署在 **https://deadchannel.vercel.app**,在 Base 主网上以每次调用 0.005 美元的价格出售,并通过 Coinbase 促进器结算。

首笔已结算付款:0x6ac4a22c, 区块 50230005,2026 年 8 月 20 日。Gas 费用由促进器支付,而非买方支付——在 x402 中,买方只需签名,因此仅持有 USDC 的钱包也能付款。

npm run validate 会重新运行 Bazaar 在为资源编入索引前执行的 25 项预检,并报告当前列表是否处于有效状态。此命令不需要密钥,也不会转移资金。

resource : https://deadchannel.vercel.app/probe
valid    : true
accepted : accepted
checks   : 25/25 passed
indexed  : active=true

Hosaka

同一收款地址下的第二家商店,向 Agent 出售公司信息。

POST /lookup    $0.005  domain age, registrar, mail and DNS provider, DMARC, HTTPS
POST /dossier   $0.02   every third-party vendor we can prove, with the proof

已在 https://hosaka-agents.vercel.app 上线,通过 Base 主网结算。

公司档案由四种无需密钥、也无需供应商的数据源汇总而成:HTTPS 上的 DNS、RDAP 注册信息、TLS 握手和主页。每份档案的成本为零——利润来自信息汇总。

有意思的部分是供应商检测。公司通过添加 DNS 验证记录,向其购买服务的每款 SaaS 产品证明所有权;同时,还会在 SPF 记录中授权其使用的每个发件方。这两份列表就是公司自行公开的采购记录。每条声明都附有证明记录,因此买方可以自行核查,而非盲目信任。

从 Claude 或 ChatGPT 使用

Bazaar 的搜索会忽略查询内容,并按唯一付款方数量排序,因此无论质量如何,新商店在那里都不会显眼。MCP 是上线首日就能奏效的渠道——Agent 已经在使用支持 MCP 的客户端中。

{
  "mcpServers": {
    "hosaka": {
      "command": "node",
      "args": ["/absolute/path/to/src/hosaka/mcp/server.ts"],
      "env": { "HOSAKA_PRIVATE_KEY": "0x…" }
    }
  }
}

买方自带钱包:密钥在本地为付款签名,绝不会离开设备。没有钱包时,工具会说明缺少什么,而不会在对话中途失败。

开发

npm install     # typescript only, for typechecking
npm test        # 18 tests, no network required
npm run typecheck

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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