Hugging Face 與 TruffleHog 合作掃描秘密資訊

釋出日期:2024年9月4日
在 GitHub 上更新

我們很高興地宣佈與 Truffle Security 建立合作伙伴關係並進行整合,將 TruffleHog 強大的秘密掃描功能引入我們的平臺,作為我們持續安全承諾的一部分。

TruffleHog 是一款開源工具,用於檢測和驗證程式碼中的秘密資訊洩露。它擁有針對流行 SaaS 和雲提供商的廣泛檢測器,可掃描檔案和儲存庫中的敏感資訊,如憑據、令牌和加密金鑰。

意外地將秘密資訊提交到程式碼儲存庫可能會帶來嚴重的後果。透過掃描儲存庫中的秘密資訊,TruffleHog 幫助開發人員在敏感資訊成為問題之前捕獲並刪除這些資訊,從而保護資料並防止代價高昂的安全事件。

為了打擊公共和私人儲存庫中的秘密資訊洩露,我們與 TruffleHog 團隊在兩個不同的方面展開合作:透過 TruffleHog 增強我們的自動化掃描流程在 TruffleHog 中建立原生的 Hugging Face 掃描器

透過 TruffleHog 增強我們的自動化掃描流程

在 Hugging Face,我們致力於保護使用者的敏感資訊。這就是為什麼我們實施了自動化安全掃描流程,該流程掃描所有儲存庫和提交。我們已將 TruffleHog 納入我們的自動化掃描流程,這意味著現在有三種類型的掃描:

  • 惡意軟體掃描:使用 ClamAV 掃描已知的惡意軟體簽名
  • pickle 掃描:使用 picklescan 掃描 pickle 檔案中的惡意可執行程式碼
  • 秘密資訊掃描:使用 TruffleHog 掃描密碼、令牌和 API 金鑰

在每次推送到儲存庫時,我們都會在新檔案或修改檔案上執行 `trufflehog filesystem` 命令,以掃描潛在的秘密資訊。如果檢測到並驗證了秘密資訊,我們將透過電子郵件通知使用者,以便他們採取糾正措施。

已驗證的秘密資訊是指已確認可對其各自提供商進行身份驗證的秘密資訊。但是,請注意,未驗證的秘密資訊不一定無害或無效:驗證可能由於技術原因而失敗,例如提供商停機的情況。

即使我們為您執行 TruffleHog,您自己執行 TruffleHog 掃描您的儲存庫也始終是有價值的。例如,您可能已經輪換了洩露的秘密資訊,並希望確保它們顯示為“未驗證”,或者您想手動檢查未驗證的秘密資訊是否仍然構成威脅。

一旦支援 LFS,我們將最終遷移到 `trufflehog huggingface` 命令,即原生的 Hugging Face 掃描器。

TruffleHog 原生 Hugging Face 掃描器

在 TruffleHog 中建立原生 Hugging Face 掃描器的目標是讓我們的使用者(以及保護他們的安全團隊)能夠主動掃描自己的賬戶資料是否存在洩露的秘密資訊。

TruffleHog 新的開源 Hugging Face 整合可以掃描模型、資料集和 Spaces,以及任何相關的 PR 或討論。唯一的限制是 TruffleHog 目前不會掃描儲存在 LFS 中的檔案。他們的團隊正在尋求儘快解決所有 `git` 源的這個問題。

要使用 TruffleHog 掃描您或您組織的 Hugging Face 模型、資料集和 Spaces 中的秘密資訊,請執行以下命令:

# For your user
trufflehog huggingface --user <username>

# For your organization
trufflehog huggingface --org <orgname>

# Or both
trufflehog huggingface --user <username> --org <orgname>

您可以選擇包含 (`--include-discussions`) 和 PRs (`--include-prs`) 標誌來掃描 Hugging Face 討論和 PR 評論。

如果您只想掃描一個模型、資料集或 Space,TruffleHog 為每個都有特定的標誌。

# Scan one model
trufflehog huggingface --model <model_id>

# Scan one dataset
trufflehog huggingface --dataset <dataset_id>

# Scan one Space
trufflehog huggingface --space <space_id>

如果您需要傳入身份驗證令牌,可以使用 --token 標誌或設定 HUGGINGFACE_TOKEN 環境變數。

以下是 TruffleHog 在 mcpotato/42-eicar-street 上執行時輸出的示例:

trufflehog huggingface --model mcpotato/42-eicar-street
🐷🔑🐷  TruffleHog. Unearth your secrets. 🐷🔑🐷

2024-09-02T16:39:30+02:00	info-0	trufflehog	running source	{"source_manager_worker_id": "3KRwu", "with_units": false, "target_count": 0, "source_manager_units_configurable": true}
2024-09-02T16:39:30+02:00	info-0	trufflehog	Completed enumeration	{"num_models": 1, "num_spaces": 0, "num_datasets": 0}
2024-09-02T16:39:32+02:00	info-0	trufflehog	scanning repo	{"source_manager_worker_id": "3KRwu", "model": "https://huggingface.co/mcpotato/42-eicar-street.git", "repo": "https://huggingface.co/mcpotato/42-eicar-street.git"}
Found unverified result 🐷🔑❓
Detector Type: HuggingFace
Decoder Type: PLAIN
Raw result: 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
Commit: 9cb322a7c2b4ec7c9f18045f0fa05015b831f256
Email: Luc Georges <luc.sydney.georges@gmail.com>
File: token_leak.yml
Line: 1
Link: https://huggingface.co/mcpotato/42-eicar-street/blob/9cb322a7c2b4ec7c9f18045f0fa05015b831f256/token_leak.yml#L1
Repository: https://huggingface.co/mcpotato/42-eicar-street.git
Resource_type: model
Timestamp: 2024-06-17 13:11:50 +0000
2024-09-02T16:39:32+02:00	info-0	trufflehog	finished scanning	{"chunks": 19, "bytes": 2933, "verified_secrets": 0, "unverified_secrets": 1, "scan_duration": "2.176551292s", "trufflehog_version": "3.81.10"}

感謝 TruffleHog 團隊提供如此出色的工具來保障我們社群的安全!敬請期待更多功能,我們將繼續合作,讓 Hub 對每個人都更安全。

社群

註冊登入 發表評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.