关于 vantic
vantic 是面向支付型 AI Agent 的 TypeScript 授权层。签名授权书会在支付调用执行前检查预算和收款方名单,并为获准操作生成可审计的签名凭证。
主要功能
- 01签名支出授权书
- 02单笔及滚动预算限制
- 03收款方白名单
- 04防篡改签名凭证
- 05W3C DID 与凭证身份
适用场景
- 01限制 Agent 的支付权限
- 02为现有支付工具加设防护
- 03审计获准的支付操作
MCP 相关
提供 `wrapMcpTool`,可为现有 MCP 工具添加检查。其 MCP 服务提供无状态的授权书、凭证链、凭证及 DID 验证工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action | object | 是 | 候选操作:{ type, counterparty, amount (minor units), currency }。 |
| action.type | string | 是 | |
| action.amount | number | 是 | |
| action.currency | string | 是 | |
| action.counterparty | string | 是 | |
| envelope | object | 是 | 已签名的委托信封。 |
| priorReceipts | array | 否 | 此信封下已签发的收据(按顺序排列)。 |
详细介绍
Vantic
面向 AI Agent 的支出防火墙和权限层。 为你的 Agent 提供一个无法超出的签名预算——即使它遭遇提示词注入也不例外,并为它执行的所有操作生成防篡改收据。
零依赖 · TypeScript · Ed25519 + W3C DIDs · 适用于 MCP、LangChain 或任何调用工具的 Agent。
问题所在
你的 AI Agent 可以持有钱包并调用支付 API。这很有用——也很危险。恶意网页中的一次提示词注入、一次幻觉、一个错误,都可能让你的 Agent 向错误的对象付款。这是一种有记录且正被积极利用的故障模式:Agent 受骗,将资金汇给攻击者控制的账户。
Vantic 的作用
你向 Agent 签发一个签名授权——其中包含预算、单笔交易上限、允许的操作,以及它可以付款对象的允许列表——并为它所有会转移资金的调用(购买、订阅、转账、按次付费、付款、退款——任何会转移价值的操作)加上保护。从此,超出授权范围的付款不可能发生:检查会在资金转移代码运行之前执行,因此,即使模型被完全攻破,也无法执行此类付款。每项获准操作都会生成一份签名的防篡改收据——形成清晰的审计记录,也可作为费用争议的证据。
安装
npm install @vantic/sdk
只需约 5 行代码即可保护你的 Agent
import { generateKeyPair, issueMandate, AgentWallet } from "@vantic/sdk";
const owner = generateKeyPair(); // you (the principal)
const agent = generateKeyPair(); // your autonomous agent
// Authorize the agent: what it may pay for, ≤ $200 each, ≤ $500/week, only these counterparties.
const mandate = issueMandate({
agent: agent.publicKey,
principal: owner.publicKey,
principalPrivateKeyPem: owner.privateKeyPem,
ttlSeconds: 7 * 24 * 3600,
scope: {
budget: { currency: "USD", amount: 50000, windowSeconds: 7 * 24 * 3600 }, // $500 / 7 days
maxPerTransaction: 20000, // $200
allowedActions: ["purchase", "subscribe"], // any money-moving action: transfer, payout, refund, …
allowedCounterparties: ["etsy.com", "*.shop.example"],
},
});
const wallet = new AgentWallet(mandate, agent.privateKeyPem);
// Your real payment call goes inside the executor. The guard runs FIRST;
// if the action is out of scope, the executor is never called.
await wallet.spend(
{ type: "purchase", counterparty: "etsy.com", amount: 4500, currency: "USD" },
async (action) => ({ outcome: "settled", result: await pay(action) }),
);
// A prompt-injected wallet.spend({ counterparty: "attacker.xyz", ... })
// throws GuardViolation — before any money moves.
运行 npm run guard-demo,观察它实时拦截攻击者的付款。
已有支付工具?只需封装一次。
对于 MCP / LangChain / 函数调用类 Agent,无需重构即可为现有工具设置关卡:
import { wrapMcpTool } from "@vantic/sdk";
const guardedPurchase = wrapMcpTool(purchaseTool, {
wallet,
toAction: (args) => ({ type: "purchase", counterparty: args.merchant, amount: args.amountCents, currency: args.currency }),
});
// Register `guardedPurchase` instead of `purchaseTool`. A blocked call comes back as a tool
// error the model can read and recover from; the real charge never fires.
框架指南(OpenAI、LangChain、Vercel AI SDK、MCP、原始方式):docs/integrations.md。
你将获得
- 严格的支出上限 — 单笔交易上限和滚动预算窗口,均以确定性方式执行。
- 交易对象允许列表 — Agent 只能向你允许的对象付款(精确匹配或通配符域名)。
- 提示词注入防护 — 授权在模型之外执行,因此 Agent 即使遭到攻破,也无法超出授权范围支出。
- 防篡改收据 — 每项操作都有签名且经哈希链串联的记录;可离线验证;可作为争议证据。
- 标准身份 — Agent 和所有者使用 W3C
did:key/did:webDIDs,所有者→Agent 关系则由 W3C 可验证凭证表示。 - MCP 服务 —
npx vantic-mcp可向任何 MCP 主机提供验证工具。 - 零依赖 — 仅使用 Node 内置的加密功能。Ed25519 + SHA-256。
工作原理
两个基本构件(完整规范见 spec/SPEC.md):
- 授权 — 所有者签署的声明,授权 Agent 在指定范围内行动(预算、限制、交易对象、有效期、撤销)。
- 收据 — 经签名且通过哈希链串联的记录,将每项操作与授权及其结果关联起来。可检测篡改。
所有操作都以确定性方式执行,且运行在 Agent 的模型之外。
从 MCP 主机使用
npm run mcp # or, once published: npx vantic-mcp
提供无状态验证工具(不需要私钥):mandate_authorize、mandate_verify_chain、mandate_verify_credential、mandate_resolve_did。
身份
Agent 和所有者可以使用原始密钥(key:<x>)或 W3C did:key DID 标识——两者可互换,均可用于验证。generateKeyPair() 会同时返回两者。DID 可离线解析为标准 DID 文档(resolveDidKey);同一密钥也可通过 did:web 发布(buildDidWebDocument);所有者→Agent 关系则由可移植的 W3C 可验证凭证表示(issueSponsorCredential / verifySponsorCredential)。参见 npm run identity-demo。
开发
cd sdk
npm install
npm test # 39 tests
npm run demo # end-to-end walkthrough
了解更多
- docs/integrations.md — 将 Vantic 集成到 OpenAI / LangChain / Vercel AI SDK / MCP / 原始 Agent 中。
- docs/ap2-and-standards.md — Vantic 与 AP2、x402 以及共享的“授权”概念之间的关系。
- docs/agent-spending-security.md — 如何保障 Agent 支出安全(以及为什么不应自行实现)。
- spec/SPEC.md — 协议。
状态与安全
v0.1 — 还处于早期阶段,我们对此坦诚相告。 代码达到了生产级质量(Ed25519 + SHA-256 + 规范化 JSON;did:key/did:web + 可验证凭证身份;运行时零依赖),但尚未经过审计,线格式也尚未定稿。
ROADMAP.md— 明确说明哪些内容已加固、哪些尚未加固,以及迈向 v1.0 的路径。SECURITY.md— 如何报告漏洞(请不要公开提交 issue)。spec/SPEC.md§8 — 威胁模型与非目标。
欢迎反馈和 PR。Apache-2.0。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。