返回 文章 apply CMS 文章

Vercel Connect 正式发布:用运行时短期令牌终结 Agent 凭据泛滥

Vercel Connect 用运行时请求的短期令牌取代长期凭据,让 Agent 安全触达 100 多项外部服务。

Vercel ConnectAgent 安全令牌管理OAuth
成长分 / 100 77 综合收获、行动、留存与影响

Vercel Connect 正式发布:用运行时短期令牌终结 Agent 凭据泛滥
为什么值得读了解长期有效 token 为何成为 Agent 安全的核心风险,以及保险库为何无法解决该问题。

掌握 Vercel Connect 如何通过运行时令牌、按请求作用域和 OIDC 身份重塑凭据管理。

关键洞察
  1. 长期有效的 token 一旦泄露就永不过期,保险库只能防止窃取,无法限制泄露后的危害。
  2. Vercel Connect 让应用从不存储凭据,而是在运行时请求按任务限定范围、自动刷新的令牌。
  3. 令牌作用域按请求进行,例如 GitHub 令牌可限制到单个仓库并仅授予只读权限。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:10486

每一个有用的 agent 都会触达你的代码库之外。它会向 Slack 发帖、发起 pull request、查询 Snowflake,或调用内部 API。正是这种触达让它有价值,而风险也恰恰藏在这里,因为多年来,授予它这种能力就意味着配置一个长期有效的 token,然后祈祷它永远不会泄露。

Vercel Connect 用你的代码在运行时请求的 token 取代了长期有效的 token,这些 token 按任务限定范围,并会自行过期。

公开测试版期间,我们将生态系统扩展到了 100 多个连接器,统一了它们的工作方式,并添加了团队在生产环境中所需的治理能力。

今天,Vercel Connect 正式全面可用。

通过安全、限定范围的 token 连接到 100 多项服务

通过安全、限定范围的 token 连接到 100 多项服务

复制标题链接保险库解决不了长期有效 token 的问题

管理凭据本身已经成为一项工作负担。团队编写轮换脚本,在各环境之间复制密钥,并在用户之间共享 token。把 token 放进保险库让它更难被窃取,但一旦被窃取,危险程度丝毫不减。它永不过期,而且没有任何保险库能限制泄露的凭据能做什么。

Agent 让这个问题雪上加霜,因为它们以更大的自主性、更频繁地接触更多系统。然而,用于约束密钥的工具却始终没有改变。

使用 Vercel Connect,你的应用从不存储凭据。它会请求一个凭据:

你为 Slack、GitHub、Snowflake、Shopify 或你自己的 OAuth 服务等提供商注册一次连接器

你将它附加到需要它的项目和环境

你的代码在运行时请求 token,它会自动刷新

你的应用没有可被意外提交的提供商密钥

vercel connect create slack --name acme-slack

创建一个名为 acme-slack 的 Slack 连接器

import { getToken } from '@vercel/connect';
const token = await getToken('slack/acme-slack', { subject: { type: 'app' },});

申请应用级 Slack 令牌

申请令牌不需要另一个密钥。Vercel 上的每个部署都带有 OIDC 身份,SDK 用它来证明是谁在请求。

复制标题链接当访问变成请求时,什么发生了变化

差异体现在凭证的属性上:

过去在工作完成后仍长期留在环境中的凭证,现在会自行过期。没有任何东西残留下来供攻击者发现。

通过铸造短期令牌,而不是将提供商凭证保留在暂停的沙箱中,我们消除了一整类安全风险。Fraser Brown BuildPass

作用域按请求进行。代理的某一步可能读取仓库,下一步可能开启 issue,每一步都只请求所需的权限。

令牌能细到什么程度取决于服务,GitHub 是最清晰的例子。请求可以将令牌限制到单个仓库并仅授予只读权限,而不是信任组织范围内的长期授权。

开源 GitHub Tools SDK 将这一点付诸实践。选择像 code-review 这样的预设

,它就会铸造仅包含所需作用域的令牌。

身份也是按请求的。令牌默认以应用身份行事,但传入一个具名用户作为 subject

,令牌就会代表该用户行事,作用域限定为他们在一次性同意流程中授权的范围。

复制标题链接为你已在使用的服务提供的连接器

Vercel Connect 现在附带 100 多个预设连接器,适用于 Notion、Shopify 和 Workday 等开发者工具和 SaaS 提供商,以及针对 Slack、GitHub、Linear、Salesforce 等的托管连接器。

你自己的服务通过自定义 OAuth 和 API Key 认证遵循同样的模式,任何支持 OAuth 的 MCP 服务器都可以作为连接器。

查找和创建它们也更快了。在 Vercel 网站上浏览完整目录,用更少的步骤创建连接器,并从仪表板、CLI 或 API 管理一切。

Vercel Connect 让我们能够快速为团队部署新的 AI 代理和渠道集成,同时省去了自行构建安全令牌管理的时间和麻烦。Pat Dunn EF World Journeys USA

复制标题链接随团队规模扩展的治理

