Gemini CLI 扩展加载器加固:拒绝越界路径与目录穿越攻击
diegogodinezr · ghdev · 2026-09-03
另一个针对 google-gemini/gemini-cli 的安全加固 PR(#29169),聚焦扩展加载器的路径解析与目录边界校验。
- 新增 validateContextFilePath() / resolveContextFilePaths():用 path.resolve 归一化路径,预先拒绝绝对路径(POSIX 与 Windows 两种格式),过滤 .. 及 URL 编码变体(%2e%2e),并校验目标路径必须位于扩展根目录内。
- 对 decodeURIComponent 失败的非常规文件名(如 100%complete.md)记录诊断信息后继续用原始文件名,不直接丢弃。
- 容错加载:gemini-extension. 中非法的 context 文件只警告并跳过,不会导致整个扩展加载失败;plan.directory 也加入边界校验。
- gemini extensions validate 命令复用同一校验函数,保证行为一致。
展示了扩展/插件系统防路径穿越的标准做法:绝对路径拒绝、.. 过滤、根目录前缀校验三位一体。
「编程与Agent」频道最新
- Fable 5.1 生成 three.js 网站实测:快且精准,但细节仍需人把关 — repligate · 2026-09-03
- SentinelX 开源:让 LLM 安全接管你的 Linux 服务器终端 — CarolusX74 · 2026-09-03
- 连载 30 天:用 fable 5.1 给户外机器人写出无线手柄控制器 — _Stocko_ · 2026-09-03
- 试水 AmpCode:可用 ChatGPT 订阅、每线程一台云电脑,槽点是吉祥物 Puck — carlosdponx · 2026-09-03
- 一人一 Agent 独立 microVM:语言学习产品上线生产环境的三个教训 — maritime_sh · 2026-09-03
- 断网手写 10 页文档后让 Agent 做成 PPT:作者发现自己文字像 AI 糊弄产物 — cnakazawa · 2026-09-03