出站控制是什么
出站控制指对模型侧组件发起的所有对外请求做统一管理:谁能出去、能去哪些域名、请求里允许带什么。注入攻击的收益大多要靠外发落地——把上下文里的数据拼进 URL 或请求体送到攻击者控制的地址。管住出口,就直接削弱了注入的变现路径。它和输入侧检测互补:输入侧减少被骗的概率,出站侧压缩被骗之后的损失上限。
基本信息
| 适用平台 | 带联网、检索、工具调用的代理应用与自建推理服务 |
|---|---|
| 部署位置 | 统一出站代理或网关,应用侧不允许直连外网 |
| 策略类型 | 域名白名单为主,辅以请求体内容检查与频次限额 |
| 渲染通道 | 前端渲染链接与图片时同样要白名单,否则图片地址可被用作外发通道 |
典型使用场景
- 联网检索:只放行搜索服务域名,其余出口一律拒绝
- 代码执行环境:限制容器网络出口,避免执行任意请求
- 工具调用:对支付、地图、翻译等第三方接口按用途分别配置白名单
- 消息与邮件:外发收件人需在通讯录范围内,新增地址走审批
- 前端渲染:对模型输出中的链接与图片地址做同源或白名单校验
出站控制要点
出站控制要点
# 1 代理化:所有外呼经统一出站代理,应用无直连路径
# 2 白名单:按用途分组放行域名,搜索/地图/支付分开配置
# 3 内容检查:扫描 URL 参数与请求体中的长串、编码串与敏感模式
# 4 限额:按会话限速限量,短时间大量外呼即告警
# 5 日志:保留完整出站记录(目标、参数摘要、触发来源),支持追溯
# 6 默认拒绝:未登记的新域名一律阻断,走申请流程后再放行控制层与拦截面
| 控制层 | 做法 | 拦下的风险 |
|---|---|---|
| 网络层 | 出站走代理,禁直连外网 | 绕过白名单的直连外发 |
| 域名层 | 按用途维护白名单 | 把数据拼进地址送往任意主机 |
| 请求层 | 检查参数与请求体内容 | 用查询参数或请求体夹带数据 |
| 应用层 | 收件人范围与频次限制 | 批量外发与通知轰炸 |
| 渲染层 | 链接与图片地址校验 | 前端加载远程资源时外带数据 |
白名单与黑名单的差别在失效模式:黑名单漏掉一个新域名就失效,白名单漏掉一个新域名只是暂时不可用。对可枚举用途的代理,白名单是更稳的默认选择。
出站日志要记目标、参数摘要与触发来源,但不建议完整记录被外发的敏感原文。日志本身也是数据资产,需要与业务数据同等保护。