前言
在現代軟體開發過程中,保護敏感資訊(如 API 金鑰、密碼)非常重要,而這些資訊可能不小心被包含在版本控制系統中。Yelp 的 detect-secrets 是一個專門設計用來在程式碼中檢測秘密資訊的工具,以下將介紹如何下載、安裝,並有效地使用它來進行檢測與維護。
1. 安裝 Yelp/detect-secrets
使用 pip 安裝
- 確保系統已安裝 Python(建議版本 3.7 以上)與 pip。
- 以管理者權限開啟命令提示自原,使用以下命令安裝 detect-secrets:
pip install detect-secrets
驗證安裝
執行以下命令來驗證是否安裝成功:
detect-secrets --version
如果成功,應該會顯示工具的版本號。
2. 基本使用方法
產生 baseline 檔案
`baseline` 檔案是 detect-secrets 的核心,它包含了已檢測的秘密資訊及其忽略的依據。
- 在專案根目錄下執行以下命令產生 baseline 檔案:
detect-secrets scan > .secrets.baseline
- 檢視 `.secrets.baseline` 的內容以確保沒有誤判。
檢測程式碼中的秘密資訊
執行以下命令來檢測專案中可能的秘密資訊:
detect-secrets scan
該命令會掃描目錄中的所有檔案並回傳檢測結果。
3. 調整與排除
排除特定檔案或目錄
可以使用以下設定來忽略不需要檢測的路徑:
{
"exclude": {
"files": ["test/", "docs/", "README.md"]
}
}
或者在執行掃描時直接加上排除參數:
detect-secrets scan --exclude-files test/.*
調整敏感度
有時可能需要增加或減少檢測的敏感度,這可以透過指定 plugins 來完成。例如:
detect-secrets scan --plugin KeywordDetector
4. 審查與維護 baseline 檔案
審查 baseline 檔案
審查 baseline 是為了確保新增的秘密資訊是必要的且正確忽略。
- 使用以下命令進行審查:
detect-secrets audit .secrets.baseline
- 工具會提供互動式介面讓你檢視每一個條目,確認是否為真正的秘密資訊。
更新 baseline
每次新增或移除敏感資訊時,更新 baseline 檔案:
detect-secrets scan --update .secrets.baseline
秘密資訊輪替與清理
當發現秘密資訊洩露或過期時:
- 立即輪替相關的憑證。
- 移除程式碼中已清除的秘密資訊,並更新 baseline。
結論
透過 Yelp/detect-secrets,你可以有效地檢測、追蹤與管理專案中的敏感資訊。記得定期更新與審查 baseline,並將檢測工具整合到開發流程中,提升整體的安全性與合規性。
0 留言