# Mac 上的 Gemini CLI 安全:监控它的网络连接 > Google 的 Gemini CLI 会在你的终端中运行 shell 命令、读取文件并抓取网页。了解其文档所述的沙箱和受信任文件夹,以及 FireAI 如何标记新的目的地。 FireAI Security & Research Team (HisnLabs) · Published 2026-10-04 Canonical: https://hisnlabs.com/zh/blog/mac-gemini-cli-anquan-jiankong Gemini CLI 是 Google 的开源命令行智能体。它会读取和编辑文件、运行 shell 命令并抓取网页,因此搜索“gemini cli security mac”或“is Gemini CLI safe”的人想知道它有哪些限制、流量去往何处。本文总结 Google 自己的文档,然后展示 HisnLabs 开发的 macOS 网络防火墙 FireAI 如何监视它。 ## Gemini CLI 是什么,如何在 Mac 上运行 其[代码仓库](https://github.com/google-gemini/gemini-cli)将 Gemini CLI 描述为一个把 Gemini 带入终端的开源 AI 智能体。它由 Google 开发,采用 Apache License 2.0 许可证。它可以通过 npm(`npm install -g @google/gemini-cli`)或 Homebrew(`brew install gemini-cli`)安装,也可以通过 `npx @google/gemini-cli` 免安装运行。因此它是一个 Node.js 程序,可以使用 Google 账户(OAuth)、Gemini API 密钥或 Vertex AI 登录。 ## 它能访问什么 其内置工具涵盖文件系统操作、shell 命令执行、基于 Google 搜索依据的网页抓取,以及用于自定义集成的 MCP 服务器。README 提到了使用情况跟踪,相关内容见其遥测文档,要查看该工具上报了什么,应当查阅那里。 ## 文档所述的权限与沙箱模型 Google 记录了两项在 Mac 上相关的控制措施。 - 沙箱:在 macOS 上,轻量级选项使用 Seatbelt(`sandbox-exec`)配置文件。默认配置文件 `permissive-open` 把写入限制在项目目录内,同时允许广泛的文件读取和网络访问。更严格的配置文件(包括经代理的变体)通过 `SEATBELT_PROFILE` 环境变量选择,Docker 或 Podman 容器则是另一种选择。可以通过 `-s` 或 `--sandbox`、`GEMINI_SANDBOX` 或 settings.json 启用。 - 受信任文件夹(Trusted Folders):默认禁用。启用后,不受信任的文件夹会让 CLI 进入安全模式,关闭工作区设置、MCP 服务器连接、自定义命令和工具自动接受。 沙箱页面本身指出,沙箱可以降低风险,但不能消除所有风险。请注意,默认的 Seatbelt 配置文件仍然允许网络访问,因此它并不限制数据可以发送到哪里。 本文查阅的文档没有公布 Gemini CLI 所联系域名的完整列表。Google 登录、Gemini API 以及它抓取的任何网页是显而易见的候选,但只有你自己的观察才能加以确认。 > 默认沙箱允许网络访问。FireAI 关注的正是这一缺口:它显示每一个新的目的地,并允许你拦截它。可免费试用。 [Download FireAI for Mac](https://hisnlabs.com/en/download) ## 用 FireAI 监视 Gemini CLI FireAI 是 HisnLabs 开发的 macOS 设备端防火墙。其 [Agent profile](https://hisnlabs.com/zh/docs/agent-profile) 功能把 Gemini CLI 列为它识别的 19 种 AI 智能体之一。由于 Gemini CLI 通过 node 运行,FireAI 通过运行时所运行的脚本来识别它,这是 Agent profile 针对 node、bun、deno 和 python 智能体所采用的方法。智能体的子进程,例如它启动的 shell、git 或 curl,会通过向上追溯父进程而归属于它。随后,FireAI 会在最初 3 天学习 Gemini CLI 通常联系哪些目的地,按域名分组,在此期间不标记任何内容。此后,首次出现的目的地会在 Suggestions、AI agents 卡片和 [Quick Review](https://hisnlabs.com/zh/docs/quick-review-suggestions) 中被标记。上传峰值也会被标记:某一小时内该智能体的上传量至少是其此前最繁忙一小时的 4 倍,且不少于 25 MB。 FireAI 只使用元数据,即主机名和字节数,从不读取连接的有效载荷。默认情况下,它只作标记,把决定留给你。在 Agent profile 安全模式下,它会更进一步:学习结束后,连接到基线之外目的地的请求会被拦截,直到你点按 Allow;Keep blocked 则会把这次拦截变成一条在所有模式下都有效的规则。 ### 逐步设置 1. 安装 FireAI 并完成首次运行设置,参见 [Install and finish setup](https://hisnlabs.com/zh/docs/install-and-finish-setup)。 2. 像平常一样使用 Gemini CLI 3 天。FireAI 会在后台学习其目的地,此时还不会标记任何内容。 3. 打开 Suggestions,找到 AI agents 卡片。出现标记时,阅读那句平实的说明,然后在 Quick Review 中向左滑动拦截,或向右滑动选择“It’s fine”(没问题)。 4. 如果希望智能体只访问它已经在用的地方,请在安全模式菜单中选择 Agent profile,它与 Home、Coffee shop、Paranoid 和 Under attack 并列。 5. 有内容被拦截时,打开 AI agents 卡片,选择 Allow 将其加入基线,或选择 Keep blocked 创建拦截规则。 ## 局限 - FireAI 无法阻止提示注入。它通过标记数据离开你的 Mac 的路径并允许你拦截该路径来限制损害。 - FireAI 看不到 Gemini CLI 的提示、MCP 工具的内容、技能,也看不到它读取了哪些文件,因为 TLS 隐藏了有效载荷,而且 FireAI 并不在智能体内部。 - Gemini CLI 是按脚本名称匹配的,因此 FireAI 只是对它进行标注,而不是验证:只有 Claude Code、Claude 和 Cursor 会根据其开发者的签名进行核验。 - 智能体抓取的网页对它而言是正当的目的地,但对其基线来说可能是新的,因此当你让它进行调研时,预计会出现标记。 - FireAI 与 Gemini CLI 的沙箱和受信任文件夹协同工作,而不是取代它们。 - 在 3 天学习期内不会标记任何内容,上传峰值只会被标记,不会被拦截。 - 由于目的地按域名分组,智能体已在使用的域名下的新服务器会被视为已知。 提示注入,即被抓取页面中的文字操纵智能体,已被 [OWASP](https://genai.owasp.org/llmrisk/llm01-prompt-injection/) 收录。FireAI 无法阻止它。该功能的说明见 [Agent profile 文档](https://hisnlabs.com/zh/docs/agent-profile)。 FireAI 识别的其他智能体也有各自的指南:[Claude Code](https://hisnlabs.com/en/blog/monitor-claude-code-network-mac-fireai)、[Claude 桌面 App](https://hisnlabs.com/en/blog/monitor-claude-desktop-app-network-mac-fireai)、[Cursor](https://hisnlabs.com/en/blog/monitor-cursor-network-mac-fireai)、[ChatGPT Mac App](https://hisnlabs.com/en/blog/monitor-chatgpt-mac-app-network-fireai)、[OpenAI Codex CLI](https://hisnlabs.com/en/blog/monitor-openai-codex-cli-network-mac-fireai)、[OpenClaw](https://hisnlabs.com/en/blog/monitor-openclaw-network-mac-fireai)、[Hermes Agent](https://hisnlabs.com/en/blog/monitor-hermes-agent-network-mac-fireai)、[GitHub Copilot CLI](https://hisnlabs.com/en/blog/monitor-github-copilot-cli-network-mac-fireai)、[Amp](https://hisnlabs.com/en/blog/monitor-amp-agent-network-mac-fireai)、[Qwen Code](https://hisnlabs.com/en/blog/monitor-qwen-code-network-mac-fireai)、[opencode](https://hisnlabs.com/en/blog/monitor-opencode-network-mac-fireai)、[Aider](https://hisnlabs.com/en/blog/monitor-aider-network-mac-fireai)、[Goose](https://hisnlabs.com/en/blog/monitor-goose-agent-network-mac-fireai)、[Crush](https://hisnlabs.com/en/blog/monitor-crush-agent-network-mac-fireai)、[Windsurf](https://hisnlabs.com/en/blog/monitor-windsurf-network-mac-fireai)、[Kiro](https://hisnlabs.com/en/blog/monitor-kiro-network-mac-fireai)、[Trae](https://hisnlabs.com/en/blog/monitor-trae-network-mac-fireai)、[Meta 的 Muse](https://hisnlabs.com/en/blog/monitor-muse-meta-network-mac-fireai)、[由 Python 或 Node 运行的任何 AI 智能体](https://hisnlabs.com/en/blog/monitor-any-ai-agent-mac-python-node-fireai)。 ## FireAI 和 HisnLabs 在其中扮演的角色 Gemini CLI 可以在你的终端中运行命令并抓取网页。FireAI 显示它接下来连接到哪里,并且可以拦截。 FireAI 是 HisnLabs 自己的产品:一款直接在 Mac 上运行的 AI 防火墙。它用通俗易懂的语言显示你的应用建立的每一个连接,并让你决定哪些数据可以离开你的 Mac——它的 AI 在本地运行,因此你的流量永远不会发送给我们或任何其他人。HisnLabs 的安全研究团队负责让这些判断保持准确:归类哪些域名只是普通的遥测、哪些属于真正的服务,追踪连接背后的国家和网络,并用真实的流量模式训练设备端模型(FireAI Pilot 功能)——这一切都不会离开你的 Mac。 你可以阅读它背后的技术决策,或试用 FireAI 17 天:[HisnLabs 出品的 FireAI](https://hisnlabs.com/zh/download)。 ## Sources - [Gemini CLI repository (README)](https://github.com/google-gemini/gemini-cli) - [Gemini CLI documentation: Sandboxing](https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/sandbox.md) - [Gemini CLI documentation: Trusted Folders](https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/trusted-folders.md) - [FireAI docs: Agent profile](https://hisnlabs.com/en/docs/agent-profile) - [OWASP Gen AI Security Project: LLM01:2025 Prompt Injection](https://genai.owasp.org/llmrisk/llm01-prompt-injection/)