Skip to content

外部学习资源总览

本节收录消化过、可推荐的外部学习材料。每条资源都附一句中文摘要 + 对应章节 + “什么时候读它” 的引导。

外部资源页用于补充论文和 CVE 之间的空白。博客、工具和演讲常比学术论文更早展示真实 LLM 应用风险,但质量差异更大,因此本站只收录能映射到具体章节的材料

这一章给你什么

你将能做到用到的内容
知道一篇 ToLO 相关博客该和本站哪一章一起读Blog Posts
知道哪些工具能动手验证 ToLO 假设Tools and Repos
评估一篇外部材料的事实可靠性§“分诊 Rubric” + Reading List Verification
用阅读层级图安排学习顺序§“阅读层级图”

你需要先知道什么

外部资源不是权威结论的替代品

  • 博客适合快速理解问题
  • 工具适合动手实验
  • 课程适合系统学习

但涉及 CVE、版本、修复状态时,仍要回到 NVD、GHSA、vendor advisory、项目 release note 或论文原文核验

先看状态

资源条目有两类状态。status 是内容工作流状态,表示条目是否已经写入页面;verification 是事实核验状态,表示标题、作者、年份、链接、版本、会议或安全结论是否已被可靠来源确认。

verified 表示已经核对权威来源;pending 表示可作为阅读线索,但事实仍需回源确认;unverified 表示暂时不能作为事实进入正文。当前 data/resources.yml 中的外部资源多为 verification: pending,读者应把它们当作候选阅读材料。

分诊 Rubric

本站用 S_LLM 表示 LLM 可影响来源,用 S_DANGER 表示危险 sink(危险操作点),用 C_SAFE 表示有效 sanitizer(清洗或约束)。C1-C5 是攻击者影响来源的五类通道:直接 prompt、间接 prompt、RAG 投毒、工具响应控制和模型供应链污染。

评估一条外部资源时,先问五个问题:

  • 来源是谁:作者、机构、项目仓库或标准组织是否清楚?是否是原始来源而不是二次转载?
  • 它证明什么:它是在给概念解释、工具说明、案例线索、标准条目,还是在声称某个版本存在漏洞?
  • 映射到哪里:它能否对应到 S_LLM source、S_DANGER sink、C_SAFE sanitizer、C1-C5 攻击者通道,或 ToLO-{Deser,Exec,Shell,SQL,Path,SSRF,Template} 子类?
  • 风险边界是否清楚:是否避免给出可直接复现真实服务攻击的步骤?是否只讨论公开事实?
  • 时效性如何:工具维护状态、仓库许可证、漏洞修复版本、会议归属都可能变化,引用前必须回到官方或上游来源。

阅读层级图

建议把外部资源按可信度和粒度分三层使用:

┌─────────────────────────────────────────────────┐
│ Layer 1: 学术论文 + 官方 advisory + 官方文档 │
│ 优先级最高,事实级别引用 │
│ ── 详见 Papers + Reading List │
├─────────────────────────────────────────────────┤
│ Layer 2: 独立研究员博客 + 厂商技术报告 + RFC │
│ 质量较高,适合学习视角 │
│ ── Simon Willison / Johann Rehberger / OWASP │
├─────────────────────────────────────────────────┤
│ Layer 3: 开源工具 + 基准 + guardrail 实现 │
│ 动手实践,可重复验证 │
│ ── AgentDojo / PyRIT / garak / NeMo Guardrails│
└─────────────────────────────────────────────────┘

已整理资源

  • 博客与长文:Simon Willison、Johann Rehberger 与 OWASP 的 prompt injection / output handling 文章——共 9 条。
  • 工具与开源项目:AgentDojo、PyRIT、garak、NeMo Guardrails 等。
  • 课程与演讲:目前保留模板,等待可核验条目。没有足够来源时宁可留空,不用低质量视频填充导航

三类资源怎么用

  • 课程与演讲 适合建立知识地图。优先看讲者、机构、年份和主题范围是否可核验。
  • 博客与长文 适合理解 prompt injection(提示注入)、agent 风险和输出处理直觉。不要只凭博客确认 CVE、版本或修复状态。
  • 工具与开源项目 适合做实验或对照。先判断它是 red-team(红队评测)、guardrail(运行时防护)、benchmark(基准环境),还是 SAST(Static Application Security Testing,静态应用安全测试)。

收录标准

  • 内容公开且可访问
  • 与 LLM 应用安全、agent 安全、prompt injection、静态分析或 ToLO 子主题相关
  • 至少能映射到本站某一章的知识点
  • 不收录:纯营销内容、付费墙后内容(除非有公开摘要)、未署名转载。

每条资源都要说明 “对应章节”。如果无法对应到 Background、Threat Model、Taxonomy、Static Analysis、Case Studies 或 Papers 中任一章节,就说明它暂时不是本站需要的资源

新增资源检查

写入页面前,至少完成这些检查:

  • 标题、作者或机构、年份、URL 可从原始页面确认。
  • 摘要只描述资源用途,不把作者观点写成本站结论。
  • chapter_link 指向本站已有章节,例如 Threat BoundariesCore ToLO Patterns
  • 涉及 CVE、GHSA、NVD、论文 venue、工具许可证或维护状态时,保持 pending,除非已经回到权威来源核验。
  • 如果条目无法映射到 ToLO 学习路径,先留在工作队列,不写进页面。

维护方式

外部链接清单维护在 data/resources.yml,状态字段标记是否已经写入对应页面。

写入页面前应重新打开链接核验:

  • 标题、作者、年份和可访问性
  • 工具类资源还应记录仓库状态和许可证
  • 博客类资源应避免把作者观点写成学术事实
  • OWASP 等标准类资源应区分规范原文和本站解释

如何使用这些资源

学习顺序建议:

  1. 先读博客与长文,建立直觉(Layer 2)。
  2. 再读论文页,找到学术定义和实验边界(Layer 1)。
  3. 最后看工具与开源项目,理解如何评测或实现防御(Layer 3)。

读资源时不要问”它是不是 ToLO”,而要问”它帮助 ToLO 哪一段”:

  • 输入通道(C1-C5)
  • 模型边界
  • 解析边界
  • 工具边界
  • 执行边界(sink)
  • 检测方法
  • 防御模式(C_SAFE 五类)

一个使用示例

假设你刚读完 先修知识01 Background,想动手做点东西:

  1. 读 Simon Willison 的 prompt injection 系列(2 篇):建立 C1 直觉。30 分钟。
  2. 读 Johann Rehberger 的 indirect injection / MCP 系列:看 C2/C4 真实演示。1 小时。
  3. 跑一遍 AgentDojo 的快速 demo(pip install agentdojo && agentdojo demo):动手看 agent 被攻破。30 分钟。
  4. Papers 读 Greshake 2023:把直觉对到学术定义。

整个过程 2-3 小时,把 C1/C2/C4 三条通道从概念变成可演示的事实

与其他章节的关系

外部资源不替代 论文消化总览Public CVE Case Studies 或核验状态规则。更好的阅读方式是:先用资源建立直觉,再回到论文、官方 advisory、项目仓库或标准页面确认事实。

读完检查

新增资源前,确认它能回答:

  • 这条资源对应本站哪一章?
  • 它是观点、工具、标准、论文还是案例?
  • 它的事实来源是否可靠?
  • 它能让初学者额外学到什么 —— 而不只是和站内 / 论文重复?

下一步阅读