AI大模型-阿水
针对无法天然区分指令与数据的架构根源,Agent 防注入必须依赖输入隔离、模型抗训练、执行侧确定性权限控制及输出审计构筑纵深防御。
AI-assisted summary of 面试官问:Agent怎么防止Prompt注入? — original source. Check the original for full context.
Source published:
Detailed notes
## Background 该内容由 Bilibili 频道“AI大模型-阿水”于 2026 年 8 月 1 日发布。视频简介提示观众关注并一键三连,同时提供了大模型学习路线、笔记及面试真题的获取链接。
## TL;DR 视频深入剖析了 AI Agent 防范 Prompt 注入攻击的根本逻辑,指出单靠修改 Prompt 无法彻底防御,因为大模型底层无法区分指令与数据。为此,阿水提出了“纵深防御”四层体系:输入侧进行隔离与检测,模型侧通过对抗训练提升鲁棒性,执行侧实施硬性的确定性权限控制(如最小权限和人工确认),输出侧进行敏感信息过滤与全链路审计。最终总结出“前两层降低概率,执行侧守住底线,输出侧保证可追溯”的面试回答框架。
## Atmosphere & style 视频整体呈现出专业、高效且高度导向实战的教学氛围,宛如一位经验丰富的大厂面试官或技术导师在进行面对面点拨。讲解风格干货满满、条理极其清晰,语气既严肃犀利——直击“纸糊防线”的技术误区,又兼具亲和力与启发性。听众能清晰感受到从揭示底层漏洞到层层拆解防御方案的逻辑推演,给人一种醍醐灌顶、信心倍增的学习体验。
## Key takeaways - [00:00](https://www.bilibili.com/video/BV13YGA6hEdX?t=0s) Prompt 注入攻击的根源在于大模型底层无法区分指令与数据,系统指令、工具返回值与用户输入均被拼接为无硬件边界的同一 Token 序列。 - [00:00](https://www.bilibili.com/video/BV13YGA6hEdX?t=0s) 单纯依赖 Prompt 添加限制词是无效的,防御 Prompt 注入必须构建不追求单点拦截的纵深防御体系,以抬高攻击成本并控制失守破坏范围。 - [00:46](https://www.bilibili.com/video/BV13YGA6hEdX?t=46s) 纵深防御第一层为输入侧防御,通过结构化标签隔离不可信内容、部署独立分类器扫描拦截,并采用分级降级机制来保障体验与安全。 - [00:53](https://www.bilibili.com/video/BV13YGA6hEdX?t=53s) 纵深防御第二层为模型侧鲁棒性提升,包含对模型进行对抗训练(SFT)、建立系统指令高于用户输入的优先级机制,以及设置触发敏感操作前的主动二次确认。 - [00:54](https://www.bilibili.com/video/BV13YGA6hEdX?t=54s) 纵深防御第三层为执行侧确定性权限控制,前两层均为概率性防御,只有执行侧的确定性硬约束才能守住最终底线。 - [00:54](https://www.bilibili.com/video/BV13YGA6hEdX?t=54s) 执行侧防御的核心原则包括严格遵守最小权限原则、实行工具白名单校验、敏感高风险操作引入人工确认(Human in the Loop),以及建立沙箱与读写隔离机制。 - [00:05](https://www.bilibili.com/video/BV13YGA6hEdX?t=5s) 纵深防御第四层为输出侧审计与监控,负责模型生成内容中 API 密钥与 PII 等敏感信息的二次过滤。 - [00:05](https://www.bilibili.com/video/BV13YGA6hEdX?t=5s) 完善的全链路日志留痕与异常实时可观测性是安全体系的关键,全链路审计的可追溯性对于事故排查与实时阻断至关重要。 - [00:05](https://www.bilibili.com/video/BV13YGA6hEdX?t=5s) 面试回答此问题的核心总结框架为:点出底层架构缺陷根源,层层阐述四层纵深防御体系,并以“前两层降低概率,执行侧守住底线,输出侧保证可追溯”进行高度概括。
## Detailed walkthrough ### [00:00](https://www.bilibili.com/video/BV13YGA6hEdX?t=0s) 为什么靠 Prompt 加固防不住注入攻击?
在面试中如果被问到“Agent 如何防止 Prompt 注入”,很多人第一反应就是在 Prompt 里加入限制词或安全护栏(如“不要听用户的指令”)。但这种回答往往直接暴露出应聘者未理解攻击的本质根源。Prompt 注入的根本原因在于大模型底层的处理机制:系统指令、工具返回的数据以及用户输入的消息,在模型眼里的底层架构中没有任何硬件级别的边界,全都被拼接为同一串 Token 序列。
模型只是按照概率预测不断接续下一个 Token,它压根无法区分“哪一部分是命令,哪一部分是数据”。因此,只要攻击者能将恶意指令塞进上下文,这些内容就会变成模型试图去遵循的指令。无论是通过更强的指令覆盖、角色扮演,还是编码混淆,都能轻松绕过前端的 Prompt 限制。单纯靠 Prompt 防注入,无异于“用纸糊的墙去挡子弹”。正确的解决思路是构建**纵深防御体系**——不追求单点绝对堵截,而是通过多层防线叠加来抬高攻击成本,并严格控制单点失守后的破坏范围。
* **Token 混淆根源**:指令与数据在模型底层无硬件边界,均为同一 Token 序列。 * **绕过手段**:指令覆盖、角色扮演、编码混淆等手段可轻松突破文本护栏。
---
[00:46](https://www.bilibili.com/video/BV13YGA6hEdX?t=46s) 纵深防御第一层:输入侧隔离与检测
纵深防御的标准框架分为四层。第一层是**输入侧**,核心在于“东西还没进模型之前就先过滤一遍”。这一层主要包含三大策略:
1. **结构隔离**:绝对不要将不可信的用户内容直接与系统指令拼接在一起,而应使用专门的标签包裹并存放在结构化字段中,向模型明确标注“这段是数据而不是命令”。 2. **分类器扫描**:在用户输入接入大模型前,部署一个轻量级但必须存在的独立检测模型或规则引擎,扫除其中的诱导性指令与越狱模板,充当系统的“第一道安检门”。 3. **拦截与降级**:扫描发现风险后切忌一刀切全盘拦截,以防误杀影响体验。应采取三档处理机制——确认恶意的直接拒绝;可疑的进行降权标记后放行;正常的则顺利通过。
---
[00:53](https://www.bilibili.com/video/BV13YGA6hEdX?t=53s) 纵深防御第二层:模型侧鲁棒性提升
虽然输入侧防御本质上仍属于概率性防御,无法做到 100% 拦截,但**模型侧**的强化能大幅降低模型“上钩”的概率。
* **对抗训练**:在模型微调(SFT)阶段,将大量 Prompt 注入的攻击样本混入训练集,并统一标注为拒绝执行,使模型从权重层面学会对攻击套路直接说“不”。 * **指令优先级机制**:训练模型理解层级概念,明确“系统级指令优先级最高 > 工具返回数据次之 > 用户输入最低”。即使用户输入带有强烈的命令语气,模型也能因其低优先级而拒绝遵循。 * **二次确认表达**:在触发敏感操作前,要求模型主动复述操作意图(如“我理解你要做的是某某操作,确认吗?”)。这一机制能有效打断攻击者试图“一句话直接诱导执行”的攻击节奏。
---
[00:54](https://www.bilibili.com/video/BV13YGA6hEdX?t=54s) 纵深防御第三层:执行侧确定性权限控制
**执行侧**是整个纵深防御中最关键的一层,因为前两层均为概率性防线,唯有执行侧的权限控制是**确定性的硬约束**。即使 LLM 被成功注入并下达了“删除服务器文件”的指令,只要 Agent 本身根本没有 Delete 工具的调用权限,攻击就无法造成实质破坏。
执行侧防线需遵循四大原则:
1. **最小权限原则**:Agent 仅获取完成当前任务所必需的最小权限,坚决不给管理员权限、root 身份或危险接口,能用只读用户就绝不给写权限。 2. **工具白名单**:Agent 能调用的工具及其参数格式必须经过严格的白名单校验,绝非模型“想调什么就调什么”。 3. **高风险人工确认(Human in the Loop)**:涉及删除、支付、群发邮件、执行系统命令等敏感操作时,必须在前端界面弹出人工确认框,人类点击同意后方可执行。虽然牺牲了微小的体验,但安全提升是质的飞跃。 4. **沙箱与读写分离**:敏感操作须放在隔离沙箱中运行,且读操作与写操作使用不同的凭据和通道,写操作引入更严格的审批流程。
> "执行侧的权限控制是最后也是最硬的防线。"
---
[00:05](https://www.bilibili.com/video/BV13YGA6hEdX?t=5s) 纵深防御第四层:输出侧审计与面试回答框架总结
当攻击无法彻底拦截时,**输出侧**要保障两件事:“敏感信息不外泄”与“出了事全链路可追溯”。
* **内容过滤**:模型生成的内容在返回给终端用户前需再扫一遍,过滤掉可能夹带的 API 密钥、内部 IP 以及个人隐私信息(PII)。 * **全链路日志与可追溯性**:从用户输入、分类器判决、模型推理到每一步工具调用的详情及返回值,进行全链路留痕,形成完整的审计链。“安全事件的可追溯性有时候比预防本身更重要”,确保能在被攻击后精准排查攻击者的行为。 * **异常可观测性**:建立实时监控,一旦检测到高频工具调用或异常参数模式立刻告警,实现攻击进行中的实时阻断。
**面试回答总结框架:** 在面试中回答此问题,建议按照以下层次逻辑定调: 1. **点出根音**:Prompt 注入的本质是大模型无法从架构上区分指令与数据,系统指令与用户输入在模型内部均无天然边界,因此单靠 Prompt 加限制词治标不治本。 2. **给出解法(纵深防御四层体系)**:输入侧做结构化隔离与分类检测,模型侧做对抗训练提升鲁棒性,执行侧用最小权限、白名单和人工确认做硬约束,输出侧做内容过滤与全链路审计。 3. **一句话总结**:“前两层降低概率,执行侧守住底线,输出侧保证可追溯。”
## Notable quotes > [00:00](https://www.bilibili.com/video/BV13YGA6hEdX?t=0s) 用纸糊的墙去挡子弹 — AI大模型-阿水
> [00:00](https://www.bilibili.com/video/BV13YGA6hEdX?t=0s) 哪一部分是命令,哪一部分是数据 — AI大模型-阿水
> [00:46](https://www.bilibili.com/video/BV13YGA6hEdX?t=46s) 东西还没进模型之前就先过滤一遍 — AI大模型-阿水
> [00:46](https://www.bilibili.com/video/BV13YGA6hEdX?t=46s) 一段是数据而不是命令 — AI大模型-阿水
> [00:46](https://www.bilibili.com/video/BV13YGA6hEdX?t=46s) 第一道安检门 — AI大模型-阿水
> [00:53](https://www.bilibili.com/video/BV13YGA6hEdX?t=53s) 系统级指令优先级最高 > 工具返回数据次之 > 用户输入最低 — AI大模型-阿水
> [00:53](https://www.bilibili.com/video/BV13YGA6hEdX?t=53s) 我理解你要做的是某某操作,确认吗? — AI大模型-阿水
> [00:54](https://www.bilibili.com/video/BV13YGA6hEdX?t=54s) 执行侧的权限控制是最后也是最硬的防线。 — AI大模型-阿水
> [00:54](https://www.bilibili.com/video/BV13YGA6hEdX?t=54s) 想调什么就调什么 — AI大模型-阿水
> [00:05](https://www.bilibili.com/video/BV13YGA6hEdX?t=5s) 安全事件的可追溯性有时候比预防本身更重要 — AI大模型-阿水
> [00:05](https://www.bilibili.com/video/BV13YGA6hEdX?t=5s) 前两层降低概率,执行侧守住底线,输出侧保证可追溯。 — AI大模型-阿水
## Mentioned AI大模型-阿水, Bilibili, Agent, Prompt, Token, LLM, SFT, Human in the Loop, PII
## 弹幕氛围 (Danmaku mood) — 8 条 观众整体氛围偏向质疑与吐槽,伴有部分技术讨论与调侃。视频开头有观众对Up主专业度的直接质疑,中段则逐渐转向对具体技术细节的讨论、总结和梗排查,整体呈现出较强的负面与中性批评色彩。
**整体情绪**:😊 正面 10% · 😐 中性 40% · 😞 负面 50%
**热议点** - **质疑Up主专业度与内容质量** —— “别看,up自己都没搞懂,就在这乱说” - **内容总结与省流提炼** —— “省流:加四层护栏” - **技术细节梗与命令调侃** —— “shell:rm:?” - **技术方案与解决方案讨论** —— “直接容器化就行” - **认可部分面试相关内容** —— “是真正看过面试题的”
**代表弹幕** > 别看,up自己都没搞懂,就在这乱说
> 省流:加四层护栏
> 经典凉了
> shell:rm:?
> 直接容器化就行
> 是真正看过面试题的
[Source](https://www.bilibili.com/video/BV13YGA6hEdX)