Tenable Research 发布了一项突破性的研究,重新定义了针对一个被广泛讨论的 AI 漏洞的应对方法。 在一份详细的分析报告中,Tenable 的 Ben Smith 演示了如何有效地重新利用类似于 Prompt 注入的技术来审计、监控,甚至为在日益流行的模型上下文协议 (MCP) 中运行的大型语言模型 (LLM) 工具调用创建防火墙。
模型上下文协议 (MCP) 是 Anthropic 开发的一项新颖标准,它促进了 AI 聊天机器人与外部工具的集成,使其能够自主执行任务。 然而,这种便利性也带来了新的安全挑战。 攻击者可以插入隐藏的指令(称为 Prompt 注入),或者引入恶意工具来操纵 AI 违反其自身的规则。 Tenable 的研究全面检查了这些风险,并提出了一种独特的解决方案:利用攻击中使用的相同技术来创建强大的防御措施,以监控、检查和控制 AI 尝试使用的每个工具。
理解 MCP 安全性的重要性
随着企业越来越多地将 LLM 与关键业务工具集成,首席信息安全官 (CISO)、AI 工程师和安全研究人员充分了解 MCP 带来的风险和防御机会至关重要。
Tenable 的高级研究工程师 Ben Smith 指出:“MCP 是一项快速发展且不成熟的技术,它正在重塑我们与 AI 的交互方式。 MCP 工具易于开发且数量充足,但它们并未体现安全设计原则,应谨慎处理。 因此,虽然这些新技术对于构建强大的工具很有用,但这些相同的方法也可以用于邪恶的目的。 不要掉以轻心;相反,将 MCP 服务器视为攻击面的延伸。”
研究的主要亮点
跨模型行为各异:
- Claude Sonnet 3.7 和 Gemini 2.5 Pro Experimental 始终如一地调用记录器并暴露系统提示的部分内容。
- GPT-4o 也插入了记录器,但在每次运行中产生不同的(有时是幻觉的)参数值。
安全性提升: 攻击者使用的相同机制可以被防御者用来审计工具链、检测恶意或未知工具,并在 MCP 主机内构建护栏。
显式用户批准: 在任何工具执行之前,MCP 已经需要显式用户批准。 这项研究强调需要严格的最小权限默认设置以及彻底的个体工具审查和测试。
深入了解模型上下文协议 (MCP)
模型上下文协议 (MCP) 代表了 AI 模型与外部世界交互方式的范式转变。 与在隔离环境中运行的传统 AI 系统不同,MCP 允许 AI 模型与外部工具和服务无缝集成,使其能够执行各种各样的任务,从访问数据库和发送电子邮件到控制物理设备。 这种集成为 AI 应用程序开辟了新的可能性,但也带来了新的安全风险,必须认真对待。
理解 MCP 的架构
MCP 的核心包含几个关键组件,它们协同工作以促进 AI 模型和外部工具之间的通信。 这些组件包括:
- AI 模型: 这是驱动系统的核心智能。 它可以是像 GPT-4 这样的大型语言模型 (LLM),也可以是为特定任务设计的专用 AI 模型。
- MCP 服务器: 它充当 AI 模型和外部工具之间的中介。 它接收来自 AI 模型的请求,验证它们,并将它们转发到适当的工具。
- 外部工具: 这些是 AI 模型与之交互的服务和应用程序。 它们可以包括数据库、API、Web 服务,甚至物理设备。
- 用户界面: 这提供了一种用户与 AI 系统交互并控制其行为的方式。 它还可以提供一种用户批准或拒绝工具请求的方式。
MCP 的优势
模型上下文协议与传统 AI 系统相比具有多个显着优势:
- 增加的功能: 通过与外部工具集成,AI 模型可以执行比它们自身能够执行的任务更广泛的范围。
- 提高效率: MCP 可以自动执行原本需要人工干预的任务,从而节省时间和资源。
- 增强的灵活性: MCP 允许 AI 模型适应不断变化的环境并实时响应新信息。
- 更大的可扩展性: MCP 可以轻松扩展以适应不断增长的用户和工具数量。
MCP 中新兴的安全风险
尽管 MCP 具有优势,但它也引入了几个必须认真对待的安全风险。 这些风险源于 MCP 允许 AI 模型与外部世界交互的事实,这为攻击者利用开辟了新的途径。
Prompt 注入攻击
Prompt 注入攻击是对 MCP 系统的一个特别令人担忧的威胁。 在 Prompt 注入攻击中,攻击者精心设计恶意输入,以操纵 AI 模型执行非预期的操作。 这可以通过将恶意命令或指令注入 AI 模型的输入来实现,然后模型将其解释为合法命令。
例如,攻击者可以注入一个命令,告诉 AI 模型删除数据库中的所有数据或将敏感信息发送给未经授权的方。 成功的 Prompt 注入攻击的潜在后果可能很严重,包括数据泄露、财务损失和声誉损害。
恶意工具集成
另一个重大风险是将恶意工具集成到 MCP 生态系统中。 攻击者可以创建一个看起来合法的工具,但实际上包含恶意代码。 当 AI 模型与此工具交互时,可能会执行恶意代码,从而可能危及整个系统。
例如,攻击者可以创建一个窃取用户凭据或在系统上安装恶意软件的工具。 在将所有工具集成到 MCP 生态系统中之前,仔细审查所有工具以防止引入恶意代码至关重要。
权限提升
权限提升是 MCP 系统中的另一个潜在安全风险。 如果攻击者可以访问具有有限权限的帐户,他们可能能够利用系统中的漏洞来获得更高级别的权限。 这可能允许攻击者访问敏感数据、修改系统配置,甚至控制整个系统。
数据污染
数据污染涉及将恶意数据注入用于构建 AI 模型的训练数据中。 这会破坏模型的行为,导致其做出不正确的预测或采取非预期的操作。 在 MCP 的上下文中,数据污染可用于操纵 AI 模型与恶意工具交互或执行其他有害操作。
缺乏可见性和控制
传统的安全工具通常无法检测和防止针对 MCP 系统的攻击。 这是因为 MCP 流量通常被加密,并且很难与合法流量区分开来。 因此,监控 AI 模型活动和识别恶意行为可能具有挑战性。
反转局面:使用 Prompt 注入进行防御
Tenable 的研究表明,Prompt 注入攻击中使用的相同技术可以被重新用于为 MCP 系统创建强大的防御措施。 通过精心设计的 Prompt,安全团队可以监控 AI 模型活动、检测恶意工具并构建护栏以防止攻击。
审计工具链
Prompt 注入的关键防御应用之一是审计工具链。 通过将特定的 Prompt 注入到 AI 模型的输入中,安全团队可以跟踪 AI 模型正在使用的工具以及它如何与它们交互。 此信息可用于识别可疑活动并确保 AI 模型仅使用授权工具。
检测恶意或未知工具
Prompt 注入还可用于检测恶意或未知工具。 通过注入触发特定行为的 Prompt,安全团队可以识别行为可疑或未经授权使用的工具。 这有助于防止 AI 模型与恶意工具交互并保护系统免受攻击。
在 MCP 主机内构建护栏
也许 Prompt 注入最强大的防御应用是在 MCP 主机内构建护栏。 通过注入执行特定安全策略的 Prompt,安全团队可以防止 AI 模型执行未经授权的操作或访问敏感数据。 这有助于为 AI 模型执行创建安全环境并保护系统免受攻击。
显式用户批准的重要性
该研究强调了在 MCP 环境中执行任何工具之前,显式用户批准的至关重要性。 MCP 已经包含了此要求,但这些发现强化了对严格的最小权限默认设置以及彻底的个体工具审查和测试的必要性。 这种方法确保用户保留对 AI 系统的控制权,并可以防止其执行非预期的操作。
最小权限默认设置
最小权限原则规定,用户应仅被授予执行其工作职能所需的最低级别的访问权限。 在 MCP 的上下文中,这意味着 AI 模型应仅被授予访问它们绝对需要执行其任务的工具和数据。 这降低了成功攻击的潜在影响,并限制了攻击者提升权限的能力。
彻底的工具审查和测试
在将任何工具集成到 MCP 生态系统中之前,彻底审查和测试它以确保它是安全的并且不包含任何恶意代码至关重要。 这应涉及自动化和手动测试技术的组合,包括代码分析、渗透测试和漏洞扫描。
影响和建议
Tenable 的研究对正在使用或计划使用 MCP 的组织具有重大影响。 这些发现强调了理解与 MCP 相关的安全风险以及实施适当的安全措施来减轻这些风险的重要性。
主要建议
- 实施强大的输入验证: 应仔细验证对 AI 模型的所有输入,以防止 Prompt 注入攻击。 这应包括过滤掉恶意命令和指令以及限制输入的长度和复杂性。
- 执行严格的访问控制: 应严格控制对敏感数据和工具的访问,以防止未经授权的访问。 这应包括使用强大的身份验证机制并实施最小权限原则。
- 监控 AI 模型活动: 应密切监控 AI 模型活动以检测可疑行为。 这应包括记录所有工具请求和响应并分析数据中的异常情况。
- 实施强大的事件响应计划: 组织应制定强大的事件响应计划来处理涉及 MCP 系统的安全事件。 这应包括识别、遏制和从攻击中恢复的程序。
- 随时了解情况: MCP 领域在不断发展,因此随时了解最新的安全风险和最佳实践非常重要。 这可以通过订阅安全邮件列表、参加安全会议以及在社交媒体上关注安全专家来完成。
通过遵循这些建议,组织可以显着降低针对其 MCP 系统的攻击风险并保护其敏感数据。 AI 的未来取决于我们构建安全和值得信赖的系统的能力,这需要一种积极主动和警惕的安全方法。