在 Mac 上运行 OpenClaw 这样的自主智能体,意味着把启动它的账户所拥有的权限交给一个语言模型;自 2026 年 1 月以来公开发表的安全报道记录了这种安排出问题的多种方式。这些失败大多以一次网络连接告终:数据被发送到未知服务器、本地服务可以从外部访问,或者下载了恶意载荷。FireAI 是一款 macOS 网络防火墙,因此它可以限制这一部分。它无法阻止智能体读取或删除本地文件,本文会说明边界在哪里。
背景
OpenClaw 自己的文档指出:除非配置了沙箱,工具都在主机上运行;传入的消息属于不可信输入;拥有消息工具权限的智能体默认可以跨会话和跨渠道提供方发送消息 [1]。因此,智能体同时具备三点:它读取不可信文本,它可以在机器上执行操作,它可以向外通信。防火墙处理的是第三点。下文依次讨论每一类已有记录的风险,指出适用的 FireAI 控制措施,并列出设置步骤。OpenClaw 与 Hermes Agent 的总体比较见另一篇文章。
设置之前:FireAI 如何识别智能体
FireAI 通过发起连接的可执行文件的代码签名来识别 App;对于未签名的程序,则通过其路径识别。它与 OpenClaw 或 Hermes Agent 没有任何集成,也不会按名称识别它们。这类智能体运行在通用解释器中,通常是 Node.js 或 Python,因此 FireAI 显示的是来自“node”或“python3”的连接。针对该解释器的规则会作用于同一个二进制文件运行的所有脚本,包括无关的工具。
目前无法按脚本归属连接。因此,下文的每条规则都作用于整个解释器,拦截智能体目的地的规则也会影响同一解释器运行的其他脚本。在询问中读出解释器的名称,并将其与智能体工作的时刻对应起来,是归属一次连接的实用方法。
风险 1:把数据发出去的提示注入
卡巴斯基报告称,OpenClaw 被证明容易通过恶意电子邮件内容遭到数据窃取,其中包括一名研究人员通过在消息中嵌入指令提取私有加密密钥的演示,以及有用户报告机器人在受到社会工程提示后把主目录内容倒进了群聊 [3]。外泄这一步,是从智能体进程到攻击者控制的服务器或某个消息服务的一次出站连接。
FireAI 通过代码签名识别每个 App,并针对每个连接检查其规则。在 Alert 模式下,它会暂停对没有规则的目的地的首次连接并询问你 [12]。限制这一风险的设置方法,是围绕智能体建立一份允许列表:
- 启动一次智能体,让 FireAI 显示它的首批连接。在询问中点按 Options,为你实际使用的模型提供方域名选择 Always 和 The whole website,然后选择 Allow。询问中显示的是解释器的名称,而不是智能体的名称。
- 为该 App 拦截其他所有目的地:打开 Rules,点按 Add rule,选择 Stop the connection,选取智能体所运行的解释器(node 或 python3),并将 Which website or server 设为 Anywhere on the internet。
- 打开你为模型提供方创建的 Allow 规则并开启 Quick,这样第一条匹配的 Quick 规则会在考虑宽泛的 Block 规则之前作出决定。
- 对之后的询问,除非你能说出目的地是什么,否则一律选择 Block。智能体读取电子邮件之后紧接着出现针对陌生域名的询问,正是这项控制旨在揭示的信号。
- 在询问中打开 Details,检查地址、端口和代码签名状态;如果提供了 Why block this?,也可以使用它。
这种做法有其局限。如果智能体被允许访问某个消息服务或其模型提供方,被注入的指令就可以把数据发送到那里;FireAI 能看到发送了多少,但看不到内容,因为它不读取加密连接的内容(如何在不解密的情况下检查连接)。
风险 2:恶意或被入侵的技能
Koi Security 审查了 ClawHub 上的 2,857 个技能,发现其中 341 个是恶意的,其中 335 个来自同一场攻击活动;据 eSecurity Planet 报道,这些技能要求用户安装“前置组件”,而这些组件投放的是 Atomic macOS Stealer,其目标包括浏览器凭据、钥匙串密码、钱包、SSH 密钥和 API 令牌 [6]。技能以智能体的权限运行,因此它的网络请求看起来就是智能体发出的。
FireAI 的控制措施从两个方面作用于这些请求的去向。第一,上一节的允许列表会拒绝从未获批准的目的地。第二,FireAI 可以使用公开的威胁列表:
- 在 FireAI 中打开威胁列表页面,开启 Use public threat data。FireAI 随后每天下载一次 abuse.ch URLhaus、ThreatFox 和 Feodo Tracker 等列表,你的流量绝不会被发送给它们。参见文档。
- 开启 Block what a threat list confirms,让确认的匹配直接变为拦截,而不只是标记。
- 打开 Threats,对任何你不认识的条目使用 Investigate;调查档案会逐步解释该连接。
- 保持 Connection history 开启(Settings、Connection history),以便日后查看哪个 App 联系了哪个目的地;它只在这台 Mac 上保存 7 天的记录。
联系任何列表都不知道的服务器、或只读取本地文件的技能,不会被这项控制拦住。在安装前审查技能仍然是首要防线。
风险 3:可从外部或浏览器访问的本地网关
Censys 记录到,在截至 2026 年 1 月 31 日的不到一周时间里,公开暴露的 OpenClaw 实例从约 1,000 个增长到 21,639 个,同时指出 Gateway 的设计是在本地 TCP 端口 18789 上监听 [4]。卡巴斯基描述了一些未启用身份验证、信任 localhost 且位于配置错误的反向代理之后的安装 [3]。Oasis Security 发现的 ClawJacked 问题表明,网页可以从浏览器连接到本地 Gateway;该问题已在 OpenClaw 2026.2.25 中修复 [5]。
FireAI 既对传出连接执行规则,也对进入 Mac 的连接执行规则,不过它从不就传入连接发出询问。参见文档。相关步骤如下:
- 当 Mac 位于你无法控制的网络上时,切换到 Coffee shop 模式。如安全模式中所述,它会阻止传入连接以及与其他设备的文件共享和屏幕共享。
- 若要自动切换,可按照地点文档的说明把 Coffee shop 模式关联到你的公共场所,或使用 FireAI 文档中针对公共 Wi-Fi 介绍的 Coffee Shop Armor。
- 在任何你不完全信任的网络上,在 Rules 中为智能体 App 添加一条传入方向的 Block 规则(在 Advanced 下将 Direction 设为 incoming)。
- 同时检查智能体自身的配置:Gateway 应当保持绑定在回环地址上,正如 OpenClaw 文档针对常规主机安装所描述的那样 [1]。
风险 4:凭据和文件离开本机
同一份报道把 API 密钥、令牌、SSH 密钥和钱包文件列为攻击目标 [6]。针对网络外泄,有三项 FireAI 功能适用:
- 协议检查会在未加密的 Web 请求离开 Mac 之前,拦截其中携带的银行卡号、银行信息、密码或密钥,并拦截伪装成 DNS 查询偷运出去的数据;不会存储或发送任何内容。参见文档。
- 世界地图和 Activity 会实时显示每个连接,并提供可搜索的历史记录。右键点按某个连接,可选择 Deny host、Block IP for all apps 或 Block this app everywhere。参见文档。
- Ask FireAI 接受平实语言的指令,例如“block”加上 App 在 FireAI 中显示的名称(对智能体而言是解释器名称),它会显示预览,在你点按 Apply 之前不会应用任何更改。参见文档。
通过加密连接发送到已允许目的地的凭据,超出了 FireAI 的可见范围。
风险 5:无人值守时的意外连接
智能体在无人值守的情况下工作。OpenClaw 的文档指出,未知发送者默认会被配对,且除非加以限制,智能体可以跨渠道发送消息 [1];Hermes Agent 的文档描述了一套命令审批系统,其模式可以设为关闭 [7]。在无人值守的运行中,错误或被注入的操作能在有人注意到之前造成最大的影响。
- 通过 Ask FireAI 创建定时规则,让智能体只在设定时段内联网,例如“allow the agent during work hours”(在工作时间允许该智能体);内置的四个时段为夜间、晚上、工作时间和周末。参见文档。
- 智能体无人监督运行时,使用 Paranoid 模式。它会拦截跟踪流量、未签名的 App 和所有未加密端口,甚至 Apple 的系统工具也必须经过批准 [10]。
- 当智能体行为异常时,使用 Under attack 模式或紧急断网开关。Under attack 只允许具有明确 Allow 规则的 App,并停止询问。紧急断网开关会拒绝家庭或办公网络之外的任何新连接,也可以从菜单栏使用 [11]。
- 把 FireAI Pilot 留给其他 App 使用,或在 Suggestions 中审查它,因为它会自动回答有把握的连接;对于智能体,明确的规则更便于审计。
建议
- 在专用的 macOS 用户账户或虚拟机中运行智能体,只提供它所需的文件夹。
- 给它可撤销、范围狭窄的凭据,绝不提供你的主密码管理器或 SSH 密钥。
- 安装技能前阅读其源代码,拒绝任何要求你粘贴 shell 命令作为前置条件的技能。
- 保持智能体为最新版本;ClawJacked 的修复只有通过更新才能到达用户。
- 在智能体提供命令审批的地方,保持手动审批。
- 把允许列表、紧急断网开关和适合你工作地点的模式结合起来使用。
局限
- FireAI 看到的是发起连接的解释器(例如 node 或 python3),而不是智能体的名称;规则会作用于该解释器运行的一切。它与这些智能体没有任何集成。
- FireAI 控制哪个 App 连接到哪里,并能切断互联网。它无法阻止智能体删除、加密或读取本地文件、运行命令或更改 Mac 上的设置。
- 紧急断网开关拒绝新连接,但不会断开已经建立的连接。
- FireAI 不读取加密连接的内容,因此发送到已允许目的地的数据不会被检查。
- 文档未说明会过滤浏览器与本地服务之间的回环流量;应通过更新智能体来修补此类缺陷。
- 威胁列表只拦截其确认的内容;新的服务器或只在本地行动的技能不在覆盖范围内。
- 防火墙无法纠正智能体自身的设计选择,例如绑定在公网地址上的 Gateway。
- 还需要配套措施:最小权限账户、沙箱或虚拟机、备份,以及在安装前审查技能。
FireAI 和 HisnLabs 在其中扮演的角色
智能体行动迅速,而网络防火墙决定它们可以连接到哪里。
FireAI 是 HisnLabs 自己的产品:一款直接在 Mac 上运行的 AI 防火墙。它用通俗易懂的语言显示你的应用建立的每一个连接,并让你决定哪些数据可以离开你的 Mac——它的 AI 在本地运行,因此你的流量永远不会发送给我们或任何其他人。HisnLabs 的安全研究团队负责让这些判断保持准确:归类哪些域名只是普通的遥测、哪些属于真正的服务,追踪连接背后的国家和网络,并用真实的流量模式训练设备端模型(FireAI Pilot 功能)——这一切都不会离开你的 Mac。
你可以阅读它背后的技术决策,或试用 FireAI 17 天:HisnLabs 出品的 FireAI。
