# 在 Mac 上监控 Claude Code 的网络连接：用 FireAI 保障安全

> Claude Code 会在你的 Mac 上运行命令并建立连接。本文介绍 Anthropic 关于其权限和域名的文档说明，以及 FireAI 如何标记新的目的地或上传峰值。

FireAI Security & Research Team (HisnLabs) · Published 2026-10-04
Canonical: https://hisnlabs.com/zh/blog/mac-jiankong-claude-code-wangluo

Claude Code 是 Anthropic 推出的编程智能体，在你的 Mac 的终端中运行。它会读取你的项目、编辑文件并代表你运行 shell 命令，而其中每一项操作都可能产生网络连接。本文梳理 Anthropic 文档中关于 Claude Code 如何在 macOS 上运行、它能访问什么以及哪些连接属于正常的说明，然后展示如何用 FireAI 监视这些连接。凡是来自 Anthropic 文档的事实，其来源均列于文末。

## Claude Code 是什么，如何在 Mac 上运行

Anthropic 的设置页面列出了在 macOS 上安装 Claude Code 的三种方式。推荐的原生安装程序是一个 `curl` 脚本，它会下载二进制文件并在后台自行更新。Homebrew 提供两个 cask：稳定渠道的 `claude-code` 和最新渠道的 `claude-code@latest`，通过 Homebrew 安装的版本不会自动更新。此外还有一个全局 npm 包 `@anthropic-ai/claude-code`；据同一页面所述，它安装的是同一个原生二进制文件，而安装后的 `claude` 二进制文件本身不会调用 Node。文档说明，在 macOS 上该二进制文件由“Anthropic PBC”签名并经过 Apple 公证，你可以用 `codesign --verify --verbose` 进行检查。

*终端*

```console
# check the signature of the claude binary, as the setup page describes
$ codesign --verify --verbose ./claude
```

## 它能访问什么，以及文档所述的权限模型

Claude Code 以启动它的账户所具有的权限运行。Anthropic 的安全页面描述了两种起始方式。在 Manual 模式下，它以只读方式启动，在编辑文件、运行测试或执行命令之前会先询问，而一组内置的只读命令，例如 `ls`、`cat` 和 `git status`，无需询问即可运行。Auto 模式是交互式终端和 VS Code 会话的内置起始模式：由一个单独的分类器模型审查各项操作，并拦截它判定为不安全的操作，同时你明确设置的询问和拒绝规则仍然适用。

文档中有三处细节与网络行为相关。第一，从网络获取内容的命令，例如 `curl` 和 `wget`，默认不会被自动批准。第二，工作目录的边界只是一个权限询问，因此你批准的 Bash 命令仍然可以写入你的用户账户能够写入的任何位置。第三，可选的沙箱化 Bash 工具通过 `/sandbox` 配置，在操作系统层面对 shell 命令实施文件系统和网络隔离。Anthropic 指出，沙箱只覆盖 shell 命令，文件工具、MCP 服务器和钩子都在沙箱之外运行。

安全页面还指出，没有任何系统能够完全免疫所有攻击，并建议审查建议的命令、避免把不受信任的内容直接通过管道传给 Claude，以及对涉及外部网络服务的脚本使用虚拟机。

## Claude Code 文档列出的域名

Anthropic 的网络配置页面列出了独立 CLI 所需的 URL。以下是厂商文档中与防火墙最相关的部分：

| 主机 | 文档所述用途 |
| --- | --- |
| api.anthropic.com | Claude API 请求、WebFetch 域名安全检查、功能开关获取和遥测事件记录 |
| claude.ai、claude.com、platform.claude.com | 账户登录和 OAuth 令牌交换 |
| mcp-proxy.anthropic.com | 来自 claude.ai 的 MCP 连接器 |
| downloads.claude.ai | 原生安装程序、自动更新程序、更新检查和插件下载 |
| registry.npmjs.org | 通过 npm 和 bun 安装 Claude Code、安装插件，以及通过 npx 启动的 MCP 服务器 |
| github.com、raw.githubusercontent.com | 克隆插件市场；/release-notes 的更新日志源 |
| http-intake.logs.us5.datadoghq.com、browser-intake-us5-datadoghq.com | 可选的运行遥测和错误报告；文档说明可通过 DISABLE_TELEMETRY 或 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 禁用 |

