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

或者在GitLab或其他公共源代碼管理平台上。現在該怎麼辦? 我偶然發現了一個網站,該網站不斷掃描GitHub、GitLab和BitBucket,這是三個最常用的公開源代碼主機地方,並展示了提交的SSH密碼、常用服務的API金鑰、數據庫等等。 這讓人很害怕,對吧? 如果這從未發生過,請舉手。我們都會犯錯。當這種情況發生時,唯一的辦法就是迅速使公開的密碼或API金鑰失效。 對於新手來說,在Git中,你不能只是回滾提交,因為它仍然會保留在存儲庫的歷史記錄中。 你的聲譽、項目的聲譽、用戶的安全都面臨風險。 在解決緊急情況後,問題是:如何避免這個問題?答案是什麼?有什麼解決方案可以幫助我們避免將密鑰提交到公開可用的Git存儲庫中? 答案是:工作流程和工具。 首先,永遠不要將API金鑰或密碼添加到源代碼中。它們可能悄悄地藏在那裡。相反,始終將它們添加到項目根文件夾中的.env文件中,並將.env添加到.gitignore文件中,這樣就不會被提交。使用類似dotenv的工具來訪問它們。 使用git-secrets工具,它將幫助你避免將密鑰提交到Git中。 在macOS上,你可以使用Homebrew進行安裝: brew install git-secrets 然後進入要在其上啟用它的存儲庫中,運行: git secrets --install 以安裝Git pre-commit hook。這將確保在Git提交到存儲庫之前運行該工具。 如果你使用Amazon Web Services (AWS),運行以下命令以添加該服務的識別模式集: git secrets --register-aws 你可以立即使用以下命令掃描問題: git secrets --scan 理想情況下,該工具不應該打印任何內容。但如果有問題,它會提供詳細的信息。