SuperAPI AI 工具集

ai-agent-security

安全与审计

查看项目

更新于 10-15 14:13

技能介绍

用途

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 函数)在资料中未完整展示。