# 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/)
