Agent Sandboxing
了解智能体沙箱如何隔离 AI 智能体、限制其对文件和网络的访问,并降低提示注入、工具滥用和数据外泄带来的风险。
智能体沙箱是指在受限的执行环境中运行AI 智能体、其工具或生成的代码。沙箱会限制智能体可访问的文件、网络、凭据、进程和计算资源。如果智能体做出不安全的决策或处理恶意指令,这些边界就能降低其对生产系统和敏感数据造成的潜在影响。
智能体沙箱的工作原理#
智能体通常通过连接模型、工具、记忆、API 和执行循环的智能体运行框架来运行。沙箱会在这些能力周围增加一层强制执行机制。运行环境不会相信模型会遵循“不要访问私人文件”之类的提示,而是从技术层面阻止此类访问。
一个实用的沙箱可以包含:
- 任务完成后销毁的临时容器或虚拟机。
- 只读的基础文件系统,以及一个小型可写工作区。
- 仅允许访问已批准域名或内部服务的出站网络规则。
- 限定当前用户和任务范围的短期凭据。
- CPU、内存、存储、进程和执行时间限制。
- 涵盖工具调用、文件变更、网络请求和策略违规的审计日志。
Docker 默认 seccomp 配置文件等 Linux 控制措施可以限制系统调用,而 Docker 资源限制可以限制资源消耗。在集群规模下,Kubernetes NetworkPolicies可以控制智能体工作负载可以与哪些服务通信。
智能体沙箱为何重要#
智能体可以通过函数调用和工具使用执行操作,因此其失误可能比聊天机器人给出错误回答造成更严重的后果。编码智能体可能会执行 shell 命令,而运维智能体可能会更新记录或触发部署。
OWASP AI 智能体安全指南指出了工具滥用、权限提升、记忆投毒和数据泄露等风险。沙箱有助于遏制这些风险,尤其是在智能体遇到隐藏于网页、文档、图像元数据或工具响应中的提示注入时。OWASP 提示注入防范指南建议采用多层防御,因为仅靠输入过滤无法可靠地识别所有恶意指令。
沙箱也能应对权限过度的问题。拥有不必要的工具、广泛凭据和不受限制自主权的智能体,可能会在模型出错或输入遭到操纵后执行破坏性操作。OWASP 关于权限过度的指南建议尽量减少工具功能、权限和自主权,而不是单靠模型行为来确保安全。
沙箱与相关控制措施的区别#
智能体沙箱可以补充其他安全机制,但不能取代它们:
- AI 安全护栏: 安全护栏会检查输入、输出或拟执行的操作。即使安全护栏漏掉威胁,沙箱仍会强制执行环境限制。
- 访问控制: 授权机制决定某项操作是否获准。即使授权逻辑遭到绕过,沙箱也会限制可用资源。AWS 身份与访问管理最佳实践强调使用临时凭据和最小权限。
- 容器化: 容器会打包并隔离进程,但容器的默认设置未必能构成强安全边界。Ultralytics Docker 快速入门支持构建一致且隔离的计算机视觉环境,而生产环境中的沙箱还需要额外限制文件系统、能力、网络和资源。
- 测试环境: 开发用“沙箱”是系统的非生产副本。智能体沙箱专门用于限制执行,并可应用于开发和生产环境。
Ultralytics 智能体技能为编码智能体提供可复用的指令,但技能本身不会建立隔离边界。仍应审核技能的脚本和依赖项,并在适当的权限下执行。
实际应用#
企业级编码智能体: 编码智能体可以在临时工作区中检查代码仓库、修改文件并运行测试。沙箱只挂载指定的代码仓库,屏蔽生产凭据,将出站流量限制为仅访问已批准的软件包注册表,并要求在合并或部署前获得人工批准。因此,即使依赖项遭到入侵或指令遭到注入,也无法随意扫描内部存储或传输源代码。
支持视觉的运维智能体: 仓库智能体可以使用 Ultralytics YOLO26分析摄像头图像、识别被堵塞的通道并创建维护工单。它的沙箱可以提供对输入图像的只读访问,并且只允许通过网络访问推理和工单 API。它不应获得不受限制的摄像头管理权限、员工记录或部署凭据。
感知步骤可以使用文档中介绍的 Ultralytics YOLO 预测工作流:
from pathlib import Path
from ultralytics import YOLO
source = "https://ultralytics.com/images/bus.jpg"
output_path = Path("sandbox_result.jpg")
# 在受限工作区内运行视觉推理
model = YOLO("yolo26n.pt")
results = model(source)
result = results[0]
result.save(filename=str(output_path))这段 Python 代码执行常规推理;外围运行时通过限制文件、网络、凭据和资源来提供沙箱。
实用设计指南#
从默认不提供任何访问权限开始,再明确允许每项任务所需的访问。使用临时工作区、短期凭据、只读挂载、出站网络允许列表、超时设置和资源配额。不可逆操作必须经过审批,并将授权检查放在模型之外。
记录每次操作尝试,包括被阻止的操作,同时避免在日志中泄露机密。团队可以使用 Ultralytics Platform 部署监控,在智能体工作流中查看视觉端点请求、延迟、错误和运行状况。最后,应针对恶意文件、间接提示、重复工具调用和资源耗尽尝试,对完整系统进行测试。NIST AI 风险管理框架实用指南为治理、衡量和持续管理这些风险提供了更全面的框架。









