原文標題:How to prevent leaks from Claude Code's 'Don't ask again' file
GitLab於11月11日發布指引,提醒使用Claude Code的團隊檢查.claude/settings.local.json是否被誤提交。當開發者選擇不再詢問某個Shell指令時,工具可能把完整指令存入本機設定;如果其中直接包含密碼或權杖,敏感值也會留下。GitLab表示,自身基礎設施密鑰已受保護,文章聚焦的是使用者專案可能出現的外洩。
指引指出,依賴個人電腦的全域忽略設定,無法讓排除規則隨專案移轉,因此應在儲存庫的.gitignore明確加入這個路徑。團隊也能依訂閱方案增加禁止檔名的推送規則、Secret Push Protection與定期密鑰掃描。不同功能有授權層級限制,群組規則也不一定回溯套用到既有專案,不能只設一次便認定所有儲存庫已受保護。
調查必須涵蓋目前檔案、其他分支、歷史提交與分支複本;只搜尋預設分支可能漏掉已刪除的內容。一旦發現密鑰,處理順序是先在服務供應端輪替,再移除檔案與清理歷史,因為刪除目前版本不會使舊憑證失效。原文引用Apiiro的公開儲存庫統計,並非GitLab本次重新盤點的數字。本稿保留風險機制與處理原則,未將第三方統計當作本次平台新增受害規模。
發生了什麼事
GitLab提醒開發團隊檢查Claude Code本機核准設定,完整Shell指令可能連同敏感值被存下,若誤提交到儲存庫,後續刪除也可能在歷史留下副本。
為什麼重要
本機忽略規則不會自動隨儲存庫移轉,憑證也不會因刪檔而失效。問題需要同時處理密鑰有效性、目前檔案、歷史紀錄與預防性推送規則。
影響哪些人
使用Claude Code且將程式放在GitLab的開發者、專案維護者與資安團隊都應留意;大型群組還需確認舊專案、非預設分支與分支複本的調查範圍。
已確認與未確認
已確認GitLab公布的設定風險與處理流程;是否發生實際洩漏仍需逐案檢查。第三方公開統計未在本次重做驗證,進階防護功能也有方案限制。