关于 Vouchwell
Vouchwell 是面向需要策略检查和可独立验证的 AI Agent 操作证据的团队的只读命令行工具与代理。它将决策写入经密码学链接的追加式日志。
主要功能
- 01对 MCP 工具调用执行策略检查
- 02签名并链接审计回执
- 03提供 Merkle 日志包含证明
- 04导出供第三方核验的证据
- 05验证并检查日志
适用场景
- 01在执行前拦截不允许的工具调用
- 02为合规审查审计 Agent 操作
- 03在 CI 中验证日志完整性
- 04向审计人员提供可验证证据
MCP 相关
Vouchwell 将 MCP 服务包装为代理,按策略检查每次工具调用,并将决策记录为回执。MCP 客户端通过该代理连接,而非直接连接被包装的服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tail | integer | 否 | 返回最新匹配记录的数量(默认值为 20)。 |
| denied | boolean | 否 | 仅显示策略拒绝或升级处理的调用。 |
| target | string | 否 | 仅显示名称包含此文本的工具。 |
| session | string | 否 | 仅显示此会话。 |
| unfinished | boolean | 否 | 仅显示已获授权并已发送,但从未报告结果的调用。 |
| would_block | boolean | 否 | 仅放行策略本会阻止的调用,并将其记录为监控模式。 |
详细介绍
vouchwell
为 AI Agent 操作提供防篡改收据。
你的 Agent 会花钱、发送邮件,还会接触客户数据。出了问题时,“我们的日志显示没有”不是答案——你的日志只是一个可以编辑的文本文件。
Vouchwell 会在每项 Agent 操作运行前通过策略门控,并在运行后提供密码学证明。
npm install -g vouchwell
vw init
然后包装任意 MCP 服务——集成过程就这么简单:
// .mcp.json — before
{ "command": "npx", "args": ["-y", "@acme/mcp-crm"] }
// after
{ "command": "vw", "args": ["proxy", "--namespace", "crm", "--", "npx", "-y", "@acme/mcp-crm"] }
现在,每次工具调用都会先经过策略检查,而每项决策——无论是允许、拦截,还是升级交由人工处理——都会写入一份只追加日志。外部人员无需信任你,也能验证这份日志。
BLOCKED ops.query destructive SQL from an agent is never permitted
BLOCKED ops.refund budget refunds.daily would be exceeded: 45 already
committed plus 90 proposed, against a cap of 100 per 24h
BLOCKED ops.query arguments contain anthropic_key; policy forbids sending
these to a tool
为什么它不只是日志记录
大家都在构建 Agent 可观测性——需要你相信其结果的仪表板。Vouchwell 构建的是 Agent 证据:第三方只需你交给他们的文件,就能独立检查其完整性。
- 签名——使用 Ed25519 对 RFC 8785 规范形式进行签名。
- 链式关联——每张收据都会提交其前一张收据的哈希。
- 树锚定——采用 RFC 6962 Merkle 日志,也就是证书透明度使用的构造方式。已通过公开的 CT 参考向量验证。
- 密封——参数是加盐承诺,而非有效载荷。销毁盐值后,这些有效载荷将永久无法解封,但所有证明仍可验证,因此 GDPR 删除请求不会损害审计轨迹。
命令
vw init create a log, a starter policy, and a config
vw proxy -- <cmd...> wrap an MCP server; enforce policy, write receipts
vw log / vw stats / vw dash inspect
vw verify audit the local log end to end
vw prove <seq> inclusion proof for one receipt
vw export / vw check evidence bundle for a third party, and verify one
vw remote add / vw push connect to a hub and ship receipts
vw cosign have an independent witness counter-sign your root
vw shred --before <date> destroy payload commitments, keep the audit trail
当日志被篡改时,vw verify 会以非零状态码退出——可以将它加入 CI。
它无法做到的事
- **它无法证明自己从未观察到的操作。**如果 Agent 通过另一条未包装的路径访问同一个 API,就不会留下收据。
- **尚无任何独立方审查过这些密码学实现。**它依据公开的 RFC 6962 和 RFC 8032 向量进行验证,而非只依据自身,但这并不等同于独立审查。
完整威胁模型:https://github.com/vouchwell/vouchwell/blob/main/docs/THREAT-MODEL.md
Vouchwell 套件
| 软件包 | 说明 |
|---|---|
vouchwell | vw 命令行工具——从这里开始 |
@vouchwell/core | 收据、Merkle 日志、策略引擎。零依赖。 |
@vouchwell/proxy | MCP 代理和 Hub 客户端 |
@vouchwell/server | 多租户 Hub |
@vouchwell/dashboard | 本地只读仪表板 |
完整文档:https://github.com/vouchwell/vouchwell
Apache-2.0。格式、验证器和命令行工具均为开源,并将始终保持开源:如果证据必须经过供应商许可才能验证,那就不是证据。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。