构建AI Agent时,一开始只需一个Personal Access Token(PAT),但随着接入Slack、Notion、Linear等服务,长期凭证散落在.env、CI/CD、K8s Secret和基础设施中,安全隐患和运维负担随之攀升。Passkey提出一种借鉴SSH「Trust On First Use(TOFU)」的授权模型,让Agent无需任何长期凭证即可安全访问外部服务。
传统OAuth依赖人类在浏览器中点击「允许」,但无头Agent没有交互界面。开发者通常退而求其次:PAT扩展快但留下技术债;自定义OAuth需为每项服务处理回调、加密、刷新,认证层比产品本身还庞大;Secret Manager仅解决存储,不解决授权;Service Account让所有Agent共享同一身份,单点泄露影响全局。
Passkey的目标是:Agent永不接触长期凭证;人类仅需批准一次新Agent;每次操作可归因到特定Agent;撤销一个Agent不影响其他部署;现有框架无需改动。方案来自SSH的TOFU模型:首次连接时检验主机指纹,用户确认后记住指纹,之后自动连接。类比到Agent,首次请求时网关暂停请求,Owner收到审批通知,通过后存储指纹,后续请求自动放行。
具体流程:开发者一次性OAuth连接服务,凭证留在网关内。Agent启动时获得一个Passkey URL,请求网关获取GitHub等工具时,网关检查指纹。未知指纹触发人工审批,通过后交换一个短令牌(非刷新令牌、PAT或client secret),Agent直接调用上游API。指纹由运行时特征派生,每个Agent拥有唯一身份,请求可归因、可审计,撤销指纹即可封锁该Agent,无需轮换凭证或重新部署。
集成方式:通过MCP协议,任何兼容MCP的框架(LangChain、CrewAI、Strands、Bedrock AgentCore)无需改动,Agent自动看到工具列表如github_list_issues等。网关使用令牌交换而非代理所有请求,降低延迟、避免瓶颈、兼容现有MCP工具。
其他设计:
• 连接URL使用轮换slug
• 支持动态客户注册(减少限流竞争)
• 原生MCP
该模型尤其适合接入多个SaaS平台、需要审计和归因、安全团队禁止PAT散落的场景。安装本地代理只需执行
npx passkey-mcp,目前内置19个集成(GitHub、Slack、Jira、Confluence、Notion、Stripe、Salesforce、HubSpot、Linear等)。核心问题已验证:无需长期凭证,且不降低开发体验。#开发者 #工具 #AI #Agent #TOFU #MCP #Passkey #CICD
@DevToolboxHub