cloakmaster/foxbook

GitHub: cloakmaster/foxbook

为 A2A 和 MCP 生态提供基于公开透明日志的 Agent 身份加密验证系统,一次调用即可确认对方 Agent 卡片中 handle 的真实性。

Stars: 0 | Forks: 0

# 🦊 Foxbook [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/1afd4dc933075924.svg)](https://github.com/cloakmaster/foxbook/actions/workflows/ci.yml) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) 用于 A2A 和 MCP 的可验证 Agent 身份。 ``` import { verifyAgentCard } from "@foxbook/sdk-claim"; // Before your agent calls another agent, check its card. const result = await verifyAgentCard(otherAgent.card); if (result.status !== "verified") return; // Verified. Safe to call. ``` 开源。Apache 2.0。运行你自己的日志;任何遵循相同规范的人都可以针对任何部署进行验证。 [**在线演示**](#live-demo) · [**为什么需要**](#why) · [**状态**](#status) · [**与 Foxbook 组合**](#compose-with-foxbook) · [**RFC**](docs/rfc-a2a-x-foxbook-extension.md) ## 与 Foxbook 组合 正在构建一个希望引用 Foxbook 验证身份的证据层、判定层或其他身份锚定系统?Foxbook 目前处于[稳定 / 维护模式](docs/decisions/0008-stable-mode-maintenance-posture.md),但我们欢迎并公开追踪组合方案。 - [`docs/COMPOSE-WITH-FOXBOOK.md`](docs/COMPOSE-WITH-FOXBOOK.md) — 面向新集成者的简短指南(类型引用结构、参与路径、不包含的范围)。 - [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md) — 已知集成及其状态的动态目录。 - 活跃的规范讨论:**组合:Foxbook ↔ Concordia ↔ Sanctuary 类型引用 schema**,位于 https://github.com/cloakmaster/foxbook/discussions/73。 - 如需实质性的线下交流,请联系 `hello@foxbook.dev`。 ## 适用场景 你正在构建一个 Agent。它需要将工作交接给它未编写过的另一个 Agent。另一个 Agent 的 *card*(即 Agent 按照 A2A 规范在 `/.well-known/agent-card.json` 发布的 JSON 清单)写着 `handle: @somebody-trustworthy`。这只是一个字符串。任何人都可以在那里写任何内容。如果你在检查之前调用了另一个 Agent,工作就会交给编写该 handle 的人,而不是其真正的主人。 `verifyAgentCard(card)` 就是调用前的这道检查。 ## 在线演示 日志是真实的。一个 curl 命令就能证明。 ``` curl -s https://transparency.foxbook.dev/root | jq ``` 返回一个已签名的树头。将 `/inclusion/:i` 与 `/root` 结合使用即可验证 Merkle 证明。采用 RFC 9162 结构;无需身份验证,无需 API 密钥。 针对身份守卫的对抗性测试,在任何网络 I/O 之前即被拒绝。适配器处的 `fetchCount === 0`。[阅读记录。](ops/evidence/2026-04-24-identity-guard-adversarial.md) ## 为什么需要 当一个 Agent 调用另一个 Agent 时,它没有加密手段来证明另一个 Agent 卡片上的 handle 是真实的。目前的答案通常是“信任目录”或“构建自己的检查”。Foxbook 提供了第三种答案:一个任何人都可以验证的公共日志,只需一次函数调用,返回四种可能的结果。 `verifyAgentCard(card)` 返回以下四种结果之一: - `verified` → 继续 - `unverified` → 阻止 - `handle-mismatch` → 阻止(卡片声明的 handle 与日志证明的不符) - `stale-proof` → 由调用方的风险策略决定(刷新、重试、警告) 这就是全部的验证面。没有信任分数。没有信誉字段。身份归这里管;信誉归上层管。 ## 为什么存在 Agent 调用其他 Agent 的频率即将达到今天的 10 倍。每次调用都需要验证接收方卡片上的 handle。如果没有验证原语,每次调用都是基于盲目的信任——卡片说它是 `@somebody`,而调用方 Agent 无法辨别真伪。 这个原语必须具备三个特性:加密的、公开的和免费的。加密是为了防止伪造声明。公开是为了让任何人都可以在无需许可的情况下进行审计。免费是为了让普及不被商业关系所限制。 RFC 9162(证书透明度)在过去十年中一直是 TLS 领域的模型——你的浏览器信任的每一个证书都会被记录到一个公开的、只追加的 Merkle 树中,而 Chrome 会拒绝未被记录的证书。Foxbook 就是将这种模式应用到了 Agent 身份上。 A2A 和 MCP 都曾开启过关于 Agent 间信任的讨论——可组合的证据、信誉、身份扩展字段。但它们都没有交付底层的基础部分。Foxbook 交付了。 ## 状态 **稳定 / 维护模式**([ADR 0008](docs/decisions/0008-stable-mode-maintenance-posture.md))。公开承诺已交付;协议面已冻结在 v0.2;保留实时部署、品牌和运营连续性。欢迎提交用于错误修复和文档的 PR;审查可能需要数周时间。安全问题请联系:`hello@foxbook.dev`。 **已上线** - 公开透明度日志:每次追加均有签名树头,提供一致性证明。 - 通过 GitHub Gist 进行的 Tier-1 验证,并在 URL 所有者层面设有身份守卫。 - 通过 DNS TXT 和签名随机数端点挑战进行的 Tier-2 验证。 - 恢复密钥签名撤销:在叶子追加和声明删除间保持原子性。在实时的 Postgres 上实测到的挂钟时间为 467ms(单次运行基准测试)。 - 数据流:从提交到接收的中位延迟为 20ms(单次运行基准测试)。 - npm 上的 `@foxbook/sdk-claim` —— 六函数参考 SDK,在验证通过的分支上提供 `verified_signing_key_hex`,在未验证的分支上提供结构化的 `reason_code`。 - 已在 [`agentgraph.co/.well-known/interop-harness.json`](https://agentgraph.co/.well-known/interop-harness.json) 注册为身份层的 `evidence_provider`,并通过了 CTEF 字节匹配验证(4/4 向量)。 **稳定模式下不包含的范围** - 新的协议功能、新的 SDK 函数、新的端点、新的 schema 结构。依据 [ADR 0008](docs/decisions/0008-stable-mode-maintenance-posture.md)。欢迎以不同名称分叉并扩展协议(参见 [TRADEMARK.md](TRADEMARK.md))。 - 多供应商联邦日志(协议契约是相同的;以你自己的名义带来你自己的部署即可)。 ## 快速入门 验证一条记录(Merkle 树中的一个“叶子”),无需安装: ``` curl -s https://transparency.foxbook.dev/inclusion/1 curl -s https://transparency.foxbook.dev/root ``` 该证明可以用任何语言进行验证。位于 [`schemas/crypto-test-vectors.json`](schemas/crypto-test-vectors.json) 的测试向量可保持各实现的同步。 本地工作区: ``` git clone https://github.com/cloakmaster/foxbook.git cd foxbook pnpm install pnpm -r test ``` ## 许可证 Apache 2.0。参见 [`LICENSE`](LICENSE)。 协议是开放的。**Foxbook** 名称受商标保护;参见 [`TRADEMARK.md`](TRADEMARK.md)。以你自己的名义运行你自己的日志;规范才是标准,而非主机。 由 [@cloakmaster](https://github.com/cloakmaster) 构建。
标签:A2A, Agent-to-Agent, Agent通信安全, Apache 2.0, IAM, JSON Manifest, MCP, Web of Trust, 人工智能安全, 仅追加日志, 去中心化身份, 可验证凭证, 合规性, 密码学, 密钥撤销, 开源, 恢复密钥, 手动系统调用, 智能体身份验证, 暗色界面, 测试用例, 自动化攻击, 跨系统信任, 身份与访问管理, 透明度日志, 防篡改, 零信任架构