Skip to content

ToLO Knowledge Base

这个网站用于整理子论文 1 的基础知识、概念框架、威胁模型、静态分析方法、公开案例和相关论文。

本站把 ToLO 作为程序信任边界问题来讲解。主线是:LLM 输出并不是可信内部数据;它可能被攻击者通过 prompt、RAG、工具响应或模型供应链影响;当框架把这些输出送入执行、查询、文件、网络、模板或反序列化 sink 时,就需要按照传统 untrusted input 处理。

站点内容面向两类读者:一类是想快速理解 ToLO 概念的研究读者,另一类是要把概念落到 CodeQL/Semgrep 规则、案例复盘和工程防御的实现读者。页面会保留英文技术标识符,但默认用中文解释。

先从哪里读

如果你不熟悉安全分析术语,先读 先修知识术语表。它们会解释 sourcesinksanitizer、LLM 编排框架、RAG、tool calling 这些基础词。

如果你已经知道 Web 安全或静态分析,可以从 Why ToLO Matters 开始。重点看 ToLO 为什么是”信任模型失效”,不是新的具体漏洞或新的 sink 类型。

学习路径

  1. 补前置知识:读 先修知识术语表,理解 LLM 编排框架和数据流分析基本词。
  2. 理解问题定位:读 Background,知道 ToLO 与 prompt injection、OWASP LLM05、传统 CWE 的关系。
  3. 看懂应用栈:读 LLM Framework Basics,理解模型输出如何变成程序动作。
  4. 学习分类和防御:读 ToLO Taxonomy,把七类 sink 子类和五类防御模式对应起来。
  5. 建立威胁模型:读 Threat Model,知道攻击者怎样影响 LLM 输出。
  6. 落到检测规则:读 Static AnalysisCodeQL and Semgrep
  7. 用案例巩固:读 Public Case Studies,把每个案例拆成 source、transform、sink、guard。

如果只读一遍,建议按章节顺序走;如果已经熟悉 LLM 应用安全,可以从 ToLO 与已有概念边界 开始,先确认 ToLO 与 OWASP LLM05、prompt injection、经典 CWE 的抽象层级差异。

一句话例子

假设一个应用让模型把自然语言转换成 SQL:

用户问题 -> LLM 输出 SQL -> 应用直接 cursor.execute(sql)

这里 LLM 输出 SQL 是 ToLO source,cursor.execute 是 sink。如果中间没有白名单、只读数据库账号、查询类型限制或其他匹配防护,这就是 ToLO 分析要抓住的路径。

内容地图

内容边界

本站只放公开教学内容和已披露案例,不放未披露漏洞、可直接复现攻击的 PoC、真实项目私有分析材料或未经核验的引用结论。

私有研究报告只作为术语和 framing 的校准来源,不会复制到网页。涉及 CVE、GHSA、论文会议和版本范围的页面,在未核验前必须标记 pending 或使用限定语。