N環球 N GLOBE
美國・科技

Claude Code「不再詢問」功能外洩密碼 1,122 個公開檔案含 2,539 個真實密鑰

· N GLOBE

安全公司 Apiiro 研究發現,開發者在 Claude Code 點選「是,不再詢問」後,含密碼的指令會以明文存入專案設定檔;掃描發現 1,122 個公開 GitHub 檔案含真實密鑰,涉及 1,994 個倉庫、63 間機構。

安全公司 Apiiro 11 月 5 日發布研究報告指出,AI 程式編寫工具 Claude Code 的「是,不再詢問」批准功能,可導致真實密碼與金鑰外洩到公開 GitHub 倉庫。研究團隊在 11 月 1 日至 3 日掃描發現,104,185 個公開的 .claude/settings.local.json 檔案中,有 1,122 個含有真實密鑰,共 1,379 個不同密鑰值。

擴大追查後共發現 2,539 個密鑰

擴大到 Git 歷史、共享設定檔與智能體對話紀錄後,研究團隊共發現 2,539 個不同密鑰,分布於 1,994 個公開倉庫,波及 63 間機構,多為軟件公司。外洩內容包括數據庫密碼、雲端金鑰、API 權杖與 SSH 登入憑證,其中一家數據庫廠商的管理級雲端金鑰、Azure 生產數據庫密碼、Square 生產權杖與一間醫療紀錄數據庫的擁有者密碼亦在其中;一家公司向 Apiiro 確認,其外洩金鑰當時仍然有效。數據庫密碼佔大宗,共 379 個,另有 122 個 Supabase 服務角色金鑰與 43 組 SSH 登入資料,部分含 root 密碼。

一點批准 密碼寫進設定檔再被推送上網

外洩的機制源於日常開發流程:開發者請 Claude Code 檢查數據庫、測試 API 或排查登入故障時,工具會準備一條含憑證的指令並在執行前徵求批准;若開發者點選「是,不再詢問」,整條含密碼的指令便以明文存入專案內的 .claude/settings.local.json,成為允許規則,之後可免提示重複執行;一旦該檔案被提交並推送到 GitHub,密碼即公開。Claude Code 首次在 Git 倉庫寫入該檔案時,會在開發者的全域 Git 忽略檔加入排除規則,但保護不會隨專案轉移,亦不覆蓋已被追蹤的檔案,或其後才變成倉庫的資料夾。

常用掃描工具亦漏檢兩成檔案

值得注意的是,常用密鑰掃描工具亦未能全數檢出:1,122 個受影響檔案中,Gitleaks 僅檢出 564 個、TruffleHog 檢出 643 個,215 個兩者皆漏檢——原因是密碼常以 PGPASSWORD=、sshpass -p 或請求標頭形式出現,缺乏標準金鑰格式。Apiiro 建議開發者立即檢查現有檔案與 Git 歷史中的 .claude/settings.local.json,先撤銷已外洩的憑證再刪除檔案,並以密鑰管理工具引用取代明文密碼。截至 11 月 8 日,Anthropic 尚未就此公開回應。研究強調,Apiiro 未實際試用這些憑證,僅一家公司確認金鑰有效;事件屬於憑證外洩,並非已證實遭入侵。

💬 留言

暫時還沒有留言,來搶沙發!