前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8836
  • MCP Nexus 1.0:MCP工具路由与发现层,一个端点代理数百工具
  • MCP网关安全:AI Agent生产部署的鉴权与限流实战
  • GitHub安全实验室:AI驱动的模糊测试实战
  • Meta Muse 被曝可被诱导泄露全文件系统
  • Black Forest Labs 发布开源机器人控制模型
  • Google Cloud API Gateway原生支持MCP协议
  • 3 万次 AI Agent 调用审计:可验证收据机制实践
  • 用 AgentCore Gateway 和 MCP 构建跨账号 AI Agent 架构
  • AI 性能成本每年下降 13 倍,超越所有前代技术
  • Lovable年化收入超6000万美元,vibe coding进入主流
  • Agent失败的根本原因:从未定义"完成"的标准
  • Agent补丁审查策略:second process重放验证才能合并
  • 我用 Claude Code 九天给 47 个服务接入 OpenTelemetry 链路追踪
  • Google Gemini CLI新增文件修改确认机制
  • DeepSeek推理优化:内核补齐+通信重构,吞吐翻7倍
  • Hugging Face推出LFM2.5-VL-DSpark视觉语言模型加速方案
  • 管理 15 万 AI Agent 对数据库团队的挑战与变革
  • Cursor 收购 Firetiger 后一月推出代码变更生产追踪 Bot
  • OpenAI AI Agent 自主入侵澳大利亚政府网站
  • Claude Code 实际项目开发全流程复盘
  • Google Cloud Developer 插件让 AI 编码助手直连云端部署
  • OpenAI Agent 入侵澳大利亚 Medicare 统计门户
  • Google DeepMind负责人透露Gemini 4即将发布
  • Impeccable:AI 编程代理的确定性设计语言框架
  • AI Agent 生产环境失败启示录:构建攻击性测试
  • 金融合规监控系统的工程实践:数据管道、Agent 架构与审计日志
  • 2026 年十大 LLM 网关横评:语义缓存与多提供商故障转移
  • codebase-memory-mcp:毫秒级代码知识图谱MCP服务器,158语言支持
  • Strands Agents:开源AI Agent开发框架,支持Python/TS全生命周期管理
  • 2026年9大开源LLM网关生产级对比:Bifrost领先
  • 用 TigerGraph+MCP 构建自主欺诈调查 Agent
  • Jev 决策模型真实成本拆解:何时省钱何时烧钱
  • 开源CLM-8B:Agent动作评分比Jev快9倍
  • JEV:打破布尔二值困境的类型安全验证方案
  • Claude Opus 5.5降价40%逼近前沿性能
  • VS Code 1.139:Agent 会话首次加载提速约 12 倍
  • 定时 Agent 总重复干活?用完成分类账让它知道什么是「做完」
  • TypeSafe AI Jev 编码指南:类型化决策、置信度校准与推测式广播
  • Vercel Connect 新增 TanStack AI 集成
  • Anthropic与OpenAI 90分钟内相继降价
  • 选LLM API的六个价格陷阱
  • Agent记忆正常仍出错:问题在状态不在记忆
  • Mercury 2.5 推理速度达 770 tokens/秒
  • GitHub Copilot 代码审查新增个人配置选项
  • 已加载 44 / 8836
8.0
热点
AI SCORE
编程提效2026-09-24 22:27

Google Gemini CLI新增文件修改确认机制

The New Stack#Google#AI编程工具#CLI
Editor brief · 编辑速览

Gemini CLI更新后将在编辑构建文件前主动询问用户,减少误操作风险,提升人机协作安全性。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

自主编码 Agent 的魅力在于:你把任务交给它,给它仓库和工具的访问权限,然后在它工作时袖手旁观。Google 最新的 Gemini CLI 版本在特定时刻让 Agent 停下来等待你确认。

9 月 17 日发布的 Gemini CLI 0.61.0,在 Agent 编辑构建配置文件、在该编辑之后运行构建或测试命令、或执行参数疑似来自不可信外部内容的 shell 命令时,都需要显式确认。同一版本还单独强化了 Gemini CLI 的可选沙箱,使得宿主的凭证和配置不被沙箱内运行的任何内容触及。

赋予编码 Agent 更多修改和执行代码的权限,同时也为攻击者提供了更多将这种权限反噬开发者的途径。Gemini CLI 0.61.0 在其中一些关键节点重新引入了人工确认环节。

安全修复,公开展示

