實用工具

程式碼與設定檔機密掃描工具

在把程式碼、.env 檔案和日誌貼到任何地方之前,用移植自 gitleaks 的規則檢查裡面有沒有 API 金鑰、權杖和私鑰。

瀏覽器本機執行AI 開發工具2.9萬
免費

輸入

0 B

結果

結果會顯示在這裡。

當你把設定檔或堆疊追蹤貼進聊天、issue 或 gist 的那一刻,其中的任何憑證就不再受你掌控了。這個工具用 50 條移植自 gitleaks(gitleaks/gitleaks,MIT)的偵測規則掃描貼上的文字——涵蓋最常出現在程式碼和設定檔中的憑證:OpenAI、Anthropic、AWS、GitHub、GitLab、Stripe、Slack、Google Cloud、Hugging Face、阿里雲、JWT、私鑰,以及一般形似金鑰的指派敘述。每個發現項目都會顯示其行號、欄位和規則,而機密本身只顯示前後各四個字元。

它是怎麼運作的

  • 和 gitleaks 一樣,只有在文字中出現規則的某個關鍵字時才會執行該規則;比對到的機密還必須超過規則的 Shannon 熵下限,這樣就能濾掉 xxxxxxxx 之類的佔位字串。
  • gitleaks 的全域與個別規則允許清單都會套用,所以 AWS 文件中的範例金鑰、${VARIABLE} 參照、{{ template }} 佔位符和常見停用詞都不會被回報。
  • 含有 gitleaks:allow 的行會被略過;已由特定規則解釋的一般性發現項目會被捨棄,因此每把金鑰只會出現一次。
  • 掃描在你的瀏覽器中進行;輸出絕不包含完整的機密,網站也不保留你掃描內容的任何紀錄。

你的資料去了哪裡

哪也沒去。本工具完全在你的瀏覽器裡執行:你貼上的文字由頁面處理,不會傳輸到任何伺服器,也不會寫進任何紀錄。

本工具會接觸金鑰與憑證,因此任何一次執行都不會被儲存,連你自己的歷史裡也不會有。

它要花多少

本工具完全免費,不需要登入,也不消耗點數。

常見問題

為什麼我檔案裡的密碼沒有被標出來?
和 gitleaks 一樣,一般性規則只比對由字母、數字和少數符號(例如 . = -)組成的值,而且必須指派給名稱中含有 key、secret、token 或 password 等字眼的變數。含有 # 或 ! 的值,或是看起來像普通單字的密碼,都不會被比對到。沒有發現項目並不代表文字是乾淨的。
這和直接執行 gitleaks 有什麼不同?
它採用了 gitleaks 222 條預設規則中的 50 條以及它的偵測邏輯,但對象是一段貼上的片段,而不是整個儲存庫及其歷史。依賴檔案路徑的規則已被移除,因為片段沒有路徑。要掃描儲存庫,請直接執行 gitleaks,或啟用 GitHub 的推送保護(push protection)。
我找到一把還有效的金鑰,接下來該怎麼做?
先到供應商那裡撤銷或輪替它——一旦被分享或提交過,只從檔案中刪掉是不夠的。接著檢查供應商的日誌中有沒有你不認得的使用紀錄,並把機密移到環境變數或機密管理工具中。

背後的開源專案

本工具是獨立實作,並未打包第三方函式庫。gitleaks/gitleaks(MIT)在程式碼層面做的是同一件事——如果你需要在自己的程式裡實作它,從那裡開始,而不是呼叫一個網頁。

gitleaks/gitleaks

也常被稱作

  • api 金鑰 外洩 檢查
  • secret scanner
  • gitleaks 線上
  • 金鑰洩漏 偵測
  • env 檔 機密 檢查
  • 程式碼 密碼 掃描