我在GitHub上發布了密碼/ API密鑰

或GitLab或任何其他公共源代碼管理管理平台。怎麼辦?

我偶然發現了一個不斷掃描的網站的GitHub,GitLab和BitBucket,這是公開託管源代碼的3個最常見的位置,並向您顯示已提交的SSH密碼,通用服務的API密鑰,數據庫等。

Image of passwords

很恐怖吧?

如果從未發生過,請舉起您的手。我們會犯錯誤。而且,當發生這種情況時,除了快速使公開的密碼或API密鑰無效之外,別無其他方法。

對於新來的人吉特:您不能僅回滾提交,因為它仍將保留在存儲庫的歷史記錄中。

您的聲譽,項目的聲譽以及用戶的安全受到威脅。

解決緊急情況後,問題是:如何預防該問題?答案是什麼?有什麼解決方案可以幫助我們避免將機密提交到公開可用的Git存儲庫?

答案是:工作流程和工具。

首先,切勿在源代碼中添加API密鑰或密碼。他們可以安靜地躲在裡面。相反,請始終將它們添加到.env文件放在項目的根文件夾中,然後添加.env給你.gitignore文件,因此它將永遠不會提交。使用類似的工具Dotenv訪問它們。

使用git-secrets,該工具可幫助您避免向Git洩露機密。

在macOS中,您可以使用Homebrew安裝它:

brew install git-secrets

然後進入要激活它的存儲庫,然後運行

git secrets --install

安裝Git預提交鉤子。這將確保工具在Git提交到存儲庫之前運行。

如果您使用Amazon Web Services(AWS),請運行以下命令以添加該服務憑證使用的模式集:

git secrets --register-aws

您可以立即使用掃描問題

git secrets --scan

理想情況下,該工具不應打印任何內容。但是,如果您遇到問題,它將為您提供許多詳細信息。


更多git教程: