60 秒回答模板

我会先说明调用链路:浏览器端不应直接持有大模型 API Key,而是通过业务后端或 BFF 转发,由后端做鉴权、限流、日志脱敏、模型参数控制和工具权限控制。Prompt 安全分几类风险:第一是 prompt injection,用户或外部内容诱导模型忽略系统指令、泄露上下文或执行越权动作;第二是数据泄露,前端可能把用户隐私、内部配置、系统提示或检索到的敏感内容发给模型;第三是权限越界,模型输出或工具调用不能绕过用户真实权限;第四是输出风险,例如违法、敏感、误导和不可解释内容。设计上要把系统指令、用户输入、检索内容、工具结果分层拼接,做输入过滤和上下文隔离,工具调用走后端授权,输出做安全审核和引用校验。前端负责交互和状态,安全边界要放在服务端。

考点 密钥不上前端
难度 真实面经题
回答目标 讲清 Prompt 安全链路和边界

深入解析

01

先把 API 调用链路说清楚

前端页面可以发起请求,但不应该直接调用模型供应商并暴露 API Key。更合理的链路是浏览器请求业务后端,后端校验登录态、额度、场景权限和请求参数,再调用模型服务,并把响应流式或非流式返回前端。

02

Prompt 安全的第一类风险是注入

用户输入、网页内容、文档内容和检索结果都可能包含恶意指令,例如要求模型忽略系统规则、输出隐藏提示、伪造工具结果或执行不该执行的动作。Prompt 拼接时要区分可信系统指令和不可信内容,并明确不可信内容只能作为数据处理。

03

第二类风险是敏感数据泄露

应用侧容易把用户隐私、内部业务规则、系统提示、访问令牌、日志片段或未授权知识库内容发进模型上下文。需要做字段白名单、脱敏、最小上下文、租户隔离和日志治理,尤其不能为了效果把所有页面状态都塞进 prompt。

04

第三类风险是工具和权限越界

如果大模型能触发搜索、查库、下单、发消息或修改配置,模型决策不能替代权限系统。每个工具调用都要在后端按真实用户身份检查权限、参数范围和业务规则,高风险动作要二次确认或人工审批。

05

前端要做好交互层防护

前端可以做输入长度限制、文件类型限制、敏感字段提示、请求取消、错误展示和安全状态提示,但这些只能提升体验,不能当安全边界。真正的密钥管理、鉴权、限流和审计必须在服务端。

06

输出治理要和业务目标绑定

模型输出要根据场景做安全审核、事实校验、引用校验、敏感信息过滤和兜底话术。对于企业知识问答、客服、广告审核等场景,还要保留 trace、prompt 版本和 badcase 反馈,用于持续迭代安全策略。

易错点

  • 把大模型 API Key 放在前端环境变量或浏览器请求里,导致密钥可被提取。
  • 只写一段安全提示词,认为它可以防住所有 prompt injection。
  • 把网页、文档、用户输入和系统指令混在同一段文本里,没有可信边界。
  • 让模型自己判断用户有没有权限调用工具或读取知识库。
  • 为了效果把大量用户隐私和内部配置塞进上下文,没有做最小化和脱敏。
  • 只关注输入安全,没有做输出审核、事实校验、日志审计和 badcase 反馈。

面试官追问

Prompt injection 和普通 XSS 有什么不同?

XSS 攻击浏览器执行环境,prompt injection 攻击模型的指令遵循和上下文边界。它可能来自用户文本、网页、文档或检索内容。

前端能不能做 Prompt 安全?

前端能做输入限制和体验提示,但不能作为安全边界。密钥、权限、限流、日志和工具调用控制必须在后端完成。

系统 Prompt 要不要下发到浏览器?

通常不应该完整下发。系统规则和安全策略应由后端管理,前端只展示必要的用户说明,避免泄露内部策略和绕过方式。

RAG 场景怎么防止越权读取知识库?

检索前就要按用户、租户、文档权限过滤,不能先检索再让模型判断能不能看。输出还要保留来源和权限审计。