現貨供應
Secret Gate
一道深知你實際機密資訊的發布閘門:未查無任何洩漏,絕不上線。
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

功能說明
Secret Gate 在您的手離開之前回答一個問題,無論它是發行版 zip 壓縮檔、客戶副本、開源推送還是下一個 commit:這是否包含我的秘密?它知道您的秘密是什麼,因為它會讀取存放這些秘密的檔案,而且從不顯示它們:發現結果會指出檔案、行號以及數值的來源。
- 您的確切數值。 您的 env 檔案、JSON 和 YAML 設定檔、
.netrc和金鑰檔案中的每個數值,皆以原始寫法、base64 編碼和 URL 編碼進行搜尋。看起來像普通單字的密碼,或沒有已知前綴的內部 token,都會像其他秘密一樣被捕捉到。 - 來自它未執行之機器的秘密。 在您的筆記型電腦上製作指紋;建置伺服器無需持有這些數值即可找到它們。
- 其他機器針對其自身的秘密進行檢查。 檔案透過 SSH 傳送到每台機器,在那裡掃描並刪除。秘密從不移動,而無法回應的機器會阻擋發行。
- 形狀、名稱和雜訊。 25 種 token 格式、您的名稱、主機、網域和帳號 ID、私有 IP 位址、個人郵件地址、電話號碼、IBAN、家目錄路徑,以及與具秘密性質名稱相鄰的隨機字串。
- 它每次都會自我驗證。 每次掃描開始時都會植入各種類型的金絲雀;如果任何檢查遺漏了其金絲雀,掃描就不會執行。
- 在您已經工作的地方。 資料夾、zip 和 tar 壓縮檔、git pre-commit 或 pre-push 掛鉤、CI 的退出碼、JSON 報告。
針對我們發售的產品進行測試
- 我們銷售的每個套件: 8 個已發行的壓縮檔針對我們建置機器上的 133 個秘密數值和我們筆記型電腦上的 16,259 個指紋進行掃描。全部通過,總共花費 5.4 秒。
- 植入發行副本中的真實秘密 以明文和 base64 編碼形式被捕捉到,每次都能指出其來源檔案。該數值未出現在輸出或報告中的任何地方。
- 透過 SSH 進行的遠端掃描 針對第二台機器的 499 個秘密數值檢查發行版,耗時 1.4 秒,並捕捉到僅存在於該機器上的副本中植入的 token。
套件內容
閘門
四項檢查、自我測試、壓縮檔和 git 暫存掃描、可讀報告以及 JSON 報告。
指紋
一台機器秘密的指紋,供另一台機器掃描使用,無需包含數值。
遠端掃描
在所有存放密鑰的機器上檢查相同的檔案,並一併套用您專案的規則。
設定與 CI
提供密鑰檔案搜尋器、git hooks,以及用於發布壓縮檔的 GitHub Actions workflow。
系統需求
- Linux 或 macOS,搭配 Python 3.9 或更新版本;無需透過 pip 安裝任何套件。
- Git 用於 hooks,SSH 用於遠端掃描。
使用須知
- 它讀取檔案目前的狀態。已存在於 git 歷史記錄中的密鑰仍會留在那裡:請輪換該密鑰。
- 掃描資料夾內的壓縮檔不會被開啟;請個別掃描每個壓縮檔。
- 請將指紋檔案視為與密鑰一樣私密:它們包含每個長度為 16 字元或更長之數值的前 4 個字元。
常見問題
這與 gitleaks 或 TruffleHog 有何不同?
那些工具尋找密鑰通常的外觀,且做得很好。Secret Gate 還知道您的密鑰實際上是什麼:它讀取您自己的密鑰檔案並尋找那些確切的數值,因此即使沒有可辨識形狀的資料庫密碼或內部 token 也能被捕捉到。它專為發布前的那一刻而建,並採用失敗即關閉(fail closed)機制。
它會把我的密鑰傳送到哪裡嗎?
不會。數值從您的檔案讀取到記憶體中進行掃描,絕不列印、寫入或傳送;如果您建立指紋檔案,它僅包含雜湊值以及每個數值的前 4 個字元。遠端掃描會將您準備發布的檔案傳送到您自己的機器;該機器上的密鑰仍留在該機器上。
關於誤報呢?
發現結果意味著「請查看此處」。如果沒問題,請在專案設定中為該類發現新增一個狹窄的允許規則,例如您自己的支援信箱。沒有開關可以關閉檢查。
它能掃描我的 git 歷史記錄嗎?
不能。它檢查您準備發布的內容:一個資料夾、一個壓縮檔,或下一個 commit。對於已存在於歷史記錄中的密鑰,請輪換該密鑰。
已更新: