在不共享API密钥的情况下共享github项目

问题描述 投票:0回答:1

我想与其他人在GitHub上分享我的项目,以便他们可以查看我的代码。

但是,在项目文件中有我的API-Key,每个都可以看到。

  • 会不会有问题?
  • 有没有办法隐藏API-Key?
  • 关于共享项目我还应该知道的其他事情吗?

感谢任何提示或建议。

github api-key
1个回答
1
投票

但是,在项目文件中有我的API-Key,每个都可以看到。

是的,每个人都可以看到它们,它们永远不会放在您的代码中。

Would it be a problem?

  • 会不会有问题?

在您的代码中对密码进行硬编码的问题在于,它们可能会被意外地暴露在您在线托管的任何存储库的git提交中。黑客正在Github API端点/events中进行监听,并会立即扫描任何进入秘密的提交,并在几分钟内他们可能会使用您的秘密代表您访问任何第三方服务,然后您可能会有一个故事。告诉我着名的My $ 2375亚马逊EC2错误。

所有这些以及更多内容都可以在我写的最近的文章中找到,可以找到here

以下是一些可以找到API密钥,令牌,密码,云凭据和其他机密信息的地方的示例:

  • 在提交给github,gitlab和其他代码的在线存储库的代码中。
  • 在云上的CI管道和自动化工具。
  • 将粘贴代码复制到Stackoverflow,论坛,问题跟踪器等地方时

Is there any way to hide the API-key?

  • 有没有办法隐藏API-Key?

好吧,从源代码中隐藏它只需要使用环境变量,通常编程语言支持它,最常见的方法是将它们放在项目根目录的.env文件中。请记住,必须将此.env文件添加到.gitignore文件中,以防止将您的机密泄露到代码存储库中。

通过使用保险库为您的代码提供秘密,可以在生产部署中实现进一步的改进,例如在Github上使用Hashicorp Vault项目:

Vault是一种安全访问机密的工具。秘密就是您想要严格控制访问的任何内容,例如API密钥,密码,证书等。 Vault为任何机密提供统一的界面,同时提供严格的访问控制并记录详细的审计日志。

Anything else that I should know in regard of sharing projects?

  • 关于共享项目我还应该知道的其他事情吗?

通过提供[email protected]形式的电子邮件或将Twitter处理程序放在自述文件中并要求他们通过私人消息与您联系,始终让人们可以轻松联系您,以便在项目中报告安全问题,但请记得离开私人消息向任何Twitter用户开放,否则他们将无法向您发送。

您还应该在自述文件中提到Github问题不应该用于报告安全漏洞,因为这将使每个人都可以看到它们。

© www.soinside.com 2019 - 2024. All rights reserved.