Prompts Don't Protect: Architectural Enforcement via MCP Proxy for LLM Tool Access Control
作者: Rohith Uppala
分类: cs.CR, cs.AI
发布日期: 2026-05-18
备注: 8 pages, 3 tables, 1 figure. Planning to submit to EMNLP 2026 Industry Track
💡 一句话要点
提出MCP代理架构,通过强制访问控制保障LLM工具使用的安全性
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 工具访问控制 自主代理 安全 架构强制 属性基访问控制 对抗性攻击
📋 核心要点
- 大型语言模型作为自主代理,面临未经授权工具调用的安全风险,仅依赖提示难以有效防御。
- 论文提出MCP代理架构,通过在工具发现和调用阶段强制执行基于属性的访问控制,实现安全保障。
- 实验表明,MCP代理能将未经授权调用率降至0%,显著优于基于提示的方法,且延迟增加可忽略不计。
📝 摘要(中文)
大型语言模型越来越多地作为自主代理运行,从大型注册表中选择和调用工具。我们发现了一个关键漏洞:当未经授权的工具在代理的上下文中可见时,模型在对抗性场景中会选择它们——即使明确指示不要这样做。我们提出了一种受控的MCP代理,它在两个点强制执行基于属性的访问控制(ABAC):工具发现,其中未经授权的工具从模型的上下文窗口中移除;以及工具调用,其中第二次检查阻止任何未经授权的调用。在三个模型(Qwen 2.5 7B、Llama 3.1 8B、Claude Haiku 3.5)和跨越四个攻击类别的150个对抗性任务中,我们的代理将未经授权的调用率(UIR)降低到0%,同时增加了不到50毫秒的中值延迟。基于提示的限制仅将UIR降低了11-18个百分点,留下了大量的残余风险。我们的结果表明,架构强制执行——而不是提示——对于已部署的代理系统中的可靠工具访问控制是必要的。
🔬 方法详解
问题定义:大型语言模型(LLM)作为自主代理时,能够访问和调用各种工具。然而,当LLM的上下文中存在未经授权的工具时,即使通过提示明确禁止,LLM仍然可能在对抗性攻击下选择并调用这些工具。现有的基于提示的方法无法有效防止此类攻击,存在安全隐患。
核心思路:论文的核心思路是通过架构强制执行访问控制,而非依赖提示。具体而言,引入一个中间代理(MCP Proxy),在工具发现和工具调用两个关键阶段进行干预,确保LLM只能访问和调用经过授权的工具。这种方法从根本上避免了LLM接触到未经授权的工具的可能性。
技术框架:MCP代理架构包含两个主要模块:1) 工具发现控制:在LLM获取可用工具列表时,MCP代理会根据预定义的访问控制策略,过滤掉未经授权的工具,确保LLM的上下文窗口中只包含授权工具。2) 工具调用控制:在LLM尝试调用工具时,MCP代理会再次检查该调用是否符合访问控制策略,如果调用未经授权的工具,则阻止该调用。整个流程对LLM是透明的,LLM无需感知代理的存在。
关键创新:该论文的关键创新在于提出了基于架构强制执行的访问控制方法,而非依赖于LLM自身的推理能力和提示。这种方法更加可靠,能够有效应对对抗性攻击,避免LLM调用未经授权的工具。与现有方法相比,该方法从根本上解决了LLM工具访问控制的安全问题。
关键设计:MCP代理使用基于属性的访问控制(ABAC)策略。ABAC策略基于工具和用户的属性来定义访问权限。例如,可以定义只有特定用户组才能访问某个特定的工具。MCP代理在工具发现和调用阶段,会根据ABAC策略来判断工具是否授权。具体的参数设置包括ABAC策略的定义、工具属性的设置、用户属性的设置等。论文中没有明确提及损失函数或网络结构,因为该方法主要关注架构设计而非模型训练。
🖼️ 关键图片
📊 实验亮点
实验结果表明,MCP代理能够将未经授权的调用率(UIR)降低到0%,显著优于基于提示的方法(UIR降低11-18个百分点)。同时,MCP代理引入的延迟非常低,中值延迟小于50毫秒,对系统性能影响可忽略不计。实验在Qwen 2.5 7B、Llama 3.1 8B、Claude Haiku 3.5三个模型和150个对抗性任务上进行了验证,证明了该方法的有效性和通用性。
🎯 应用场景
该研究成果可广泛应用于各种需要LLM自主代理进行工具调用的场景,例如智能客服、自动化运维、智能家居等。通过MCP代理,可以有效防止LLM调用未经授权的工具,保障系统的安全性,降低潜在风险。未来,该技术可以进一步扩展到更复杂的访问控制场景,例如细粒度的权限管理、动态权限调整等。
📄 摘要(原文)
Large language models increasingly operate as autonomous agents that select and invoke tools from large registries. We identify a critical gap: when unauthorized tools are visible in an agent's context, models select them in adversarial scenarios -- even when explicitly instructed otherwise. We propose a governed MCP proxy that enforces attribute-based access control (ABAC) at two points: tool discovery, where unauthorized tools are removed from the model's context window, and tool invocation, where a second check blocks any unauthorized call. Across three models (Qwen 2.5 7B, Llama 3.1 8B, Claude Haiku 3.5) and 150 adversarial tasks spanning four attack categories, our proxy reduces unauthorized invocation rate (UIR) to 0% while adding under 50ms median latency. Prompt-based restrictions reduce UIR by only 11--18 percentage points, leaving substantial residual risk. Our results show that architectural enforcement -- not prompting -- is necessary for reliable tool access control in deployed agentic systems.