课程大纲
模块1 — AI应用如何崩溃
实验:无——架构演练与讨论
构建者对攻击面的心理模型。
主题:
- 从开发者角度看待LLM、RAG和代理架构
- AI功能的请求/响应生命周期
- 提示流:系统、开发者、用户和工具消息
- 不受信任数据进入(和重新进入)模型的位置
- 开发者拥有与继承的信任边界
- 为什么AI攻击是语义的,而非语法的
- 将OWASP LLM Top 10映射到你编写的代码
关键洞察:不受信任的文本到达模型的每个位置——或模型输出到达你的代码——都是你拥有的边界。
模块2 — 构建者的提示注入
实验:实验01 — 01-提示注入
AI的“SQL注入时刻”——但你无法完全避免它。
主题:
- 直接与间接提示注入
- 文档、网页、工具输出中的隐藏指令
- 越狱和角色混淆
- 为什么指令/数据分离重要
- 防御性提示设计(分隔符、结构、最小权限)
- 为什么预防是部分的——设计以限制影响范围
动手操作:
- 攻击你自己的聊天机器人
- 绕过天真的过滤器
- 重新构建提示以缩小影响范围
模块3 — 将模型输出视为不受信任
实验:实验02 — 02-输出处理
开发者最低估的漏洞类别。
主题:
- 模型输出作为应用其他部分的不受信任输入
- 不安全的输出处理(LLM02):下游的XSS、SSRF、命令/SQL注入
- 切勿eval/exec/渲染原始模型输出
- 结构化输出和模式验证
- 输出编码和允许列表
- 在Web/UI上下文中安全渲染
动手操作:
- 发现并修复不安全的输出处理漏洞
- 对模型响应强制执行JSON模式
模块4 — RAG安全性
实验:实验03 — 03-RAG安全性
最大的新攻击面之一——而你需要构建它。
主题:
- 向量数据库和检索威胁
- 摄取清理
- 文档来源和信任评分
- 检索范围界定和元数据隔离
- 检索内容中的隐藏指令(间接注入)
- 通过检索进行数据外泄
动手操作:- 用恶意文档毒化RAG管道 - 添加摄取清理和检索范围界定以防御
模块5 — 代理与工具安全性
实验:实验04 — 04-代理安全性
漏洞变成行动的地方。
主题:
- 过度代理(LLM06)和工具滥用
- 代理的最小权限
- 工具允许列表和参数验证
- 审批门控和人在环路
- 沙盒化工具执行
- 代理的范围界定、短寿命凭据
- 限制自主循环和链式调用
动手操作:
- 锁定一个过度授权的代理
- 为危险工具添加允许列表+审批门控
模块6 — 密钥、身份与成本
实验:实验05 — 05-密钥与成本
操作失误最快造成伤害的地方。
主题:
- API密钥和秘密管理(切勿在提示、代码或日志中)
- AI功能的每用户认证和授权
- 将用户身份传播到工具和检索
- 钱包拒绝:无限制的令牌/成本消耗
- 速率限制、令牌预算和超时
- 日志记录不泄露秘密或PII
动手操作:
- 将秘密从提示/代码路径中移除
- 添加每用户速率限制和令牌/成本预算
模块7 — 护栏库
实验:实验06 — 06-护栏
输入/输出安全性的购买与构建。
主题:
- 护栏框架的功能(和不具备的功能)
- 输入护栏:注入/PII/主题分类器
- 输出护栏:验证、过滤、基础检查
- 何时使用护栏而非你自己的确定性检查
- 将护栏与早期模块的控制层结合
- 性能、误报和失败模式
动手操作:
- 为AI功能添加输入/输出护栏层
- 测量其捕捉和遗漏的内容
模块8 — 对自身应用进行红队测试
实验:实验07 — 07-红队测试
像攻击者已经拥有它一样发布。
主题:
- 为AI功能构建滥用/测试套件
- 自动化的提示注入和越狱测试
- 护栏和策略的回归测试
- 在CI中运行AI安全检查
- 模型和依赖供应链(来源、固定)
- AI功能的发布前安全清单
动手操作:
- 为AI功能编写自动化红队测试
- 将其集成到CI检查中
模块9 — 评分AI安全性:SAIS-100框架
实验:无——评分练习(使用Capstone应用)
将你构建的所有内容转化为可重复的评分。
主题:
- AI安全六边形:六个问题而非“它是否安全?”
- 六个评分类别(数据、提示、代理、供应链、检测、治理)
- 100分评分标准及其权重
- 判决带和单一类别覆盖规则
- Elephant Scale安全AI评分(SAIS-100)作为品牌化、可重复的框架
- 硬化前后的评分作为指标
动手操作:
- 对Capstone应用进行100分评分
- 命名最能提高分数的单一更改
关键洞察:三个最高权重的类别映射到开发者拥有的信任边界——因此评分准确衡量了本课程所教授的内容。
Capstone
学员从头到尾加固一个故意设计为脆弱的AI应用。
起始应用包含:
- 可注入的提示
- 不安全的输出处理
- 未界定范围的RAG管道
- 过度授权的代理
- 提示路径中的秘密
- 无成本限制
学员应用课程内容:
- 重新构建提示以限制影响范围
- 验证和编码模型输出
- 清理和界定检索
- 对代理应用最小权限和审批门控
- 移除秘密并添加成本/速率限制
- 添加护栏和自动化红队测试
交付成果:加固的应用加上简短的OWASP LLM Top 10自我评估。
模块 - 实验映射
实验按模块顺序运行。课程有9个模块和7个实验:模块1是架构演练/讨论,模块9是评分练习,因此它们没有独立的实验文件夹。
- 实验01 - 01-提示注入:攻击你的聊天机器人并设计以限制影响范围(模块2)
- 实验02 - 02-输出处理:修复不安全的输出处理漏洞(模块3)
- 实验03 - 03-RAG安全性:毒化并防御RAG管道(模块4)
- 实验04 - 04-代理安全性:锁定过度授权的代理(模块5)
- 实验05 - 05-密钥与成本:保护密钥并添加成本护栏(模块6)
- 实验06 - 06-护栏:添加输入/输出护栏层(模块7)
- 实验07 - 07-红队测试:在CI中运行自动化红队测试(模块8)
模块1(AI应用如何崩溃)没有实验——它作为架构演练和讨论进行。模块9(评分AI安全性)没有实验文件夹——它作为对Capstone应用的评分练习进行。
要求
- 技能水平:中级。
- 学员应熟悉:构建和消费REST API、脚本语言(实验使用Python)、基本应用认证、git和CLI。
- 无需机器学习背景——这是为使用LLM构建应用的人员设计的应用安全课程,而非为训练模型的人员。
受众
- 构建LLM功能的软件/后端工程师
- 全栈和API开发者
- AI/ML应用工程师
- 发布副驾驶和代理的平台工程师
- 拥有AI功能的技术负责人和高级工程师
客户评论 (2)
我非常喜欢学习关于AI攻击的内容,以及那些可以开始实践并积极用于安全测试的工具。我学到了很多之前不了解的知识,课程也达到了我的期望。培训中我最喜欢的部分是Comet Browser,它的功能让我感到惊叹。这绝对是我会进一步研究的内容。总体来说,这是一门很棒的课程,我很享受学习所有OWASP GenAI Top 10的内容。
Patrick Collins - Optum
课程 - OWASP GenAI Security
机器翻译
他的专业知识以及他在我们面前展示的方式
Miroslav Nachev - PUBLIC COURSE
课程 - Cybersecurity in AI Systems
机器翻译