Mac 上的 PasswordBreachAgent 是什么?
最后更新: 2026-07-31
PasswordBreachAgent 是 Apple 用来检查已存密码是否出现在泄露数据中的后台进程。Apple 表示,真实密码和账号标识不会交给 Apple,但远程检查仍会发送由密码计算出的信息。它可以关闭,不过关闭后将不再收到新的密码泄露提醒。
它是什么
PasswordBreachAgent 是 Apple 随 macOS 提供的后台进程。每位登录用户都有各自的进程实例。它配合“密码”App 和 Safari,完成“检测已泄露的密码”这项功能:把自动填充中保存的密码与已知泄露数据进行比对,发现风险后再给出提醒。
检查分成两步。第一步在本机完成。Apple 维护了一份常见泄露密码列表,系统拿到这份列表后,可以直接在 Mac 上检查常见密码,不需要为每个密码都发起远程请求。
如果某个密码不在本地列表覆盖的范围内,PasswordBreachAgent 会使用密码学上的私有集合求交协议,与 Apple 服务器继续比对。Apple 表示,检查过程中不会把真实密码或对应的账号标识交给 Apple。服务器得到的是经过计算和盲化的信息,最终目的是确认密码值是否出现在泄露集合中。
这里要把两件事分清。真实密码不上送,不等于整个过程完全离线。远程检查仍会传输由密码计算出的数据,其中包括一个 15 比特的 SHA-256 前缀,以及经过密码学盲化的椭圆曲线点。
这个名字第一次出现时容易让人警觉,但它不是来历不明的软件。PasswordBreachAgent 带有 Apple 平台签名,由 launchd 管理,程序文件随 macOS 放在系统 cryptex 中。
它为什么要联网
“检测已泄露的密码”开启后,系统会在后台轮流检查已保存的密码。这个计划独立于密码管理器的使用状态:即使最近没有打开“密码”App,也没有在 Safari 里填密码,后台检查仍可能按计划进行。
联网主要有两个用途。一个是更新本机保存的常见泄露密码列表。另一个是处理本地列表无法完成的比对。后一种情况下,PasswordBreachAgent 会生成经过盲化的椭圆曲线点,再取 SHA-256 结果的 15 比特前缀作为分桶标识,然后把这些信息发给 Apple。服务器返回对应的泄露数据分桶和响应,Mac 再完成私有集合求交检查。
连接对象是 Apple 的密码监控服务,不是每一个保存过密码的网站。假设 Mac 里保存了多个网站账号,PasswordBreachAgent 不会为了检查密码而依次访问这些网站。它的流量也不是 Safari 浏览记录的重放。
已核实的本机 launchd 配置把这项任务声明为需要网络、双向传输、重复执行的 PeriodicLookupActivity。该配置采用一周间隔,并留有调度宽限时间。但这只是所检查系统上的实际配置,不能当成所有 macOS 发行版永远不变的规则。Apple 没有承诺固定周期,是否还存在其他按需触发条件也没有得到验证。
正常流量应该是多少
目前没有可靠的字节范围。Apple 没有公布稳定的典型值、上限或下限,现有证据也不足以给出一个可复用的 KB 或 MB 数字。
有些密码能直接和本地列表比对,这部分可能完全不产生远程检查流量。另一些密码需要与服务器交换数据;列表更新也会带来下载。远程部分通常表现为间歇、成批出现的双向传输,而不是像音视频那样持续不断地传送数据。
因此,“每次只用几 KB”“最多几 MB”或“肯定比打开一个网页少”都没有依据。即使在某台 Mac 上测到一个很小的数字,也只能说明那台机器在那段时间内的情况。不同观察窗口里,本地检查和远程检查所占的比例可能不同,不能把一次结果写成通用标准。
反过来,短时间没有看到流量也不代表它从不联网。后台任务按计划执行,而且一部分比对只在本机完成。判断是否正常时,应先看实际时间范围和进程记录,不要拿未经验证的固定数字作比较。
能不能关掉
可以关闭。入口在:
“密码”App →“密码”菜单 →“设置…”→“检测已泄露的密码”
从默认选择来看,保留这项功能更合适。关闭会失去一项有实际作用的安全提醒,而现有证据并不能证明这样一定能省下多少流量。
关闭后,系统会停止继续拿已存密码与已知泄露数据比对,也不会再给出新的密码泄露提醒。不过,已经保存在 Mac 上的密码不会被删除,密码自动填充仍能使用。本机针对弱密码或重复使用密码生成的建议也可能继续显示,因为这类建议不一定依赖远程泄露检查。
强制退出 PasswordBreachAgent 不能代替关闭设置。它由 launchd 管理,退出后仍可能再次启动。删除程序或修改受保护的系统文件也不受支持。如果已经明确接受不再接收泄露提醒这一后果,应使用“密码”App 里提供的开关。
常见的误解
- “PasswordBreachAgent 是病毒、间谍软件或键盘记录器。” 不是。它是 Apple 提供并签名的系统程序,由 launchd 管理,随 macOS 存放在系统 cryptex 中。名字陌生、出现在后台或产生网络连接,都不能据此把它判断为恶意软件。
- “它会把真实密码或整个钥匙串上传给 Apple。” Apple 表示,真实密码和账号标识不会共享给 Apple。但“任何信息都不会离开 Mac”同样不准确。远程检查会发送计算结果,其中包括 15 比特的哈希前缀和经过密码学盲化的值。
- “出现泄露提醒,就说明这台 Mac 被入侵了,或者这个账号一定被盗了。” 这项协议检查的是密码值是否出现在泄露数据里。命中只能说明相同的密码值已在泄露集合中出现。它不能指出是哪家机构泄露了数据,不能证明保存密码的这个账号就是泄露来源,也不能证明有人已经登录过该账号。
- “这是 Safari 的浏览流量,或者一种持续运行的遥测。”
PasswordBreachAgent是独立的密码监控后台进程。现有证据确认了周期性调度,但没有验证是否还有其他按需触发方式。标识符里带有 Safari,是历史或内部命名,并不表示它会记录浏览内容。
- “强制退出或删掉它,只是一种没有副作用的省流量办法。” launchd 可以再次启动这个进程,修改受保护的系统文件也不受支持。更关键的是,关闭相关功能后会失去后续的密码泄露提醒,而目前没有可靠证据说明这样能节省多少流量。确定要接受这一取舍时,应使用“密码”App 中的正式开关。
- “它的流量肯定只有某个固定的 KB 或 MB 数字。” Apple 没有公布可信的固定范围,本次调研也没有验证出这样的数字。本地比对、远程检查、批量处理和列表更新都会影响最终结果,所以不能把一个具体小数值写成所有 Mac 都适用的结论。
怎么看它到底用了多少
想知道这台 Mac 上的实际用量,可以在 Bytetally 的逐进程统计里找到 PasswordBreachAgent。它按周期工作,而且有些检查完全在本机完成,因此短时间显示为零不能证明它永远不联网。选择更有代表性的观察区间,再查看实际上传和下载总量;这个结果只代表当前 Mac,不是所有设备的统一标准。
相关进程
常见问题
PasswordBreachAgent 是病毒或间谍软件吗?
不是。它由 Apple 随 macOS 提供,带有 Apple 平台签名,由 launchd 管理,程序文件位于系统 cryptex 中。
PasswordBreachAgent 会上传我的密码吗?
Apple 表示不会共享真实密码和账号标识。不过,远程检查会发送计算结果,包括 15 比特的 SHA-256 前缀和经过密码学盲化的椭圆曲线值。
PasswordBreachAgent 为什么一直有网络连接?
启用“检测已泄露的密码”后,系统会按后台计划轮流检查已存密码,也可能更新本地的常见泄露密码列表。没有命中本地列表的密码需要与 Apple 密码监控服务完成远程检查。
PasswordBreachAgent 怎么关闭?
打开“密码”App,进入“密码”菜单 →“设置…”→“检测已泄露的密码”。关闭后不会删除已存密码,也不影响自动填充,但后续的泄露检查和提醒会停止。
看清它到底用了多少
Bytetally 逐进程分别统计上传与下载,实时和历史都有,全部在本机完成。
免费下载 · Mac App Store需 macOS 14 Sonoma 或更高 · 100% 本机分析 · 无需账号