Github for Mac 是一款有用的应用程序,由以下人员免费提供:Github.com。它是一个 Mac OS X GUI,用于对 git 进行简单的操作,并且运行良好。
事实证明,当我使用浏览器访问 github.com 上的 repo 并尝试克隆该 repo 时,浏览器中的 JavaScript 会尝试与 GitHub 应用程序安装在我电脑上的 Web 服务器进行通信,该服务器名为“github 管道”。如果无法通信,当我尝试通过点击 GitHub 网页上的“在桌面上克隆”来克隆存储库时,我会收到该应用程序的广告,而不是克隆存储库。以下是根据 Chrome 中的网络监视器显示的访问情况:
Request URL:https://ghconduit.com:25035/status
Request Headers
Provisional headers are shown
Origin:https://github.com
Referer:https://github.com/BoltsFramework/Bolts-Android
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id:00AF4013-DCE9-FF8D-32B2-9FA7D33BE9B5
我向 GitHub 支持人员咨询了这个问题,他们推荐我这篇支持文章。 说的是:
当您运行 GitHub for Mac 时,它会自动启动 Conduit 并告知 Mac OS X 保持其活动状态。因此,如果 Conduit 崩溃或您使用 Activity Monitor 或 kill 终止它,它将重新启动,即使 GitHub for Mac 未运行。
这让我很惊讶。浏览器中的 JavaScript 与某种我不太了解的本地服务器进行通信似乎存在安全风险,尤其是在我安装 GitHub 应用程序时没有解释这一点。
这合理吗?我是否应该担心我的浏览器是否可以与该服务器通信?
答案1
是的,你应该担心这一点。任何网站都可以通过检测 ghconduit.com 是否加载来检测你是否安装了 GitHub for Mac。例如:
<script src="https://ghconduit.com:25035/status" onload="alert('GitHub for Mac is installed.')" onerror="alert('GitHub for Mac is not installed.')"></script>
恶意网站可以利用这一点来跟踪用户或向程序员发送广告,所有这些都是跨浏览器的。幸运的是,似乎没有公司这样做。