【问题标题】:Is it dangerous to keep code in gitlab and github将代码保存在 gitlab 和 github 中是否危险
【发布时间】:2015-05-18 06:02:30
【问题描述】:

把代码放在gitlab和github有危险吗?

我听说将我们的代码提交到 gitlab 和 github 是很安全的。

原因是每个代码都经过哈希处理,每个人几乎不可能在不使用 git 工具的情况下更改代码。

这是真的吗?

【问题讨论】:

  • hashed 是什么意思。你的意思是pggp 签名吗?
  • 绝对不危险!)安全、可靠、方便。
  • 请澄清您的意思。你的意思是危险的,因为有人可能会窃取你的代码?是的,这是可能的。任何东西都可以被打破,然后它就会进入意见。
  • 嗯,让我澄清一下,我的意思是 gitlab 或 github 的所有者可能会窃取我们的代码。
  • @JimmyLee 我已经更新了我的答案以解决您的(澄清的)问题。

标签: git github gitlab


【解决方案1】:

正如我在“Why does Git use a cryptographic hash function?”中提到的,它在数据完整性方面是“安全的”(Linus Torvalds, 2007):

我们检查被认为是加密安全的校验和。没有人能够破解 SHA-1,但关键是,就 git 而言,SHA-1 甚至不是安全功能。这纯粹是一个一致性检查。 安全部件在别处。
很多人认为由于 git 使用 SHA-1 并且 SHA-1 用于加密安全的东西,他们认为这是一个巨大的安全功能。它与安全性毫无关系,它只是你能得到的最好的哈希值。

拥有良好的哈希值有助于信任您的数据

这与以下无关:


OP 添加:

我的意思是gitlab或github的所有者可能会窃取我们的代码

这是一个信任问题:如果 git 托管服务器位于 private 存储库中,它是否可以访问您的代码?技术上是的。
他们会访问您的私人代码吗?正如“Can third party hosts be trusted for closed-source/private source code management?”中所述,没有什么能阻止他们。
然而,many startups have their private code on, for instance, GitHub

如果您有真正的保密问题,那么保留所有代码库的所有权很重要,包括存储它的服务器(意味着拥有自己的 Git 存储库托管服务器)。

【讨论】:

  • 为了防止被篡改,您可以在提交时签名。
  • 而且,很明显,如果恶意用户设法更改了您托管系统上的 Git 存储库并且您执行了新的git clone,您将不会注意到恶意更改。只有在其他地方有 SHA-1 总和的安全副本时,才能检查数据完整性。
  • @MattieuMoy:或签名提交。这些不能被伪造(除非攻击者还窃取了私有签名密钥)。
【解决方案2】:

重要的是要记住,即使 git 是最安全的版本控制工具,因为它会在您执行的每个命令中进行哈希检查,但重要的做法是不时备份存储库...

有时是硬件或软件故障,但有时是为了防止由于人为错误而丢失数据。

个人克隆并不总是足够的。

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 2011-10-24
    • 2021-08-24
    • 1970-01-01
    • 2011-12-27
    • 2019-06-16
    • 2023-04-07
    • 1970-01-01
    • 2012-01-18
    相关资源
    最近更新 更多