Hugging Face 與 TruffleHog 合作,實現風險預警

HuggingFace發表於2024-10-30

我們非常高興地宣佈與 Truffle Security 建立合作伙伴關係並在我們的平臺整合 TruffleHog 強大的風險資訊掃描功能。這些特性是 我們持續致力於提升安全性 的重要舉措之一。

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

錯誤地將敏感資訊提交到程式碼倉庫可能會造成嚴重問題。TruffleHog 透過掃描程式碼倉庫中的機密資訊,幫助開發者在問題發生前捕獲並移除這些敏感資訊,保護資料並防止昂貴的安全事件。

為了對抗公共和私有程式碼倉庫中的機密資訊洩露風險,我們與 TruffleHog 團隊合作開展了兩項舉措: 利用 TruffleHog 增強我們的自動掃描流程,以及在 TruffleHog 中建立原生的 Hugging Face 掃描器。

使用 TruffleHog 增強我們的自動化掃描流程

在 Hugging Face,我們致力於保護使用者的敏感資訊。因此,我們擴充套件了包括 TruffleHog 在內的自動化掃描流程

每次推送到程式碼庫時,我們都會對每個新檔案或修改檔案執行 trufflehog filesystem 命令,掃描潛在的風險。如果檢測到已驗證的風險,我們會透過電子郵件通知使用者,使他們能夠採取糾正措施

已驗證的風險是指那些已確認可以用於對其相應提供者進行身份驗證的風險。請注意,未驗證的風險不一定是無害或無效的: 驗證可能由於技術原因而失敗,例如提供者的停機時間。

即使我們為你執行 trufflehog 或者你自己在程式碼庫上執行 trufflehog 也始終是有價值的。例如,你可能已經更換了洩露的密匙,並希望確保它們顯示為“未驗證”,或者你希望手動檢查未驗證的風險是否仍然構成威脅。

We will eventually migrate to the trufflehog huggingface command, the native Hugging Face scanner, once support for LFS lands.

當我們支援 LFS 後,我們最終會遷移到原生的 Hugging Face 掃描器,即 trufflehog huggingface 命令。

TruffleHog 原生 Hugging Face 掃描器

建立原生 Hugging Face 掃描器的目標是積極的幫助我們的使用者 (以及保護他們的安全團隊) 掃描他們自己的賬戶資料,以發現洩露的風險。

TruffleHog 的新的開源 Hugging Face 整合可以掃描模型、資料集和 Spaces,以及任何相關的 PRs 或 Discussions。

唯一的限制是 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 團隊,感謝他們提供了這樣一個優秀的工具,使我們的社群更安全!隨著我們繼續合作,敬請期待更多功能,透過 Hugging Face Hub 平臺為所有人提供更加安全的服務。


英文原文: https://hf.co/blog/trufflesecurity-partnership

原文作者: Luc Georges

譯者: smartisan

相關文章