智能AI代理、MCP协议与不可忽视的身份爆炸危机
作者:Itzik Alvas, Entro
2024年底,Anthropic推出了模型上下文协议(MCP),这是一个通用框架,允许AI代理与GitHub、Slack、Postgres等外部系统交互。这就像是AI的USB-C接口:一次插入,连接万物。
该协议优雅、可扩展且开源。但它也催生了一类新型的智能自主软件,带来了自身的安全挑战,特别是在身份管理方面。
什么是智能AI代理?
智能AI代理指的是通常由大语言模型(LLM)驱动的系统,能够自主决策、与外部工具交互,并在最少人工监督下执行任务。这些不仅仅是被动聊天机器人,而是基础设施中的活跃参与者。
拥有适当权限后,代理可以:
- 提交GitHub问题或合并PR
- 查询数据库或分析日志
- 发送Slack消息或分类工单
- 修改云资源
价值是真实的,风险也是如此。因为每一个这些操作背后都有一个凭证——密钥、令牌、服务账户。简而言之:一个非人类身份(NHI)。
MCP让连接变容易,但安全并非如此
MCP采用客户端-服务器模型:代理(客户端)通过安全通道上的JSON-RPC连接到工具服务器。工具服务器定义了代理可以访问的内容。
但它不定义身份所有权、轮换凭证或跟踪特权使用情况。相反,它依赖于为人类用户设计的现有方法,如OAuth 2.1、访问令牌和基于角色的范围,而不是为自主代理设计的。
这让安全团队面临棘手问题:
- 谁拥有代理及其使用的凭证?
- 这些凭证是否按最小权限原则限定范围?
- 它们是否是短期存在并定期轮换?
- 代理的行为在IAM或审计日志中是否可见?
在大多数环境中,答案是否定的。
AI代理就是NHI,应该这样对待
代理可能存在于终端窗口中,或作为云原生应用运行,但其行为就像任何其他身份一样。它持有凭证、访问系统并做出决策。而且通常,它在数十个环境中持续这样做,没有人工参与审查。
问题在于?大多数安全堆栈并不这样识别它。没有代理配置文件,没有所有权元数据,也没有生命周期管理。开发人员启动具有真实系统访问权限的强大助手,然后继续前进。凭证被硬编码。审计日志变得不可见。爆炸半径不断扩大。
这不仅仅是集成框架——这是身份转变
像MCP这样的协议采用正在加速。OpenAI、Microsoft、AWS、Stripe等公司正在拥抱标准化的代理到系统通信。这对生产力来说是件好事。
但这也意味着我们正在大规模创建AI驱动的NHI,而没有完全应对这对安全意味着什么。如果每个代理实际上都是一个特权身份,那么每个集成都是一个潜在的负债,除非像管理身份一样管理它。
因此,在您的下一个基于LLM的助手开始查询生产数据库或同步云环境之前,请询问:
- 我能在IAM系统中看到这个身份吗?
- 其凭证是否安全存储并轮换?
- 是否有人员对其行为负责?
因为AI不再只是说话,而是在行动。每一个行动都与一个身份相关联。安全的未来不仅仅是保护人类,还包括管理像人类一样思考和行动的机器。