
智能体安全审计清单
引言 AI Agent在生产环境中的部署越来越广泛,但其安全审计工作往往缺乏系统化框架。传统的软件安全审计无法覆盖Agent特有的风险面:Prompt注入、工具滥用、记忆泄露、目标偏移等问题需要专门的审计方法。本文提供一份覆盖Agent全生命周期的安全审计清单,帮助开发和运维团队系统性识别和修复安全隐患。 一、架构设计审计 1.1 权限模型 Agent是否遵循最小权限原则,仅被授予完成任务所需的最低权限? 工具访问是否通过白名单机制控制,而非黑名单? 敏感工具(文件操作、网络请求、代码执行)是否设置了独立授权通道? Agent的权限是否有有效期限制,避免长期过期权限堆积? 多Agent协作场景中,各Agent的权限边界是否清晰界定? 1.2 隔离机制 Agent运行环境是否与宿主系统隔离(容器化或沙箱)? Agent的记忆存储是否加密,且与执行环境分离? 不同用户的Agent会话是否相互隔离,避免跨会话信息泄露? Agent访问的外部服务是否通过API网关统一管控? 1.3 工具安全 每个工具是否有明确的输入输出类型定义和验证逻辑? 工具调用的参数是否经过严格校验,防止注入攻击? 高危工具是否有操作确认机制(人在回路)? 工具的返回值是否做了脱敏处理,避免泄露敏感信息? 是否对工具调用频率设置了限制,防止资源滥用? 二、输入安全审计 2.1 Prompt注入防护 用户输入是否与系统指令明确分离(使用分隔符或结构化格式)? 系统Prompt中是否包含抗注入指令? 是否部署了Prompt注入检测模块,能识别常见注入模式? 对外部数据源(网页、文档)的内容是否做了指令清洗? 多轮对话中是否对历史消息进行安全检查,防止累积注入? 2.2 输入验证 用户输入长度是否有上限,防止上下文窗口溢出攻击? 输入内容是否经过内容安全过滤(有害内容、违法内容)? 特殊字符和编码是否做了规范化处理? 是否对输入意图进行了分类,拒绝超出Agent能力范围的请求? 三、执行安全审计 3.1 动作验证 Agent的每个执行动作是否都有明确的前置条件检查? 不可逆操作(删除、发送、修改)是否需要二次确认? 批量操作是否有数量上限和预览机制? Agent是否能在执行中途被安全终止? 执行失败时的回滚机制是否完善? 3.2 资源控制 单次会话的工具调用次数是否有上限? Agent的运行时间是否有超时限制? 内存和存储使用是否有监控和告警? API调用配额是否合理设置,防止成本失控? 是否有机制检测和阻止Agent的资源耗尽行为? 3.3 规划安全 Agent的多步规划是否有安全审查环节? 规划中是否包含风险评估步骤? 当Agent遇到不确定情况时,是否有降级策略? Agent是否会主动暂停并请求人工介入? 四、数据安全审计 4.1 数据保护 Agent处理的数据是否按敏感度分级,并实施差异化保护? 敏感数据(PII、密钥、凭证)是否在传输和存储中加密? Agent的记忆库是否定期清理过期和敏感信息? 日志中是否避免了记录完整的敏感数据? 数据跨境传输是否合规? 4.2 记忆管理 Agent的长期记忆是否有访问控制? 记忆更新操作是否被审计和监控? 是否有机制检测记忆中的异常修改? 记忆是否有备份和恢复机制? 用户是否有权查看和删除Agent关于自己的记忆? 五、输出安全审计 5.1 输出过滤 Agent输出是否经过内容安全模型检查? 是否有敏感信息泄露检测(API密钥、内部地址、个人信息)? 输出格式是否经过验证,防止XSS等注入攻击? 代码生成类输出是否有安全扫描? 是否对输出的事实准确性进行了校验? 5.2 行为审计 Agent的完整行为日志是否被记录(输入、推理、工具调用、输出)? 日志是否支持时间线回放? 是否有异常行为检测和实时告警? 定期是否进行行为审计报告生成? 是否有红队对抗测试计划? 六、治理与合规审计 6.1 文档与流程 是否有完整的Agent行为规范文档? 安全事件响应流程是否建立并演练? Agent的变更(Prompt更新、工具增减、配置修改)是否经过安全评审? 是否有定期的安全评估计划? 6.2 合规性 Agent行为是否符合相关法律法规(数据保护法、算法管理规定等)? 是否进行了算法影响评估? 用户是否被充分告知Agent的能力和限制? 是否提供了用户反馈和申诉渠道? 结语 这份审计清单覆盖了Agent从设计到运营的各个环节,但安全审计不是一次性检查,而是持续过程。建议团队将其纳入CI/CD流水线,在每次Agent版本更新时执行自动化检查,同时定期进行人工深度审计。只有将安全审计常态化,才能在Agent能力快速迭代的同时保持安全基线不退化。 加入讨论 这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。 ...