Claude Desktop 为 Chrome 及其他浏览器安装未记录的浏览器扩展

Lobsters Hottest 新闻

摘要

安全研究人员发现,Anthropic 的 Claude Desktop 应用在未经用户同意的情况下,秘密为基于 Chrome 的浏览器安装未记录的原生消息清单文件,创建了一个后门,允许浏览器扩展以系统权限级别执行代码。文章认为,这违反了电子隐私指令和计算机访问法律。

<p><a href="https://lobste.rs/s/pfqxak/claude_desktop_installs_undocumented">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/04/20 14:43

# Anthropic 在你安装 Claude Desktop 时秘密安装了间谍软件 来源:https://www.thatprivacyguy.com/blog/anthropic-spyware/ ## Anthropic 在我的电脑上静默安装了间谍软件桥接器 我当时正在做一个个人项目,调试一个我为此编写的原生消息助手。在这个过程中,我需要检查 Brave 浏览器在我的笔记本上注册了什么。我发现了一个我从未放进去的文件。它不是我的。我没有安装过它。我没有授权过它。我甚至没有被通知过它。 它来自 Anthropic。 该文件位于我 MacBook 的这个路径: `` ~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/com.anthropic.claude_browser_extension.json `` 其内容如下: `` { "name": "com.anthropic.claude_browser_extension", "description": "Claude 浏览器扩展原生主机", "path": "/Applications/Claude.app/Contents/Helpers/chrome-native-host", "type": "stdio", "allowed_origins": [ "chrome-extension://dihbgbndebgnbjfmelmegjepbnkhlgni/", "chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/", "chrome-extension://dngcpimnedloihjnnfngkgjoidhnaolf/" ] } `` 对于非技术读者来说,这是一个原生消息清单 [1]。当浏览器扩展想要调用本地机器上的可执行文件时,基于 Chromium 的浏览器会查询这个文档。原生消息主机运行在浏览器沙箱之外,具有与用户相同的权限级别 [1]。如果一个拥有上述三个 ID 之一的浏览器扩展访问我的 Brave 安装,Brave 已获得预授权,可以以我的访问权限在我的笔记本电脑上生成`/Applications/Claude.app/Contents/Helpers/chrome-native-host`这个二进制文件。 我没有安装任何 Anthropic 浏览器扩展。由于隐私和安全方面的担忧,我从未安装过 Claude 浏览器扩展。我确实安装过 Claude Desktop,也就是 Mac 应用,那是之前的事了。这是这台机器上唯一可能写入该文件的东西。Claude Desktop 进入了 Brave,一个来自完全不同供应商的浏览器,并为我根本没有的浏览器扩展注册了一个后门。 在继续之前,我需要澄清一点,因为 Anthropic 生态系统中有两个名称相似的产品。本文讨论的是 Claude Desktop,这是一个基于 Electron 的 macOS 应用程序,包标识符为`com.anthropic.claudefordesktop`,以`Claude.app`形式分发。它不是关于 Claude Code,Anthropic 的命令行开发工具。Claude Code 有其单独文档记录 [2] 的原生消息桥接器,文件名为`com.anthropic.claude_code_browser_extension.json`。本文讨论的桥接器是在不同的文件名`com.anthropic.claude_browser_extension.json`下,由不同的产品、不同的内部子系统安装的,并且完全未被 Anthropic 记录。这两个桥接器共存。本文关注的是那个未记录的那个。 我想直截了当地说。这是一种黑暗模式。而且,根据我的专业判断,它直接违反了 2002/58/EC 指令(电子隐私指令)第 5(3) 条 [3],以及众多计算机访问和滥用法律(通常是刑法),其规模之大足以引起重视,而该供应商却花费了大量精力将自己塑造成注重安全的 AI 实验室。 ## 桥接器被唤醒时做什么 在静止状态下,桥接器不做任何事情。直到具有上述三个 ID 之一的浏览器扩展调用它,该二进制文件才会运行。所以,在我的机器上,现在什么都没发生。这是 Anthropic 试图躲在后面的一个论点。让我提前戳破它。 当配对的扩展存在且桥接器被激活时,它会将浏览器自动化能力暴露给 Claude 正在运行的任何代理进程。Anthropic 在他们自己的公开文档中描述了这些能力 [2]。用他们自己的话说: > “Claude 会为浏览器任务打开新标签页,并共享您浏览器的登录状态,因此它可以访问您已登录的任何网站。” > “实时调试:直接读取控制台错误和 DOM 状态,然后修复导致问题的代码。” > “数据提取:从网页中提取结构化信息并保存到本地。” > “任务自动化:自动执行重复的浏览器任务,例如数据输入、表单填写或多站点工作流程。” > “会话记录:将浏览器交互记录为 GIF,以记录或分享发生的情况。” 这些是明确的经过身份验证的会话访问、DOM 状态读取、表单填写和屏幕截图,由 Anthropic 在自己的文档网站上描述。如果我银行页面在一个标签页中打开,桥接器的记录功能包括以我的身份读取它。如果我有税务、健康门户、客户 Slack 或生产基础设施的管理控制台,记录功能包括以我的身份在那里操作。 桥接器在浏览器沙箱之外以用户权限级别运行 [1],并且原生消息主机不会出现在任何标准的 macOS 进程或权限 UI 中,它们由浏览器调用并通过 stdio 通信。 这就是 Anthropic 在我安装他们的桌面应用程序的那一刻就在我笔记本电脑上预先部署的能力。没有告诉我。没有问我。没有给我说不的机会。 顺带一提,截至 2026 年 4 月,Claude for Chrome 本身仍然标为“测试版”,它于 2025 年 8 月作为研究预览版推出,并在 2025 年底更广泛地推出 [4]。Anthropic 自己的发布公告公开承认,提示注入是一个核心安全挑战,在采取任何缓解措施之前,针对恶意行为者的攻击成功率为 23.6%,而目前防御措施下的成功率为 11.2% [4]。这个静默预装在每个运行过`Claude.app`的用户笔记本电脑上的功能,根据 Anthropic 自己的测量,大约有四分之一的概率可以通过提示注入被攻破。 ## 完整审计报告 这是我在第二台机器上进行的审计,我重现了该发现。 ### 1. 在机器上定位每个 Anthropic 原生消息清单 `` $ find ~/Library/Application\ Support -name "com.anthropic.claude_browser_extension*" ~/Library/Application Support/Arc/User Data/NativeMessagingHosts/com.anthropic.claude_browser_extension.json ~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/com.anthropic.claude_browser_extension.json ~/Library/Application Support/Chromium/NativeMessagingHosts/com.anthropic.claude_browser_extension.json ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json ~/Library/Application Support/Microsoft Edge/NativeMessagingHosts/com.anthropic.claude_browser_extension.json ~/Library/Application Support/Vivaldi/NativeMessagingHosts/com.anthropic.claude_browser_extension.json ~/Library/Application Support/com.operasoftware.Opera/NativeMessagingHosts/com.anthropic.claude_browser_extension.json `` 七个文件,每个基于 Chromium 的浏览器路径一个。 ### 2. 确认每个清单完全相同 `` $ md5 -q ~/Library/Application\ Support/*/NativeMessagingHosts/com.anthropic.claude_browser_extension.json \ ~/Library/Application\ Support/*/*/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 1e927a9e7796d0175a2a1f30028f4baa 1e927a9e7796d0175a2a1f30028f4baa 1e927a9e7796d0175a2a1f30028f4baa 1e927a9e7796d0175a2a1f30028f4baa 1e927a9e7796d0175a2a1f30028f4baa 1e927a9e7796d0175a2a1f30028f4baa 1e927a9e7796d0175a2a1f30028f4baa `` 每个文件具有相同的 MD5 哈希值。七个清单逐字节完全相同。 ### 3. 列出机器上实际安装的浏览器 `` $ ls /Applications/ | grep -iE "chrome|brave|safari|edge|opera|vivaldi|arc|chromium|firefox|tor" Brave Browser.app Google Chrome.app Safari.app Tor Browser.app `` 这台机器上`/Applications`中存在的基于 Chromium 或相关浏览器是 Brave、Chrome、Safari 和 Tor。在安装清单的七个浏览器中,有四个(Edge、Chromium、Arc、Vivaldi、Opera,减去 Brave 和 Chrome)并未安装在这台机器上。 ### 4. 检查原生消息目录的创建时间以及清单的最后修改时间 `` $ stat -f "birth:%SB mod:%Sm %N" ~/Library/Application\ Support/*/NativeMessagingHosts/com.anthropic.claude_browser_extension.json \ ~/Library/Application\ Support/*/*/NativeMessagingHosts/com.anthropic.claude_browser_extension.json birth:Jan 19 08:19:15 2026 mod:Apr 16 23:42:19 2026 .../Arc/User Data/NativeMessagingHosts/... birth:Jan 19 08:19:15 2026 mod:Apr 16 23:42:19 2026 .../BraveSoftware/Brave-Browser/NativeMessagingHosts/... birth:Jan 19 08:19:15 2026 mod:Apr 16 23:42:19 2026 .../Chromium/NativeMessagingHosts/... birth:Dec 20 04:18:42 2025 mod:Apr 16 23:42:18 2026 .../Google/Chrome/NativeMessagingHosts/... birth:Jan 19 08:19:15 2026 mod:Apr 16 23:42:19 2026 .../Microsoft Edge/NativeMessagingHosts/... birth:Jan 19 08:19:15 2026 mod:Apr 16 23:42:19 2026 .../Vivaldi/NativeMessagingHosts/... birth:Jan 19 08:19:15 2026 mod:Apr 16 23:42:19 2026 .../com.operasoftware.Opera/NativeMessagingHosts/... `` 创建时间(文件创建):Chrome 清单首次创建于 2025 年 12 月 20 日。其他六个清单具有相同的创建时间:2026 年 1 月 19 日 08:19:15。 修改时间:每个清单最后重写于 2026 年 4 月 16 日 23:42:18 或 23:42:19。 创建时间与修改时间相差数月,这意味着这些文件在创建后被重写过,而不仅仅是创建一次。 ### 5. 读取 Claude Desktop 自己的日志 Claude Desktop 将其日志保存在`~/Library/Logs/Claude/main.log`。它公开记录在内部子系统名称`Chrome Extension MCP`下进行的安装: `` $ grep -E "Chrome Extension MCP|App is installed" ~/Library/Logs/Claude/main.log 2026-03-21 14:54:39 [info] App is installed, enabling initial check and auto-updates 2026-03-21 14:54:40 [info] [Chrome Extension MCP] Installed native host manifest for Chrome at /Users/alexanderhanff/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 2026-03-21 14:54:40 [info] [Chrome Extension MCP] Installed native host manifest for Brave at /Users/alexanderhanff/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 2026-03-21 14:54:40 [info] [Chrome Extension MCP] Installed native host manifest for Edge at /Users/alexanderhanff/Library/Application Support/Microsoft Edge/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 2026-03-21 14:54:40 [info] [Chrome Extension MCP] Installed native host manifest for Chromium at /Users/alexanderhanff/Library/Application Support/Chromium/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 2026-03-21 14:54:40 [info] [Chrome Extension MCP] Installed native host manifest for Arc at /Users/alexanderhanff/Library/Application Support/Arc/User Data/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 2026-03-21 14:54:40 [info] [Chrome Extension MCP] Installed native host manifest for Vivaldi at /Users/alexanderhanff/Library/Application Support/Vivaldi/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 2026-03-21 14:54:40 [info] [Chrome Extension MCP] Installed native host manifest for Opera at /Users/alexanderhanff/Library/Application Support/com.operasoftware.Opera/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 2026-03-21 14:54:40 [info] [Chrome Extension MCP] Native host installation complete `` 统计 Claude Desktop 日志中所有安装事件: `` $ grep -c "Native host installation complete" ~/Library/Logs/Claude/main.log ~/Library/Logs/Claude/main1.log ~/Library/Logs/Claude/main.log:7 ~/Library/Logs/Claude/main1.log:24 `` 三十一个安装事件。每个事件都是 Claude Desktop 在其日志中记录,在内部子系统名称`Chrome Extension MCP`下,它已为七个命名的浏览器安装了原生主机清单。该操作记录为完成。 ### 6. 检查辅助二进制文件的代码签名 `` $ codesign -dvv /Applications/Claude.app/Contents/Helpers/chrome-native-host Executable=/Applications/Claude.app/Contents/Helpers/chrome-native-host Identifier=chrome-native-host Format=Mach-O universal (x86_64 arm64) CodeDirectory v=20500 size=2334 flags=0x10000(runtime) hashes=62+7 location=embedded Signature size=9046 Authority=Developer ID Application: Anthropic PBC (Q6L2SF6YDW) Authority=Developer ID Certification Authority Authority=Apple Root CA Timestamp=16 Apr 2026 at 18:39:18 TeamIdentifier=Q6L2SF6YDW Runtime Version=26.1.0 `` 辅助二进制文件是一个通用的 Mach-O 可执行文件。它使用 Anthropic PBC 的 Developer ID Application 证书(团队标识符`Q6L2SF6YDW`)进行了代码签名。签名带有来自 Apple 时间戳机构的 RFC 3161 安全时间戳,日期为 2026 年 4 月 16 日 18:39:18。 ### 7. 检查包含包的公证状态 `` $ stapler validate /Applications/Claude.app Processing: /Applications/Claude.app The validate action worked! $ stapler validate /Applications/Claude.app/Contents/Helpers/chrome-native-host Processing: /Applications/Claude.app/Contents/Helpers/chrome-native-host chrome-native-host does not have a ticket stapled to it. `` `Claude.app` 这个 bundle 有一个钉上的 Apple 公证票据。bundle 内部的辅助二进制文件没有自己的钉上票据;它由包含 bundle 的公证覆盖。 ### 8. 检查清单文件上的 macOS 来源元数据 现代 macOS 通过扩展属性`com.apple.provenance`跟踪哪个应用程序写入了给定文件。该属性由操作系统控制,写入应用程序无法伪造。 `` $ xattr -p -x com.apple.provenance ~/Library/Application\ Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 01 02 00 35 B5 F7 46 B2 6C 42 87 $ xattr -p -x com.apple.provenance ~/Library/Application\ Support/Microsoft\ Edge/NativeMessagingHosts/com.anthropic.claude_browser_extension.json 01 02 00 35 B5 F7 46 B2 6C 42 87 $ xattr -p -x com.apple.provenance ~/Library/Logs/Claude/main.log 01 02 00 35 B5 F7 46 B2 6C 42 87 `` 在 Brave 清单、Edge 清单和 Claude Desktop 自己的日志文件之间,来源签名逐字节相同。写入日志的应用程序是 Claude Desktop。写入清单的也是同一个应用程序。 ### 9. 检查 Anthropic 自己关于他们目标浏览器的公开立场 Anthropic 的公开 Claude Code 文档 [2] 指出: > “Chrome 集成处于测试阶段,目前适用于 Google Chrome 和 Microsoft Edge。尚不支持 Brave、Arc 或其他基于 Chromium 的浏览器。” 除了 Chrome 和 Edge 之外,安装还进入了 Brave、Arc、Chromium、Vivaldi 和 Opera。 ## 黑暗模式 **1. 跨信任边界的强制捆绑。** 我安装了 Claude Desktop。我没有向 Brave 安装任何东西。但 Claude Desktop,一个 Anthropic 应用程序,跨越了两个独立供应商之间的信任边界,并将配置写入了 Brave 的应用程序目录。一个应用程序不会静默修改另一个应用程序这一原则如此明显,以至于很少被明确表述。Anthropic 在沉默中打破了它。 **2. 不可见的默认设置,无选择加入。** 在 Claude Desktop 的安装、首次启动或正常使用过程中,我没有被问到:“您是否希望 Claude 在 Brave 中注册浏览器集成桥接器?允许或拒绝。” 我没有看到任何复选框、同意屏幕,也没有看到列出 Claude Desktop 已注册集成的后安装设置窗格。安装发生了,文件出现了。 **3. 删除比安装更困难。** 添加清单不需要我点击任何东西。发现清单需要我知道

相似文章

让 Claude 在浏览器中处理工作

YouTube AI Channels

Anthropic 推出了“Claude for Chrome”,这是一款浏览器扩展程序,使 AI 模型能够自主查看、点击、输入和浏览网页,从而处理复杂的工作流。

Claude Mythos 开启网络安全的潘多拉魔盒

Reddit r/artificial

Anthropic 发布了 Claude Mythos,这是一款能力极强的 AI 模型,旨在自动发现操作系统、浏览器和软件库中的安全漏洞。出于双重用途风险的考虑,该模型最初仅通过 Project Glasswing 向部分企业和开源合作伙伴开放,此次发布引发了业界关于 AI 安全能力与企业营销策略的广泛争论。