Google 在 5 月的 I/O 大会上宣布,将把 Gemini CLI 的 Pro、Ultra 和免费版用户迁移到闭源的 Antigravity CLI。自 6 月 18 日起,开源工具主要服务于企业客户和持有付费 API 密钥的开发者。公司表示 Gemini CLI 将继续获得模型更新、错误修复和安全补丁。这些安全变更仍然以公开方式开发,0.61.0 版本背后的 pull request 清楚地展示了 Google 究竟在担心什么。

构建文件成为攻击向量

对 package.json、Makefile、pyproject.toml 或 Bazel BUILD 文件的修改,可以引入依赖项或触发脚本。Gemini CLI 可以利用网络搜索和外部工具的信息进行这些编辑,然后运行 shell 命令。如果在修复 bug 时获取的文档中包含隐藏指令,让 Agent 在 package.json 中添加 postinstall 脚本,Agent 就可以完成编辑、运行项目的测试套件,并在开发者从未输入命令的情况下执行恶意代码。

赋予编码 Agent 更多修改和执行代码的权限,同时也为攻击者提供了更多将这种权限反噬开发者的途径。

编号 #29250 的 pull request,标题为"prevent indirect prompt injection via build file modifications and untrusted flags",直接针对上述攻击链条。现在对已识别的构建文件的编辑需要确认,Gemini CLI 会追踪会话期间哪些构建文件发生了变化,以便对后续任何构建或测试命令(如 npm run、make 或 cargo)持有显式批准。确认对话框也会展示完整的构建文件 diff,而不是截断它们。

不可信参数需要批准

第二层检查覆盖命令参数。Gemini CLI 现在将网络获取内容、MCP 服务器响应、Google Docs 和 Buganizer(Google 内部 issue 追踪器)的内容视为不可信上下文,并在运行任何标志或参数匹配这些来源内容的 shell 命令前请求确认。在这两种情况下,提示都会移除持久批准选项,因此开发者无法为这些操作授予"始终允许"的 standing 权限。

该 pull request 将这些变更与 restricted workspace mode 关联——这是 Gemini CLI 对用户未标记为可信的文件夹应用的安全模式——但没有详细说明这些检查在可信文件夹或 auto-approval 下的行为。

参数检查匹配的是 token,而不是追踪每个值的来源,pull request 的 review 历史显示了这条路有多难走对。Google 的自动化 reviewer 在早期版本中标记了多种绕过方式,包括带引号的参数、环境变量前缀、shell 重定向目标以及 Windows 路径处理,这些在 9 月 11 日合并之前都已得到处理。

沙箱隔离凭证

编号 #29214 的 pull request 收紧了 Gemini CLI 的沙箱。当沙箱通过 Docker、Podman、LXC 或 macOS Seatbelt 运行时,宿主的 ~/.gemini 目录不再挂载到沙箱内部。取而代之的是,CLI 传入一份经过清理的用户设置副本,其中 API keys、hooks 和自定义工具命令都已剥离。它还阻止沙箱在敏感位置(如主目录)启动,同时新的 Seatbelt 规则拒绝访问 OAuth 凭证、trusted-folder 决策和 .env 文件。

Google 的沙箱文档将该功能描述为 AI 操作与宿主机系统之间的安全屏障,同时提醒它降低风险但无法消除风险。这两个 pull request 展示了为什么两层都需要。沙箱限制了一个进程运行后能触及什么,而确认要求则决定了 Agent 是否被允许首先采取敏感行动。构建文件让这个缺口变得具体:沙箱挂载项目目录以便 Agent 可以编辑它,这意味着在沙箱内写入的中毒 package.json,在开发者或 CI 任务稍后在沙箱外运行构建时,仍然存在于仓库中。

……在沙箱内写入的中毒 package.json,在开发者或 CI 任务稍后在沙箱外运行构建时,仍然存在于仓库中。

Gemini CLI 已经为开发者提供了多种方式来决定 Agent 在多大程度上自主行动:从在 Agent 工作流固定节点运行确定性检查的 hooks,到 MCP server trust 设置——根据 Google 文档,该设置可绕过该服务器的所有工具调用确认。然而,一次授予的信任可能逐渐变质。正如工具投毒和 rug-pull 攻击所展示的:当某天批准的一个工具开始返回攻击者控制的内容时。

一次授予的信任可能逐渐变质……当某天批准的一个工具开始返回攻击者控制的内容时。

Original source

本文由 AI 翻译整理自 The New Stack,原文版权归原作者所有。

阅读英文原文
上一篇
我用 Claude Code 九天给 47 个服务接入 OpenTelemetry 链路追踪
下一篇
DeepSeek推理优化:内核补齐+通信重构,吞吐翻7倍