*资料来源：Claude Code 文档，Enterprise network configuration，“Network access requirements”。*

同一页面说明，Claude Code 遵循标准的 `HTTPS_PROXY` 和 `HTTP_PROXY` 变量，不支持 SOCKS 代理。此列表之外的流量，例如 Claude 运行的构建命令所访问的软件包仓库，属于项目自身的流量，而不是 Claude Code 的流量。

## 为什么网络视角仍有帮助

权限询问向你展示 Claude Code 想要运行的命令。它们不会显示由你之前批准的命令、MCP 服务器、插件或仓库中的脚本所产生的每一个连接。网络层面的视角回答的是一个范围更窄且互补的问题：在智能体工作期间，这台机器实际连接到了哪里。FireAI 的 Agent profile 正是为回答这个问题而设计的。

> Claude Code 在行动之前会先询问。网络防火墙为它连接到哪里提供了第二重视角。 [Download FireAI for Mac](https://hisnlabs.com/en/download)

## 用 FireAI 监视 Claude Code

FireAI 是 HisnLabs 开发的 macOS 防火墙，自 1.0.2 版起提供一项名为 [Agent profile](https://hisnlabs.com/zh/docs/agent-profile) 的功能。它能识别 19 种 AI 智能体，学习每种智能体通常连接到哪里，并标记异常行为供你审查。Claude Code 是通过其代码签名来识别的。

![FireAI 的 Activity 列表按“claude”筛选：三行 claude 记录，分别连接到 api.anthropic.com 和 DNS 查询，每一行都显示 Claude Code 角色形象；另有一行 Brave Browser Helper 连接到 claude.ai，显示的是普通的 App 图标。](https://cdn.hisnlabs.com/blog/monitor-claude-code-activity.png)

*Mac 上 FireAI 的 Activity 列表：claude 命令行进程带有 Claude Code 角色形象，而访问 claude.ai 的浏览器仍显示为普通 App。*

Claude Code 是 FireAI 根据其开发者代码签名进行核验的三种智能体之一，因此匹配结果不只是一个名称。

FireAI 还会识别智能体的子进程，例如智能体运行的 shell、git 或 curl，方法是沿着进程的父进程向上追溯，直到找到该智能体。因此，这些连接会被计为智能体自己的连接。

## FireAI 会标记什么

1. 在最初的 3 天里，FireAI 学习该智能体通常联系的目的地，并按域名分组。在此学习期内不会标记任何内容。
2. 此后，学习所得基线之外首次出现的目的地会被标记以供审查。
3. 上传峰值也会被标记：某一小时内该智能体的上传量至少是其此前最繁忙一小时的 4 倍，且不少于 25 MB。

Agent profile 只使用元数据，即主机名和字节数。FireAI 从不读取连接的有效载荷，也无法读取加密连接的内部内容。

## 为 Claude Code 进行设置

1. 安装 FireAI 并完成设置，然后像平常一样继续使用 Claude Code。3 天学习期从 FireAI 看到的内容开始计算。
2. 打开 Suggestions，查看 AI agents 卡片。它列出 FireAI 已识别的智能体，以及它对每个智能体学到的内容。
3. 当 Claude Code 访问一个它从未联系过的目的地时，标记会出现在 AI agents 卡片和 [Quick Review](https://hisnlabs.com/zh/docs/quick-review-suggestions) 中。向左滑动为拦截，向右滑动为“It’s fine”（没问题）。
4. Block 会为发起连接的进程创建一条规则。“It’s fine”会把该目的地加入智能体的基线，使其不再被标记。
5. 若要让智能体只访问它已经在用的地方，请在安全模式菜单中选择 Agent profile，它与 Home、Coffee shop、Paranoid 和 Under attack 并列。智能体完成学习后，连接到基线之外目的地的请求会被拦截，而不只是被标记。
6. 被拦截的目的地会出现在 AI agents 卡片中，并附有 Allow 和 Keep blocked 两个选项。Allow 会把它加入基线，智能体随即可以访问。Keep blocked 会创建一条拦截规则，使该目的地在所有模式下都保持被拦截。

> **Note:** Agent profile 安全模式随 FireAI 1.0.3 推出。智能体仍在学习时不会拦截任何内容，上传峰值只会被标记，不会被拦截。你自己为网站、域名或地址编写的允许规则仍然优先，DNS 和你的本地网络也绝不会被拦截。

> 想看看 Claude Code 在你的 Mac 上连接到哪里吗？FireAI 可以免费试用。 [Download FireAI for Mac](https://hisnlabs.com/en/download)

## 局限

- FireAI 无法阻止提示注入。隐藏在网页或文件中的提示仍可能操纵智能体。FireAI 能做的是标记数据离开你的 Mac 的路径，并允许你拦截该路径。
- FireAI 看不到提示、MCP 工具的内容，也看不到 Claude Code 读取了哪些文件，例如 ~/.ssh。TLS 隐藏了有效载荷，而且 FireAI 并不在智能体内部。
- 很快就退出的子进程可能会被遗漏，而且子进程是按路径而非签名匹配的。
- 在 3 天学习期内不会标记任何内容。
- 在 Agent profile 模式下，直接连接到没有主机名的裸 IP 地址时，会按地址进行匹配。如果智能体常用的某项服务从一个新地址响应，该连接在你允许之前会被拦截。
- FireAI 对标记所作的平实说明依据的是它测量到的事实。它从不声称某个目的地安全或危险，决定权在你。

## 相关指南

同样的方法适用于 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)、[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)、[Gemini CLI](https://hisnlabs.com/en/blog/monitor-gemini-cli-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)。完整的功能说明见 [Agent profile 文档](https://hisnlabs.com/zh/docs/agent-profile)。

> FireAI 由 HisnLabs 开发，在你的 Mac 上运行，无需云端账户。下载后即可查看你的智能体联系过哪些目的地。 [Download FireAI for Mac](https://hisnlabs.com/en/download)

## FireAI 和 HisnLabs 在其中扮演的角色

Claude Code 在行动之前会先询问。网络防火墙为它连接到哪里提供了第二重视角。

FireAI 是 HisnLabs 自己的产品：一款直接在 Mac 上运行的 AI 防火墙。它用通俗易懂的语言显示你的应用建立的每一个连接，并让你决定哪些数据可以离开你的 Mac——它的 AI 在本地运行，因此你的流量永远不会发送给我们或任何其他人。HisnLabs 的安全研究团队负责让这些判断保持准确：归类哪些域名只是普通的遥测、哪些属于真正的服务，追踪连接背后的国家和网络，并用真实的流量模式训练设备端模型（FireAI Pilot 功能）——这一切都不会离开你的 Mac。

你可以阅读它背后的技术决策，或试用 FireAI 17 天：[HisnLabs 出品的 FireAI](https://hisnlabs.com/zh/download)。

## Sources

- [Claude Code documentation: Security](https://code.claude.com/docs/en/security)
- [Claude Code documentation: Network configuration](https://code.claude.com/docs/en/network-config)
- [Claude Code documentation: Advanced setup](https://code.claude.com/docs/en/setup)
- [Claude Code documentation: Sandboxing](https://code.claude.com/docs/en/sandboxing)
- [FireAI docs: Agent profile](https://hisnlabs.com/en/docs/agent-profile)
- [FireAI docs: Quick Review and Suggestions](https://hisnlabs.com/en/docs/quick-review-suggestions)
- [FireAI docs: Security modes](https://hisnlabs.com/en/docs/security-modes)
