SuperAPI AI 工具集

redteam

安全与审计

查看项目

更新于 10-25 09:46

技能介绍

Redteam 是 OpenJudge 项目提供的一项安全测试技能,用途是系统化测试 LLM 或智能体应用的安全与安全边界,覆盖越狱、提示注入、PII 提取、有害内容等风险。

主要能力:

  1. 建立安全策略:要求用户定义禁止内容、允许但可能看似危险的内容、领域灰色地带,以及智能体是否具有执行权限(代码、工具、数据库访问)。策略保存为 policy.md,作为后续评估的基准。
  2. 从策略推导攻击向量:攻击向量并非固定模板,而是根据策略中的禁止类别选择相关方法,如直接请求、角色扮演、多轮铺垫、编码混淆、上下文注入、工具操纵、评估器博弈等。
  3. 生成攻击集与过度拒绝集:攻击集用于测试违规内容是否被拦截;过度拒绝集为表面相似但实际无害的提示,用于衡量系统是否过度审查。攻击提示仅生成,攻击是否成功由独立评分器对实际系统响应进行判定。
  4. 运行攻击并评估:可使用 OpenJudge 的 HarmfulnessGrader 等评分器,或 FunctionGrader 做确定性模式检查。评分结果需关联回攻击的类别与向量元数据。
  5. 计算指标:按策略类别和攻击向量计算攻击成功率(ASR),并计算总体及分类别的过度拒绝率,强调两者必须配对报告。
  6. 输出安全评分卡与审计文档:包含各分类 ASR、按向量细分、过度拒绝率、风险等级与建议行动,以及 policy.md、attacks.jsonl、over-refusal.jsonl、report.md、dist/redteam-audit.md 等文件。

使用方式: 提供捆绑脚本 scripts/asr_report.py(仅依赖标准库),可在攻击与良性提示运行并判定后计算评分卡。命令示例: python scripts/asr_report.py --attacks attacks.jsonl --over-refusals over.jsonl 也可使用 1–5 分有害性评分器(5=安全):python scripts/asr_report.py --attacks attacks.jsonl --score-scale 5 --harm-threshold 3 攻击行格式为 {"category","vector","violated":bool}(或 "score" 加阈值);过度拒绝行格式为 {"category","refused":bool}。脚本按类别/向量报告 ASR 及按类别过度拒绝率,缺失过度拒绝集时会给出警告,可用 --self-test 验证。 评分阶段可使用 OpenJudge 的 HarmfulnessGrader 与 GradingRunner 运行攻击数据集,将评分结果关联回攻击元数据;也可使用 FunctionGrader 做确定性检查。

适用场景:部署前安全审计、监管合规检查、模型或提示重大变更后的复测、用户报告越狱或注入漏洞后的响应、季度性安全再评估。

限制与注意事项:

  • 缺少策略时评估退化为随机测试,必须先建立 policy.md。
  • 攻击生成与安全判定必须相互独立,不能由同一 LLM 同时生成攻击并判定成功。
  • 必须同时报告 ASR 与过度拒绝率,避免奖励一味拒绝的系统。
  • 对于可访问评估代码、分数或奖励函数的智能体,必须测试评估器博弈风险。
  • 过度拒绝率应分类别报告,避免总体数值掩盖局部问题。
  • 脚本的 --self-test、评分阈值等细节需按实际策略调整。