在系统设置 – 通用 – 登陆项与扩展中,发现一个未知的“Jonathan Bullard”。

怀疑是潜在的恶意软件,这里显示开发者个人账户,而不是产品名。
排查过程
在终端中,使用launchctl命令检查启动项:
launchctl list
该命令会输出当前加载的所有服务和进程。

勾选“Jonathan Bullard”启动项,重新运行launchctl命令:
launchctl list
检查是否新增“Jonathan Bullard”相关的服务和进程。
使用Excel对比两个launchctl命令输出的服务和进程,区别如下:
// 勾选“Jonathan Bullard”启动项前
1148 0 com.apple.TrustEvaluationAgent
1151 0 com.apple.mdworker.shared.02000000-0600-0000-0000-000000000000
1139 0 com.apple.mdworker.shared.0D000000-0300-0000-0000-000000000000
// 勾选“Jonathan Bullard”启动项前
1162 0 com.apple.mdworker.shared.02000000-0700-0000-0000-000000000000
- 0 com.apple.TrustEvaluationAgent
1163 0 com.apple.mdworker.shared.0D000000-0400-0000-0000-000000000000
- 0 net.tunnelblick.tunnelblick.LaunchAtLogin
com.apple.mdworker.shared,Spotlight子进程,任务轮转,属于正常现象。
com.apple.TrustEvaluationAgent:系统的证书/代码签名验证代理,按需启动。
net.tunnelblick.tunnelblick.LaunchAtLogin:Tunnelblick VPN 的登录启动项,启动/禁用该启动项时,launchd会刷新整个loginitems agent组,Tunnelblick 的 LaunchAtLogin服务会被触发或重载。
目前,推测“Jonathan Bullard”登陆项和Tunnelblick VPN有关。

卸载服务
Tunnelblick是之前工作时下载,用于连接服务内网的VPN。Tunnelblick也是一个开源的OpenVPN客户端。
现在已经不需要Tunnelblick,为了进一步校验“Jonathan Bullard”登陆项和Tunnelblick的关系,下面是卸载Tunnelblick的流程。
1、官方方式卸载Tunnelblick

在应用程序中找到“Tunnelblick”,使用Command + Delete卸载Tunnelblick。

2、手动清理残留
在终端中,手动搜寻“Tunnelblick”相关的文件。
# 查找残留的 Tunnelblick 组件
sudo find /Library /Applications ~/Library -iname "*tunnelblick*" 2>/dev/null
# 查找 Jonathan Bullard 相关项目
sudo find /Library/LaunchAgents /Library/LaunchDaemons ~/Library/LaunchAgents -iname "*tunnelblick*" 2>/dev/null
使用Find命令搜索/Library、/Applications、/Library/LaunchAgents等文件夹和启动项配置文件夹。

输出内容如下:
/Library/Application Support/Tunnelblick
/Library/Application Support/Tunnelblick/tunnelblickd-launchctl-plist-hash.txt
/Library/Application Support/Tunnelblick/tunnelblickd-hash.txt
/Library/Application Support/Tunnelblick/tunnelblick-authorized-done
/Library/Application Support/Tunnelblick/tunnelblick-installer-log.txt
/Users/fangjunyu/Library/Application Support/Tunnelblick
/Users/fangjunyu/Library/Preferences/net.tunnelblick.tunnelblick.plist
/Users/fangjunyu/Library/HTTPStorages/net.tunnelblick.tunnelblick
/Users/fangjunyu/Library/LaunchAgents/net.tunnelblick.tunnelblick.LaunchAtLogin.plist
注意,我这里使用Find命令搜索 /Library整个系统库,因为目录太多,终端窗口在输出上述路径后,直接卡死,无法通过Control + C快捷键退出Find命令。
因此,建议使用Find命令搜索 /Library 文件夹时,如果长时间不输出信息,则可以尝试终端命令,或者不搜索 /Library 文件夹。
根据输出的内容,删除残留文件:
sudo rm -rf "/Library/Application Support/Tunnelblick"
rm -rf ~/Library/Application\ Support/Tunnelblick
rm -f ~/Library/Preferences/net.tunnelblick.tunnelblick.plist
rm -rf ~/Library/HTTPStorages/net.tunnelblick.tunnelblick
rm -f ~/Library/LaunchAgents/net.tunnelblick.tunnelblick.LaunchAtLogin.plist
全部删除完成后,登陆项与扩展中,不再显示“Jonathan Bullard”。

此外,在删除的过程中发现,实际上是删除 ~/Library/LaunchAgents 中的文件后,登陆项与扩展中的内容被移除的。
rm -f ~/Library/LaunchAgents/net.tunnelblick.tunnelblick.LaunchAtLogin.plist
因此,登陆项与扩展实际上跟启动项配置文件的文件夹相关联。
后续
在浏览器中输入“Tunnelblick jonathan bullard”,发现存在类似的反馈问题:
1、macOS identifies Tunnelblick program as “Jonathan Bullard” (who digitally signed the program):https://github.com/Tunnelblick/Tunnelblick/issues/771

2、New Misnamed Login Item in 4.0.1 on macOS:https://groups.google.com/g/tunnelblick-discuss/c/VT6kU9C3cT8?pli=1

多个用户反馈Tunnelblick在登陆项中显示Jonathan Bullard,并给用户带来的困扰,这也验证了Tunnelblick和Jonathan Bullard之间存在关系。
扩展文章
1、macOS identifies Tunnelblick program as “Jonathan Bullard” (who digitally signed the program):https://github.com/Tunnelblick/Tunnelblick/issues/771
2、New Misnamed Login Item in 4.0.1 on macOS:https://groups.google.com/g/tunnelblick-discuss/c/VT6kU9C3cT8?pli=1
3、macOS后台启动项配置文件:https://fangjunyu.com/2025/09/01/macos%e5%90%8e%e5%8f%b0%e5%90%af%e5%8a%a8%e9%a1%b9%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6/