Skip to content

工具与开源项目

本页收录能辅助理解、评测或对照 ToLO 的工具与开源项目。它们不等同于 ToLOScanner,也不一定直接检测 ToLO;价值在于提供触发器、基准、guardrail 实现或 LLM 安全测试环境

阅读工具条目时建议关注三点:

  1. 覆盖的是上游通道、sink 后果还是防御机制?
  2. 适合动态测试还是静态分析?
  3. 它的输出能否映射到 S_LLMS_DANGERC_SAFE 三元组?

工具类型怎么分

类型它做什么ToLO 视角的价值
攻击/评测工具帮助构造 prompt injection、RAG、agent 场景证明 source 端可能被影响
防御/guardrail 工具帮助实现 schema、策略、过滤或运行时控制实现 C_SAFE 五类的具体形态
基准/环境提供可重复任务,用来比较 agent 防御或检测效果对照实验数据
静态分析工具查代码里的 source-to-sink 路径直接对应 ToLOScanner

ToLOScanner 属于最后一类;AgentDojo 更接近基准;PyRIT 和 garak 更偏攻击/评测;NeMo Guardrails 更偏防御

条目

AgentDojo — ETH Zürich SPY Lab

  • 仓库:https://github.com/ethz-spylab/agentdojo
  • 主页:https://agentdojo.spylab.ai/
  • 一句中文摘要:覆盖工具调用、RAG、IPI 的 agent 安全基准 —— 97 任务 + 629 安全测试,在四个套件(workspace/slack/travel/banking)上跑。
  • 对应章节:Trust Boundaries + Papers § AgentDojo
  • 许可证 / 状态:MIT, active, last pushed 2026-03-30
  • 类型:基准 + 评测环境
  • 什么时候用:
    • 学完 04 Threat Model 想看 C2/C4 真实操作时
    • 想验证 C_SAFE^{allowlist} / C_SAFE^{capability} 配置是否有效时
  • ToLO 视角:它的 trace 输出(tool_call.name / tool_call.args / observation)正好覆盖 S_LLM^{framework} 的字段路径。

PyRIT — Python Risk Identification Tool for generative AI — Microsoft AI Red Team

  • 仓库:https://github.com/Azure/PyRIT
  • 一句中文摘要:生成式 AI 红队编排工具,可组合 ToLO 触发器(prompt mutations / jailbreak templates / multi-turn attacks)。
  • 对应章节:Trust Boundaries + Attacker Channels §C1/C2
  • 许可证 / 状态:MIT, archived, last pushed 2026-03-25
  • 类型:攻击/评测工具
  • 什么时候用:想生成不同 C1 攻击 payload,看不同模型的反应时。
  • ToLO 视角:只验证 source 端能否被影响,不验证下游 sink 是否真的被触发。要把 PyRIT 用作 ToLO 测试,需要把它产生的 LLM 输出串到真实工具调用环境(例如 AgentDojo 或自定义 harness)。

garak — LLM vulnerability scanner — NVIDIA(originally Leon Derczynski)

  • 仓库:https://github.com/NVIDIA/garak
  • 一句中文摘要:LLM 安全扫描器,适合对照七类 sink 覆盖 — 它本身做 prompt-level 测试,但 probe 集合可以扩到 ToLO 各子类。
  • 对应章节:Query Design Notes
  • 许可证 / 状态:Apache-2.0, active, last pushed 2026-05-15
  • 类型:攻击/评测工具(自动化扫描)
  • 什么时候用:CI / regression 中持续测试某模型 / API 对常见攻击模式的反应。
  • ToLO 视角:类似 PyRIT,主要测 source 端。“模型说脏话” 这种 probe 不是 ToLO;但 garak 的 probe 集合可以扩展到”是否输出 dangerous tool call”,这就接近 ToLO 评测了。

NeMo Guardrails — NVIDIA

  • 仓库:https://github.com/NVIDIA/NeMo-Guardrails
  • 一句中文摘要:Guardrails 框架,演示 schema / allowlist 防护 —— Colang DSL 描述对话流程和约束。
  • 对应章节:Defensive Patterns
  • 许可证 / 状态:NOASSERTION, active, last pushed 2026-05-17
  • 类型:防御/guardrail
  • 什么时候用:想看 production-ready 的 C_SAFE^{schema}C_SAFE^{allowlist} 实现长什么样时。
  • ToLO 视角:主要在 prompt 层做 guardrail,不直接保护 sink 端。如果 LLM 输出被 NeMo Guardrails 过滤后仍流入 eval / SQL / shell,ToLO 风险并未消失

(可选)CodeQL — GitHub

(可选)Semgrep — r2c / Semgrep Inc.

  • 仓库:https://github.com/semgrep/semgrep
  • 一句中文摘要:基于语法模式的开源 SAST,ToLO 初筛的工具。
  • 对应章节:CodeQL and Semgrep
  • 类型:静态分析
  • 什么时候用:想快速写点状规则查危险 API 用法,不需要跨函数 taint 时。

(可选)IsolateGPT / SecGPT — UW + WashU

(可选)CaMeL — Google Research

使用边界

这些工具可以帮助构造评测、发现 prompt injection 通道或验证 guardrail 思路,但不能直接替代 ToLO 的 source-to-sink 静态分析。

工具能做的不能做的
证明模型输出可被影响(PyRIT / garak)证明该输出进入危险 sink
跑 agent 看是否被 hijack(AgentDojo)跑真实数据库 / shell / filesystem 看后果
实现 prompt 层过滤(NeMo Guardrails)保证过滤与 sink 类型匹配
查代码危险 API(Semgrep / CodeQL 默认规则)自动识别 LLM 输出是 source

ToLO 的完整链路检查必须人 + 工具配合:工具帮你收窄候选,你要确认 source 是 LLM 输出 + sanitizer 是否类型匹配

读完检查

看到一个新工具时,先问:

  • 它让攻击者更容易影响 source,还是限制 sink 前动作?
  • 它是运行时工具,还是代码扫描工具?
  • 它输出的结果能不能映射到 S_LLM → S_DANGER → C_SAFE?
  • 它的许可证 + 维护状态是否适合生产?

下一步阅读