用途
AI Agent Security 用于保护智能体 AI 系统免受对抗性输入、不安全的工具执行、数据泄露和权限滥用,通过分层安全控制实现纵深防御。
适用场景
- 构建会调用工具、API 或 Shell 命令的 AI 智能体
- 部署可访问生产数据库、云账号或内部服务的智能体
- 加固多租户智能体平台,防止跨租户数据泄露
- 为自主编码智能体或 SRE 机器人添加护栏
- 为高风险智能体操作设计审批工作流
- 对智能体系统开展红队演练
- 响应涉及被入侵或行为异常智能体的事件
前置条件
- Python 3.10+(用于护栏代码示例)
- Docker 或 Podman(用于沙箱执行)
- OpenTelemetry collector(用于审计日志)
- 熟悉所用智能体框架(LangChain、CrewAI、Autogen 或自研)
- 可访问策略引擎(OPA/Cedar)以设置权限边界
威胁模型:面向 AI 智能体的 STRIDE
智能体引入了独特的威胁面,需针对智能体组件应用 STRIDE:
- 仿冒(Spoofing):攻击者构造输入,伪装成可信内部工具响应。控制手段:签名工具响应、HMAC 校验。
- 篡改(Tampering):提示注入在链式推理中途修改智能体推理。控制手段:输入校验、提示加固。
- 抵赖(Repudiation):智能体执行破坏性操作却无审计轨迹。控制手段:不可变结构化日志。
- 信息泄露(Information Disclosure):智能体在响应中泄露 PII、密钥或内部架构。控制手段:输出过滤、内容分类器。
- 拒绝服务(Denial of Service):对抗性提示导致无限工具循环或 token 耗尽。控制手段:速率限制、token 预算、熔断器。
- 权限提升(Elevation of Privilege):智能体通过链式工具调用从只读升级为写入。控制手段:按工具 RBAC、最小权限范围。
关键威胁类别
- 提示注入:不可信内容(用户输入、网页抓取、文档内容)操纵智能体的系统提示或推理链,执行非预期操作。
- 工具滥用:智能体以设计者未预料的顺序或参数调用工具,实现超出预期范围的效果。
- 数据外泄:智能体将敏感数据(凭证、PII、内部 IP)编码进响应、工具调用或出站 HTTP 请求。
- 跨租户泄露:多租户部署中,一个租户会话的上下文通过共享内存、向量存储或缓存渗入另一个租户。
- 权限提升:智能体串联低权限工具调用以达成高权限结果(如读取配置 -> 提取凭证 -> 调用管理 API)。
输入校验
智能体的每个输入在到达模型或任何工具前都必须经过净化,包括用户消息、回传的工具输出以及检索到的文档。
技能提供了提示注入检测代码,定义 RiskLevel 枚举与 ValidationResult 数据类,通过 INJECTION_PATTERNS 正则列表匹配指令覆盖、角色劫持、系统提示注入、控制 token 注入、模板注入、代码执行尝试、网络命令注入、破坏性命令、路径遍历、密钥外泄尝试等模式。validate_agent_input 函数执行长度检查、空字节与控制字符移除、模式匹配,并在匹配到 3 个及以上可疑模式时判定为 CRITICAL。
内容分类中间件
使用轻量分类器作为中间件,在智能体处理任何输入前进行拦截。input_guard 装饰器在 CRITICAL 级别时记录安全事件并抛出 InputRejectedError;在 HIGH 级别时记录事件并标记以供审查,将请求路由到沙箱执行路径。
工具执行沙箱
绝不让智能体直接在宿主机上执行工具,每次工具调用都应在沙箱内隔离。技能提供 Docker 沙箱配置示例(docker-compose.agent-sandbox.yml),包含只读文件系统、no-new-privileges、seccomp 配置、丢弃全部 capabilities、tmpfs 限制、内存/CPU/PID 限制、内部网络、默认阻断外部 DNS 等设置。
还提供 gVisor 运行时配置,包括安装 runsc、配置 Docker daemon 使用 gVisor,以及以 runsc 运行时启动沙箱的命令。
工具白名单强制
技能定义 ToolPolicy 数据类与 TOOL_ALLOWLIST 字典,为 read_file、run_query、http_request、execute_code 等工具设置允许参数类型、每会话最大调用次数、是否需要审批、允许与阻断的正则模式。ToolGatekeeper 类在授权时检查工具是否在白名单、调用次数是否超限、参数类型是否正确、字符串参数是否匹配允许模式且不匹配阻断模式。
权限边界
在每一层(模型上下文、工具访问、基础设施凭证)执行最小权限。技能提供 OPA Rego 策略示例,定义 reader、writer、operator、admin 角色及其可用工具集合,并包含非工作时间拒绝、高风险工具始终需要人工审批等规则。还提供运行时查询 OPA 策略的 Python 代码,以及 Vault 策略示例,用于签发短时效(15 分钟,最长 1 小时)的智能体凭证。
输出过滤
智能体的每个响应在交付给用户或下游系统前都必须扫描。技能提供 PII 检测与脱敏代码,定义 PII_PATTERNS 字典,覆盖 SSN、信用卡、邮箱、美国电话、AWS 密钥、私钥、JWT、内部 IPv4、连接字符串等模式,并包含 scan_for_pii 函数(资料中该函数代码未完整给出)。
限制
资料未提供该技能的收费、价格、平台支持范围、实际效果评测或完整使用步骤等信息。部分代码示例(如 scan_for_pii 函数)在资料中未完整展示。