采用 Vercel Connect 的团队需要的不仅仅是限定作用域的令牌。他们需要控制谁管理连接器,并跟踪访问是如何被使用的。

正式发布新增了三项能力:

细粒度 RBAC 控制谁可以创建和管理连接器

审计日志记录授权和连接器活动

令牌和触发器可观测性显示跨项目的使用情况

再加上按环境附加和一键撤销,访问变成了你可以检查和证明的东西。

当审计员询问谁在何时拥有对某个系统的访问权限时,答案是对审计日志的一次查询,而不是跨项目和 Slack 线程的调查。

复制标题链接无论你的代理在哪里运行

Vercel Connect 在你和你的用户所在的任何地方都可用:

支持自定义环境,因此一个

qa

环境会拥有自己的连接器,与生产、预览和开发环境并列eve开箱即支持 Connect,可按 agent 声明连接Chat SDK 支持将同一模型带入对话式应用

复制标题链接在 v0 中构建互联应用

v0 中构建的应用和 agent 使用同一模型。

告诉 v0 你的应用需要哪个服务,它就会在构建过程中设置好连接器。Slack、GitHub 和其他托管连接器无需在提供商侧做任何配置,而且由于令牌是在运行时生成的,生成的应用没有任何需要保管的密钥。

KERNEL 团队就是这样交付了一个语音驱动的浏览器 agent

v0 通过 Connect 处理了所有认证接线,所以我不必再被困在管理 API 密钥上,而是可以让任何人通过 OAuth 自带 AI Gateway 和 KERNEL 访问权限,然后直接开始体验。Danny Prevoznik KERNEL

复制标题链接事件流入,同样无需密钥

请求令牌只是事情的一半。你的 agent 还需要接收事件通知。

Triggers 可以在不把密钥放回应用的情况下处理这件事。当用户在 Slack 中发帖时,提供商会将事件发送到 Vercel Connect。它在服务端验证签名,用 OIDC 身份重新认证该事件,然后将其转发到你的项目。即使启用了 Deployment Protection,转发的事件也能送达。

你的应用没有可用于操作的 bot token,也没有用于验证 webhook 的签名密钥,但整个循环仍然可以运行。

Moonpig Group 在生产环境中基于这一循环运行其内部法律 agent:

我们今天就在生产环境中使用 Connect。我们的内部法律 agent 通过 Connect 处理 Slack、Jira 和 Google Drive,因此我们不必自己管理令牌、密钥或事件订阅。Jorian Kalse Moonpig Group

复制标题链接围绕单次调用构建

这一切的底层是来自 Vercel Connect SDKgetToken

无论你的 agent 是基于 eve 还是 AI SDK 构建,是作为 Vercel Workflows 中的后台任务运行,还是你自己编写的循环,它都以同样的方式请求凭据。

围绕这次调用,适配器负责处理接线:

@vercel/connect/eve

为 agent 的连接提供凭据@vercel/connect/chat

将 Connect 接入Chat SDK 适配器@vercel/connect/betterauth

@vercel/connect/authjs

为 Better Auth 和 Auth.js 生成提供商配置@vercel/connect/ai-sdk

@vercel/connect/mcp

对 AI SDK 工具和 MCP 客户端做同样的事,无论你的 agent 是直接调用工具还是通过服务器调用

对于 eve agent 和 Chat SDK 应用,Slack 集成通常保存在你环境中的两个密钥,SLACK_BOT_TOKEN

SLACK_SIGNING_SECRET

,已从你的应用中完全消失。

复制标题链接定价与可用性

Vercel Connect 在所有套餐中均可用,定价基于令牌请求和触发事件。Hobby 套餐每月包含 500 次令牌请求和 1,000 次触发,无需额外费用。Pro 套餐按每 1,000 次令牌请求 3 美元和每 1,000 次触发 0.95 美元计费,Enterprise 可定制定价。

如果你在测试版期间使用了 Vercel Connect,你当前的计费条款将保持不变,直至 2026 年 9 月 25 日更新后的定价生效。

复制标题链接开始使用

部署一个

使用 Vercel Connect 的软件工厂模板浏览源代码遵循

完整指南在知识库中,或阅读更新日志将以下提示交给你的编码代理来设置 Vercel Connect:

帮我在此应用程序中设置 Vercel Connect。首先使用 npx skills add vercel/vercel-plugin --skill vercel-connect 安装 Vercel Connect 技能,并遵循它。阅读 vercel.com/docs/connect.md 以了解该技能未涵盖的任何内容。链接项目(vercel link)并拉取本地 OIDC 令牌(vercel env pull)。询问我要连接哪个提供商,为其创建一个连接器,并将其附加到此项目。然后安装 @vercel/connect 并在运行时使用 getToken 请求令牌。对提供商进行测试调用以确认其正常工作。如果你有任何问题或遇到困难,不要假设答案,直接问我。

贡献者

Joe SadowskiBhrigu SrivastavaAllen ZhouRaghav AgarwalYasoob Rasheed、Tony Pan