ToLO Knowledge Base
这个网站用于整理子论文 1 的基础知识、概念框架、威胁模型、静态分析方法、公开案例和相关论文。
本站把 ToLO 作为程序信任边界问题来讲解。主线是:LLM 输出并不是可信内部数据;它可能被攻击者通过 prompt、RAG、工具响应或模型供应链影响;当框架把这些输出送入执行、查询、文件、网络、模板或反序列化 sink 时,就需要按照传统 untrusted input 处理。
站点内容面向两类读者:一类是想快速理解 ToLO 概念的研究读者,另一类是要把概念落到 CodeQL/Semgrep 规则、案例复盘和工程防御的实现读者。页面会保留英文技术标识符,但默认用中文解释。
先从哪里读
如果你不熟悉安全分析术语,先读 先修知识 和 术语表。它们会解释 source、sink、sanitizer、LLM 编排框架、RAG、tool calling 这些基础词。
如果你已经知道 Web 安全或静态分析,可以从 Why ToLO Matters 开始。重点看 ToLO 为什么是”信任模型失效”,不是新的具体漏洞或新的 sink 类型。
学习路径
- 补前置知识:读 先修知识 和 术语表,理解 LLM 编排框架和数据流分析基本词。
- 理解问题定位:读 Background,知道 ToLO 与 prompt injection、OWASP LLM05、传统 CWE 的关系。
- 看懂应用栈:读 LLM Framework Basics,理解模型输出如何变成程序动作。
- 学习分类和防御:读 ToLO Taxonomy,把七类 sink 子类和五类防御模式对应起来。
- 建立威胁模型:读 Threat Model,知道攻击者怎样影响 LLM 输出。
- 落到检测规则:读 Static Analysis 与 CodeQL and Semgrep。
- 用案例巩固:读 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 分析要抓住的路径。
内容地图
- 先修知识:补齐安全和 LLM 框架基础词。
- 术语表:快速查
source、sink、sanitizer、RAG、capability 等术语。 - Background:说明 ToLO 为什么值得单独命名。
- LLM Framework Basics:解释 LLM 输出如何被包装、解析和执行。
- ToLO Taxonomy:七个 sink 子类与防御模式。
- Threat Model:五类攻击者通道与信任边界。
- Static Analysis:source、sink、sanitizer 与传播规则。
- Public Case Studies:公开 CVE/GHSA 案例复盘。
- CodeQL and Semgrep:规则设计与工具分工。
- Papers:论文消化页与 ToLO 关联。
- External Resources:博客、工具、基准与学习材料。
内容边界
本站只放公开教学内容和已披露案例,不放未披露漏洞、可直接复现攻击的 PoC、真实项目私有分析材料或未经核验的引用结论。
私有研究报告只作为术语和 framing 的校准来源,不会复制到网页。涉及 CVE、GHSA、论文会议和版本范围的页面,在未核验前必须标记 pending 或使用限定语。