Github 允许我以其他用户身份提交

Github 允许我以其他用户身份提交

我正在学习如何使用 Git,我注意到提交时无法控制 user.name 和 user.email。例如,我在我的存储库中。我可以更改我的本地配置,

$ git config user.name "<someone's Github username>"
$ git config user.email "<someone's Github email>"

然后,我提交一些内容并推送。系统会要求我输入 Github 用户名和密码。

现在看起来好像另一个 Github 用户在我的存储库中撰写了该提交。!?

我是否遗漏了什么?

答案1

哇,这是一个很好的问题,我不明白为什么这个问题没有引起更多的关注(可能是因为它与 SU 的安全性并不完全相关)。

有一个黑客新闻讨论这个问题 -https://news.ycombinator.com/item?id=7792026

这不是一个大问题,但你可能会利用它做一些严重的滥用 -

  1. 您可以发布名人的提交,使其看起来好像他们认可您的项目并积极为其做出贡献。
  2. 您可以使用其他真实 GitHub 用户的多个身份来伪造您的项目实际贡献者数量。(这看起来比使用随机电子邮件更合法)
  3. 你可以通过让某人认为大多数提交来自另一个受信任的用户来说服他将拉取请求合并到他的项目中

最近 GitHub批评还允许项目所有者编辑用户在其项目中回复的评论,使其看起来像他们写了他们没有写的东西,这可能会导致严重的滥用。这是一个非常类似的事情。

正如其他答案所提到的,Git 就是这样设计的。在内部仓库中,你不太关心这些东西,你主要关心的是管理代码而不是声誉。另一方面,GitHub 是一个社交工具,应该关心它的用户公共声誉(正如黑客新闻讨论中提到的,这可以通过 PK 加密来解决。许多用户已经将 PK 分配给他们的 GitHub 帐户以获得推送权限,我想可以使用相同的密钥来签署提交)

答案2

Git 无法知道谁写了什么。它怎么可能知道?它所做的只是报告你让它报告的内容。输入的是垃圾,输出的也是垃圾。

一个人承担另一个人的工作是绝对正常和常规的。

相关内容