我如何确定导致 Firefox 中出现此可疑弹出窗口的扩展程序? 我已确定:
- Firefox 使用此配置文件启动后,弹出窗口会立即可靠地出现。
- 即使我使用滑块禁用所有扩展,它仍然会在启动时出现
about:addons
。 - 确实如此不是当我以安全模式启动 Firefox 时出现。
- 确实如此不是如果我切换到其他配置文件,则会出现此情况。
我可以重置我的个人资料以消除导致此弹出窗口的任何原因,但我想确定来源以便尝试报告它。
我在 Mac OS High Sierra 10.13.6(17G11023)上运行 Firefox 73.0.1(64 位)。
背景:
我收到这个可疑的密码提示两次每次我在 Mac 上启动 FireFox 时:
在该视图中,它被锁定在 Firefox 窗口,但是,有时它会显示为似乎与 Firefox 无关的浮动窗口(当我将计算机置于睡眠状态时,这种情况似乎更多地发生):
重要的提示: 我是不是看到 Firefox 主密码提示。下面是真的Firefox 的主密码提示,这显然与我上面发布的不同:
答案1
总结
这是一个很长的答案,因为我已在下面记录了我的所有研究。如果您不关心这一点,我发现这是一个合法的 Firefox 弹出窗口,它要求输入密码以打开名为 的证书链My Computer (PIN Required)
。这似乎是 Symantec 通过 Symantec PKI 客户端安装的。
如果您遇到此问题并且知道您不需要 Firefox 中的 Symantec 安全模块,只需执行以下操作:
- 选择☰→优先→隐私与安全→证书→安全设备
- “设备管理器”窗口将打开。在左侧的安全模块和设备列表中,选择赛门铁克安全模块并点击卸下在右侧。
如果您遇到此问题并且感到困惑,我在 Firefox Bugzilla 中打开了以下功能请求:https://bugzilla.mozilla.org/show_bug.cgi?id=1651688。如果您有实质性信息需要添加,可以在此处添加(但请不要发表“我也是”的评论!)
发现弹窗源头的完整旅程
首先,我不知道核心问题的答案,即“我如何确定 Firefox 中弹出窗口的原因”。这本身就是 Mozilla 应该解决的问题。
然而,我发现了一些线索,让我相信弹出窗口实际上来自 Firefox 本身。
首先,我的设置:我在多台设备上使用 Firefox,有些是 Windows,有些是 Mac。我在它们之间设置了 Firefox Sync。我不知道这是否重要,但这是一个数据点。我只在我的 Mac 上看到过这个。
其次,我尝试删除我的个人资料,但过了一段时间后问题又神奇地再次出现。我最初以为这是由于 Firefox Sync 重新安装了导致弹出窗口的错误/恶意扩展程序造成的。现在我怀疑情况并非如此。
我可以通过以下方式不断重现错误:
重新启动 Firefox,几秒钟后,这将在其中一个 Firefox 窗口中以模式弹出(请注意,如果会话恢复时使用多个窗口,则它在其他窗口中不是模式)。
更改网络状态。以下任一情况都将在正在运行的 Firefox 中引发弹出窗口:
a. 禁用 Wifi
b. 重新启用 wifi
c. 连接到 VPN
从上述情况来看,我怀疑任何网络或应用程序状态的变化都会引发这种情况。
在尝试手动卸载扩展程序并仍然不断弹出窗口,并在我的所有个人资料中搜索文本后,我的目光落在了 Firefox 本身上。
在 Firefox 应用程序文件中搜索提示文本的变体,得到以下内容:
$ find /Applications/Firefox.app/ -type f -exec grep -H "Please enter the master password for the" {} \;
Binary file /Applications/Firefox.app//Contents/Resources/omni.ja matches
这是一个 ZIP 文件(但幸运的是没有压缩,所以文本是可见的)。将其解压缩到临时位置(~/omni.ja
此处称为),会发现以下内容:
$ find ~/omni.ja -type f -exec grep -H "Please enter the master password for the" {} \;
~/omni.ja/chrome/en-CA/locale/en-CA/pipnss/pipnss.properties:CertPassPrompt=Please enter the master password for the %S.
希望这个资源的使用是在同一个文件中,我尝试了这个:
$ find ~/omni.ja -type f -exec grep -H "CertPassPrompt" {} \;
~/omni.ja/chrome/en-CA/locale/en-CA/pipnss/pipnss.properties:CertPassPrompt=Please enter the master password for the %S.
~/omni.ja/chrome/en-CA/locale/en-CA/pipnss/pipnss.properties:CertPassPromptDefault=Please enter your master password.
这对我来说非常有趣。它告诉我这是使用 Firefox 主密码和这个奇怪提示的类似代码。在后一种情况下,将传入文本“我的电脑(需要 PIN)”。
在 Firefox 包和我的本地配置文件中搜索My Computer
没有结果,所以这个字符串来自某个外部来源。
在网上搜索“我的电脑(需要 PIN 码)”确实发现了以下内容:https://www.hybrid-analysis.com/sample/57db1053fe642fbdf93f13537b9f38290e4bc28b310b607124cca43d614321fc?environmentId=120
因此,它看起来与尝试访问具有特定于 Symantec PKI 客户端的名称的证书密钥库有关。
查看我在 Mac 上的设置,结果发现我的雇主安装了一个 PKI 客户端可执行文件,它似乎提供了一个名为“我的电脑(需要 PIN)”的虚拟设备。我相信此设备中的证书链用于公司 Wi-Fi 上的身份验证。
在 Mozilla 源代码中进一步挖掘后,我发现它用于nsNSSCallbacks.cpp。这似乎与“PK11”有关,再次表明这与证书有关。进一步挖掘了相关源代码文档pkcs11 模块,其中引用了 Firefox 设置中的“PKCS#11 模块”。请注意,Mozilla 文档适用于 Windows。在 Mac 上,路径是 ☰ → 首选项 → 隐私和安全 → 证书 → 安全设备。我有这个:
如上所述,我相信 Symantec 模块仅用于我公司的 Wi-Fi,因此我在此对话框中选择了 Symantec 安全模块组,然后单击卸下。
至此已消除了弹出窗口。
答案2
我能消除此对话框的唯一方法是删除Firefox.app
我的~/Library/Application Support/Firefox
文件夹,然后重新安装 Firefox。我正在使用 Firefox 的内置配置文件同步功能,我的书签等似乎都已恢复正常。对话框似乎消失了。希望这能有所帮助!
答案3
关闭 Firefox。在 Windows 上,查看文件夹
C:\Users\<User>\AppData\Roaming\Mozilla\Firefox\Profiles\<YourProfile>
或输入
%AppData\Mozilla\Firefox\Profiles
在运行或 Windows 资源管理器中。
查找名为的文件pkcs11.txt
并将其重命名为其他名称。
重新打开 Firefox。
答案4
许多浏览器在显示任何存储的网站登录信息之前都会要求输入用户帐户的密码。Firefox 有一个设置可以设置您自己的自定义“主密码”。Firefox 默认不执行此操作,但请确保“使用主密码”设置(参见此处图片) 在您的“偏好设置/选项”中未选中。它位于“登录名和密码”部分的“隐私和安全”下。
有关此设置的更多信息,请访问这篇 Mozilla 支持文章。