
AI代碼追蹤還能保護隱私git-ai的Prompt安全存儲與密鑰脫敏機制詳解【免費下載鏈接】git-aiA Git extension for tracking the AI-generated code in your repos項目地址: https://gitcode.com/gh_mirrors/git/git-ai還在擔心 AI 代碼追蹤工具會偷偷上傳你的對話內容嗎開源項目git-ai是一個用于追蹤倉庫中 AI 生成代碼的 Git 擴展它一邊幫你精確記錄“哪幾行代碼來自 AI、哪幾行來自人類”一邊用本地 Prompt 安全存儲和密鑰脫敏Secret Redaction機制守住你的隱私未登錄時 Prompt 永不外傳API Key、Token 等高熵密鑰在數(shù)據(jù)離開機器前會被自動打碼。一、為什么“追蹤 AI 代碼”必須談隱私使用 Claude Code、Cursor、Copilot 等 AI 編程助手時你的 Prompt 里經常夾帶敏感信息粘貼進去的API Key、數(shù)據(jù)庫密碼內部接口地址、Token、配置文件片段尚未公開的業(yè)務邏輯描述git-ai 的原理是在每次 commit 前對 AI 與人類的編輯做Diff 檢查點Checkpoint把歸屬信息寫入 Git Notes之后git blame就能看到逐行歸屬。這套機制天然會接觸你的對話數(shù)據(jù)——所以“數(shù)據(jù)存哪、傳不傳、傳之前處理什么”就是隱私設計的核心問題。二、第一道防線Prompt 只存本地 SQLitegit-ai 把完整的 Prompt 記錄存放在你電腦上的本地 SQLite 數(shù)據(jù)庫中對應的prompts表包含工具、模型、消息體、提交哈希等字段建表語句見 internal_db.rs。關鍵隱私承諾見 />四、第二道防線基于信息熵的密鑰檢測算法那如果數(shù)據(jù)真的要上傳比如你開啟了個人儀表盤密鑰怎么辦git-ai 的答案是一個基于統(tǒng)計熵的密鑰探測器核心代碼在 secrets.rs。它不依賴“AWS Key 必須以 AKIA 開頭”這類脆弱的正則而是像指紋學家一樣分析字符串本身長度篩選只掃描 1590 個字符的連續(xù) token太短太長直接忽略字符分布分析統(tǒng)計不同字符數(shù)、大小寫/數(shù)字比例越“均勻隨機”越可疑二元組Bigram檢測自然代碼和英文里高頻出現(xiàn)的字符組合如er、on、st會顯著降低“隨機性得分”雙重閾值判定隨機概率低于 1/100000 的字符串直接放行不含數(shù)字的字符串要求更嚴格的閾值1/10000效果是——真正的密鑰sk_test_4eC39HqLyjWDarjtT1zdp7dc、AKIAIOSFODNN7EXAMPLE會被穩(wěn)定命中而普通變量名my_application_name、database_host幾乎零誤報。五、脫敏方式打碼但不全遮命中密鑰后redact_secret() 只保留首尾各 4 個字符中間用星號替換sk_live_abc123xyz→sk_l********xyz這樣既杜絕了密鑰泄露又保留了“這是哪一類 Key”的上下文線索方便排查問題。六、JSON 深度掃描一條 transcript 都不放過Agent 會話transcript是一棵復雜的 JSON 樹。transcript_redaction.rs 中的redact_json_secrets()會遞歸遍歷整棵樹深度上限 32 層對每個字符串葉子節(jié)點做熵檢測同時維護一份鍵名排除清單保護這些元數(shù)據(jù)字段不被誤傷id/session_id/parentId/uuid等標識符字段timestamp、type、role、model、version、branch、path等元信息規(guī)則很簡單存“身份”的字段不脫敏存“內容”的字段content、text、message、output一律過一遍熵檢測。設計方案全文見 transcript-secret-redaction-design.md。七、脫敏發(fā)生在哪幾個“關口”關口位置作用會話事件讀取時stream_worker.rs原始事件進入指標管道前先redact_json_secrets守護進程日志daemon_log_layer.rs日志字符串字段先脫敏再截斷重試隊列脫敏發(fā)生在 SQLite 重試隊列入隊之前密鑰永遠不會以明文落盤到重試隊列一句話總結密鑰在任何一條“出機器”的路徑上都被攔在源頭。八、新手快速自查清單 安裝 git-ai 后可以這樣驗證隱私設置不登錄 零上傳開源模式下唯一默認外發(fā)的是錯誤遙測把配置項telemetry_oss設為off即可徹底關閉檢查倉庫git log后查看 notes只會看到哈希與元數(shù)據(jù)看不到你的 Prompt 原文本地查 Prompt用git-ai show-prompt prompt_id按需查看數(shù)據(jù)不出本地看脫敏效果secrets.rs 內置了完整測試用例覆蓋 .env 文件、JSON 配置、代碼誤報等場景九、延伸閱讀核心模塊路徑密鑰檢測與脫敏算法src/authorship/secrets.rsJSON 遞歸脫敏src/daemon/transcript_redaction.rs本地 Prompt 存儲SQLitesrc/authorship/internal_db.rsAuthorship Log 序列化元數(shù)據(jù)格式src/authorship/authorship_log_serialization.rs隱私政策說明data-privacy.md脫敏機制設計文檔docs/superpowers/specs/2026-05-19-transcript-secret-redaction-design.mdgit-ai 的思路很清晰能不留就不留能不打碼就不打碼必須出門時先過安檢。對于既想用 AI 提效、又想守住密鑰與對話隱私的開發(fā)者來說這套“本地優(yōu)先 熵檢測脫敏”的組合拳是一個值得借鑒的隱私工程范本?!久赓M下載鏈接】git-aiA Git extension for tracking the AI-generated code in your repos項目地址: https://gitcode.com/gh_mirrors/git/git-ai創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考