标准答案
- Prompt Injection 可以来自用户输入、网页、上传文件、知识库文档和工具返回;它试图改变模型任务、泄露指令或诱导调用工具。
- 越权常发生在会话、检索、引用、工具和缓存边界,例如只信任客户端 tenantId、只在入口校验一次或把模型判断当成权限。
- 数据泄露还可能出现在 Prompt、日志、错误响应、模型供应商、导出文件和第三方工具中,因此要做数据分级、最小权限和全链路审计。
题目解析
Injection 是模型输入信任问题,不能只靠关键词过滤;应把数据与指令分层,限制工具权限,并对最终动作做程序校验。
授权必须由服务端根据当前身份、租户、资源关系和策略实时判断。模型可以提取资源 ID,但不能决定这个 ID 是否可访问。
防护需要威胁建模和回归测试,覆盖直接/间接注入、跨租户、敏感信息提取和工具滥用,而不是只做一次 Prompt 改写。
常见误区
- 把 Prompt Injection 当成普通 XSS,只做 HTML 清洗。
- 认为内部模型或私有向量库天然不会泄露。
- 只保护模型调用接口,忽略缓存、日志和导出。