漏洞概述 该漏洞涉及上游 URL 路径片段的校验问题,可能导致非法请求被处理,从而引发安全问题。 影响范围 受影响的路径: 的子路径(转发到上游同名节点之后) 受影响的模型:Gemini AI Studio 的模型名(Native 路径提取上游 URL 片段,compact 路由由请求体 model 字段决定,之后可能再经紧凑映射) 修复方案 1. 新增 :作为路径片段的统一校验入口。 - 词库允许清单:只放行 (如 等)以及真实取值必需的 与 。 - 额外拒绝:空片段、只由点组成的片段、超长片段、过渡后缀。 - 只校验,不改写:不合规则直接报错,不做自动修正。 2. 路径处理: - ( 、无模型名、 /codex 共三条路由) - 入口新增 :不可转发的子路径直接返回 404,不进入调度与转发流程,并按本地策略拒绝计入 ops(不计入 SLA / 错误率)。 - service 层的 同时产出这个不合规后缀,拼进上游 URL 的也只是合规片段。 3. Gemini AI Studio: - 原先 5 处重复的 收拢为唯一构造点 (校验模型片段 + 动作白名单 + 统一处理 ),后续新增端点一律走它。 - / 增加入口校验,客户端可直接拿到 400 而不是等到构造上游请求时才报错。 - 对传入 path 这段校验。 4. Grok: - video 端点的 在原有 之外,增加纯点片段与控制字符的校验。 兼容性 合法子路径( 、 、 形态)与既有模型名行为完全不变; 通配路由保留,未收为固定路径,避免误伤真实客户端。 不合规请求:子路径返回 404,模型名返回 400。 已回退相对后无需改动的构造点:Bedrock(模型必须命中映射表)、/regional 后端、厂商前缀白名单、Vertex Gemini 与 Anthropic(pathEscape + 片段追加)、action、location 走正则、action 走白名单、Antigravity(action 白名单 + 模型走 body,path 固定)、Gemini batch CreateBatch、Codex models 的 (query.Set + Encode())、WS 上游 URL(仅由池配置构造)。 测试 新增 :护栏的接受/拒绝矩阵(40+ 用例),覆盖紧凑外子路径、纯点片段、空片段、边界长度与常见/以及“子路径提取与拼接的不受试”。 新增 :URL 构造点的正常取值与非法模型名/非法 action。 :新增路由级用例:不合规子路径在入口即被拒绝。 本地已跑: 、 ,以及 (OpenAI / Gemini / Grok / Compact / Responses / Upstream / AccountTest / Bedrock / Vertex)、 全包、 、 全绿。 POC 代码