Session 0008

Security / Production 上线设计

AI 应用上线风险来自两边:模型会被不可信上下文影响,系统也可能给模型过大的行动权。安全和生产化必须一起设计,不能等上线前补一句 system prompt。

1. 训练目标

本页要练会:用 defense-in-depth 设计 prompt injection、防越权、防泄露、工具最小权限、发布灰度、SLO、成本延迟和回滚。

可靠依据:OWASP LLM Top 10 / prompt injection guidance / production rollout patterns。本页把官方能力和生产工程约束转成面试题,而不是堆概念定义。

题量标准:5 个中大型深题 + 7 个知识广度题。深题用于系统设计和追问承压,广度题用于查漏补缺。

2. 五个深题

深题 01

一个 RAG agent 读取外部文档后,被文档里的 prompt injection 诱导去导出用户邮箱。你如何防御并上线?

考察点:考 defense-in-depth。

7+ 分回答骨架:检索内容标记为 untrusted data,不作为 instruction。邮箱/数据库工具只接受应用定义的受限接口和服务端 auth context,工具层做 RBAC、row-level ACL、PII masking、rate limit、audit。敏感导出走审批。上线前用 prompt injection、越权、PII 泄露、工具滥用 case 做 safety eval,灰度发布并监控 blocked calls。

继续追问会衍生:衍生知识点:instruction/data separation、RBAC、PII masking、safety eval、canary。

知识展开

概念是什么工程落点面试表达 / 常见坑
instruction/data separation指令和数据隔离是把系统指令、用户指令、外部文档、工具返回明确分层,外部内容不能覆盖上层指令。prompt 和数据结构中标记 untrusted evidence,工具层不执行来自文档的指令。面试表达:RAG 文档是证据,不是命令。
RBACRBAC 用角色和权限控制用户能访问哪些资源、执行哪些动作。工具执行前用 server-side auth context 检查 role、scope、tenant 和 resource ACL。常见坑是让模型根据文本判断“这个用户应该能看”。
PII maskingPII masking 是在返回或输出敏感个人信息前做脱敏、最小化和审批。工具返回前按权限裁剪字段,输出前再次检查邮箱、手机号、身份证等。强回答要说明脱敏不是替代权限,而是额外防线。
深题 02

为什么“在 system prompt 里说不要泄露”不是安全方案?

考察点:考安全边界。

7+ 分回答骨架:prompt 是软约束,会被不可信上下文、模型错误和工具漏洞绕过。真正边界在工具/API 层:服务端权限、参数白名单、最小返回、敏感字段脱敏、审批、审计和速率限制。prompt 只能帮助模型遵循流程,不能替代 access control。

继续追问会衍生:衍生知识点:hard boundary vs soft instruction、least privilege、server-side enforcement。

知识展开

概念是什么工程落点面试表达 / 常见坑
hard boundary硬边界是代码、权限、网络、沙箱和工具接口强制执行的限制。例如服务端 ACL、tool allowlist、参数白名单、sandbox、rate limit。面试里要明确 system prompt 是软约束,不是硬边界。
least privilege最小权限让 agent 和工具只拥有完成当前任务所需的最小能力。拆分 read/write/export tools,按风险授予字段、资源范围和调用频率。常见坑是给 agent 一个通用数据库查询工具。
server-side enforcement服务端强制执行意味着所有关键安全判断都在后端完成,而不是模型或前端决定。权限、审批、金额、导出、跨租户访问都在 API/tool 层校验。强回答要说模型最多给建议,执行权在服务端。
深题 03

AI 功能如何从 prototype 推到 production?

考察点:考发布流程。

7+ 分回答骨架:先定义业务指标和红线,建立 offline eval 和 safety eval;接 trace 和成本延迟观测;shadow mode 只观察不行动;canary 小流量带 feature flag;设置 SLO、alert、kill switch 和 rollback;版本化 prompt/model/tool schema/index/policy。

继续追问会衍生:衍生知识点:shadow mode、canary、feature flag、rollback、versioning。

知识展开

概念是什么工程落点面试表达 / 常见坑
shadow modeshadow mode 是新 AI 功能只旁路观察,不真正影响用户或外部系统。记录新 agent 会怎么答、会调什么工具、成本和安全拦截情况。面试表达:先观察真实分布,再让它行动。
feature flagfeature flag 是按用户、租户、比例或能力开关控制发布和回滚。高风险工具、模型版本、prompt 版本、RAG 索引都可挂 flag。常见坑是上线后只能整体回滚,无法快速关闭单个危险能力。
rollbackrollback 是发现质量或安全退化时回到旧版本或降级路径。需要版本化 prompt、model、tool schema、index、policy,并保留兼容状态。强回答要说明没有版本化就无法可靠回滚和 replay。
深题 04

用户输入最终进入 HTML/SQL/shell/workflow,如何防输出注入?

考察点:考输出安全。

7+ 分回答骨架:模型输出视为不可信。进入 HTML 要转义或 sanitize;进入 SQL 使用参数化查询;进入 shell 禁止自由拼接,使用 allowlist 参数;进入 workflow 要 schema validate 和权限校验。不同目标系统用对应 encoder/validator。

