SuperAPI AI 工具集

llm-redteam

安全与审计

查看项目

更新于 10-18 04:37

技能介绍

LLM Red-Team 是一个专门针对 LLM 应用进行红队测试的技能。其核心原则是“反射不是利用”:模型复述载荷只是噪声,只有当模型真正执行了载荷(泄露系统提示词、输出金丝雀、调用工具、在下游渲染原始 HTML 等)时才构成缺陷。因此该技能要求先证明“动作发生”,再把攻击链到具体影响上。

主要能力围绕一套攻击语料库展开,扫描器位于 tools/llm_redteam.py(基于金丝雀的语料运行器,路由为 /llm-redteam)。每次运行会植入一个金丝雀标记(RT_PWNED_xxxx),当响应中出现金丝雀、真实泄露或工具调用时,相应类别才被判定为“命中”。语料类别包括:直接提示注入(指令覆盖、分隔符突破)、越狱(DAN/开发者模式角色逃逸)、系统提示词泄露(重复上文、关键词锚定、场景逃逸)、数据外泄(Markdown 图片信标、向攻击者主机发射金丝雀)、间接注入(将载荷伪装成检索文档或工具结果,对 RAG 应用价值最高)、护栏绕过(base64/拆分字符串指令走私)、多轮渐进升级(单次模拟逐步升级的越狱)、跨语言(用其他语言绕过仅英文过滤器)、编码混淆(leet 语/ROT13 包装指令)、隐形 Unicode 指令走私(U+2062/U+2064 承载隐藏指令,与 tools/hai_payload_builder.py 共用编码器)、过度代理(诱导不安全的工具调用或外泄,如通过“抓取 URL”发起 SSRF、发邮件、付款)以及不安全输出(诱导模型输出下游会渲染的原始 HTML/脚本,即 AI 引发的 XSS)。

使用方式上,技能提供一张路由表:对任意聊天/助手端点,运行 tools/llm_redteam.py --url <endpoint> --field <json-field> 执行完整语料库;对 OpenAI 风格 API,使用 --template '{"messages":[{"role":"user","content":"{{PAYLOAD}}"}]}' --response-path choices.0.message.content;若只想测试某一类别,用 --category jailbreak(可通过 --list-categories 查看)。对于上传/RAG/“总结这份文档”类功能,测试间接注入与 token 走私;对于带工具的智能体,测试过度代理类别并结合 skills/agentic-app-audit;确认盲外泄时,布置金丝雀主机并用 tools/oob_listener.py 关联回调。审计 MCP 服务器应改用 skills/mcp-server-audit,黑盒攻击已部署智能体应使用 skills/agentic-app-audit。

技能还给出了 OWASP ASI01–ASI10 的权威分类映射(覆盖提示注入/目标劫持、工具滥用、权限妥协、供应链、代码执行、记忆与上下文投毒、智能体通信、过度代理、不安全输出处理、敏感信息泄露),并规定单独命中 ASI 只算信息级,只有与 IDOR、外泄、RCE 或账户接管等链接且具备可工作 PoC 时才可定为赏金级别。

确认纪律方面,技能强调:只有响应中出现金丝雀、真实泄露或工具调用才计数,绝不能因“听起来配合了”就判定;盲外泄必须要求关联的带外回调,而不只是渲染出的信标标签;不安全输出导致的 XSS 必须用下游验证器(tools/verifiers/xss.py / tools/dom_xss_harness.py)确认在执行点触发,而不是在聊天回复中;并需逐字记录载荷与响应摘录,保证报告可复现。此外还提供快速排除清单(模型拒绝且无金丝雀、泄露内容只是通用助手样板、注入未读取或修改当前用户原本不可访问的数据、宿主应用已转义输出、客户端不加载远程图片等情形应判为信息级并放弃)。适用场景为授权范围内的 LLM 应用安全评估、漏洞赏金验证与 AI 功能上线前审计,使用前提是获得合法测试授权。