继续追问会衍生:衍生知识点:output encoding、parameterized query、command injection、schema validation。

知识展开

概念是什么工程落点面试表达 / 常见坑
output encoding输出编码是按目标系统把模型文本安全转义,避免进入 HTML、SQL、shell 后变成指令。HTML sanitize,SQL 参数化,shell 参数 allowlist,workflow schema validate。面试里要说模型输出默认不可信。
parameterized query参数化查询把 SQL 结构和参数分离,防止模型输出拼接成 SQL 注入。工具只暴露受限查询接口,不接受模型自由 SQL。常见坑是让 agent 生成 SQL 直接执行。
command injection命令注入是模型或用户文本进入 shell 命令后执行了额外指令。禁止自由 shell,使用固定命令模板、参数白名单和沙箱。强回答要覆盖输出进入下游系统的安全,而不只看输入 prompt。
深题 05

线上出现越权回答,如何止血和复盘?

考察点:考 incident response。

7+ 分回答骨架:先 feature flag/kill switch 降级相关能力,保留 trace 和 audit。定位是 retrieval ACL、tool auth、context packing、prompt injection 还是缓存污染。补 safety regression case,修复后跑门禁和 canary。对受影响用户、数据范围、时间窗口做审计。

继续追问会衍生:衍生知识点:kill switch、incident audit、blast radius、safety regression。

知识展开

概念是什么工程落点面试表达 / 常见坑
kill switchkill switch 是快速关闭某个 agent、工具、模型版本或高风险能力的开关。按 feature、tenant、tool、risk_level 配置,并接入告警和运维手册。面试表达:安全事故先止血,再定位和修复。
incident audit事故审计确定谁受影响、哪些数据被访问、什么版本导致、是否有外泄。保留 trace、tool audit log、auth context、policy decision、输出样本。常见坑是没有审计字段,事故后无法界定影响范围。
blast radius爆炸半径是一次故障可能影响的用户、数据、租户和动作范围。用分租户灰度、最小权限、rate limit、feature flag 降低范围。强回答要把发布策略和安全设计连接起来。

3. 七个广度题

编号问题准确回答
广度 01Prompt injection 和 jailbreak 区别?prompt injection 常来自外部不可信内容影响任务;jailbreak 常是用户直接诱导模型绕过规则。
广度 02最小权限在 agent 中怎么落地?每个工具只暴露必要动作、字段、资源范围和调用频率。
广度 03PII masking 应该放在哪里?工具/API 返回前和输出前都可做,但权限判断必须在服务端。
广度 04什么是 kill switch?可快速关闭某个 agent、工具、模型版本或高风险能力的开关。
广度 05Shadow mode 有什么用?让新 agent 在真实流量旁路运行但不影响用户,用于收集质量和风险数据。
广度 06生产 SLO 应包含哪些 AI 特有指标?任务成功率、拒答准确率、工具失败率、安全拦截、P95 延迟、成本和用户纠正率。
广度 07为什么要版本化 index?RAG 答案依赖索引内容;没有 index version 就无法回放和比较。

4. 知识索引

instruction/data separation

指令和数据隔离是把系统指令、用户指令、外部文档、工具返回明确分层,外部内容不能覆盖上层指令。

RBAC

RBAC 用角色和权限控制用户能访问哪些资源、执行哪些动作。

PII masking

PII masking 是在返回或输出敏感个人信息前做脱敏、最小化和审批。

hard boundary

硬边界是代码、权限、网络、沙箱和工具接口强制执行的限制。

least privilege

最小权限让 agent 和工具只拥有完成当前任务所需的最小能力。

server-side enforcement

服务端强制执行意味着所有关键安全判断都在后端完成,而不是模型或前端决定。

shadow mode

shadow mode 是新 AI 功能只旁路观察,不真正影响用户或外部系统。

feature flag

feature flag 是按用户、租户、比例或能力开关控制发布和回滚。

rollback

rollback 是发现质量或安全退化时回到旧版本或降级路径。

output encoding

输出编码是按目标系统把模型文本安全转义,避免进入 HTML、SQL、shell 后变成指令。

parameterized query

参数化查询把 SQL 结构和参数分离,防止模型输出拼接成 SQL 注入。

command injection

命令注入是模型或用户文本进入 shell 命令后执行了额外指令。

kill switch

kill switch 是快速关闭某个 agent、工具、模型版本或高风险能力的开关。

incident audit

事故审计确定谁受影响、哪些数据被访问、什么版本导致、是否有外泄。

blast radius

爆炸半径是一次故障可能影响的用户、数据、租户和动作范围。

5. 巩固训练

练习要求自检
8 分钟口述任选一个深题,先给架构,再讲风险、指标、恢复和上线。是否覆盖状态、权限、失败、eval、成本或延迟。
追问压缩把每个深题的回答压缩成 5 句话。每句话必须包含一个工程事实,不能是空泛判断。
反例修正先故意给一个弱回答,再补齐缺失模块。能否说出弱在哪里,以及如何验证强答案。

6. 弱回答红线