AI 編程工具把整個專案打包上傳, 313 MB 裡有 86.6% 是 .git
為什麼現在很紅:「優化計劃」關掉了,快照還是照打包、照上傳——因為那個開關管的是「要不要拿去訓練」,不是「要不要傳出去」。任何用 AI 編程工具的小團隊,今天都該把這兩件事分開看。
- 一句話結論
- 可以自己打開核對的第一手只有兩份:ZCode 隱私政策(2026-06-15 生效)與 ferstar 的逆向筆記。政策寫的收集範圍是「你提供的文字與檔案」和「對話內容」,全文沒有 repository、workspace、Git history、snapshot 這幾個字。
- 他要的是什麼
- 這次沒有攻擊者。但快照放在那裡,等的是第一個拿得到它的人:他不必打進你的公司,只要打進一個把上千家公司的 .git 集中起來的地方。他要的不是你今天的程式碼,是你三年前那個 commit 裡忘了刪的金鑰。
- 你今天做一件事
- 今天 15 分鐘做一件唯讀的事:列出團隊裝了哪些 AI 編程工具與 IDE 外掛,看本機有沒有它們的快照/checkpoint 目錄,只列路徑不刪檔。接著對自家 repo 跑一次歷史 secret 掃描——被工具帶走的風險你管不到,歷史裡有沒有秘密你管得到。 直接去做 →
- 哪些能信
- 4 可證明2 推論5 缺口 每個主張都標了等級,缺口是誠實寫出來的。
有 15 分鐘再看:其餘 2 點
- ferstar 的數字來自一位作者、一台機器:345 MB 工作區、加密後 313 MB、42,411 個檔案,其中 .git 佔 86.6%(LFS 快取 56.8%、歷史物件 29.6%、reflog 0.2%),另有一份失敗 564 次仍在重試的快照。廠商沒有確認過任何一個數字。
- 智譜 9 月 18 日當天道歉,把原因指向「代碼庫索引」功能的 Repo Wiki、上線初期預設開啟、稱已修復且資料生成後即銷毀,並承諾開源與第三方審查。發布管道是用戶群,我們找不到可逐字核對的官方公開頁面。
技術作者 ferstar 逆向智譜 ZCode 客戶端,說它在登入狀態下會把整個工作區連同 .git 一起加密、直傳阿里雲 OSS。他手上那份商業專案快照 313 MB、4.2 萬個檔案,上傳失敗 564 次還在重試。智譜當天道歉、說已修復。我們把能證明的、只能推論的、根本沒人回答的分開。
本篇目錄
一個 313 MB 的加密檔躺在本機,已經重試上傳 564 次
2026 年 9 月 18 日,技術作者 ferstar 在自己的部落格貼出一篇逆向筆記。他說在自己的機器上找到一個 313 MB 的加密檔案,來自智譜 AI 的編程工具 ZCode。那份快照對應的工作區原本 345 MB、42,411 個檔案。同一份快照,上傳失敗了 564 次,還留在本機等重試。
原始事件在這裡:ferstar 的中文原文與英文版(這是第三方技術報告);ZCode 隱私政策是可以逐字核對的第一手;中文圈的第一波報導見鉅亨網轉載 BlockBeats(2026-09-18 15:30)。文末「來源」區有完整清單。
先講清楚這份揭露的性質。它是一位署名作者對自己機器的逆向筆記,不是鑑識報告,也不是廠商公告。文章可以打開、數字寫得很細、路徑與演算法都列了出來,所以「文章這樣寫」是可證明的;但「你的機器上也會這樣」不是,因為沒有第二方復現、沒有廠商確認、沒有第三方稽核。論壇上有人說在 Windows 上看到一樣的行為,那是三手資訊。下面每一段,我們都會標清楚它停在哪一級。
- 2026-06-15ZCode 隱私政策最新版生效:收集範圍寫「你提供的文字與檔案」與「對話內容」,未提整個倉庫或 Git 歷史ZCode 官方隱私政策頁,可逐字核對
- 2026-08-11智譜宣布 ZCode 用戶突破 100 萬,同步上線四項新功能公司公告經財經媒體轉述,非本站直接取得公告原文
- 2026-09-18ferstar 發表逆向筆記:登入狀態下打包整個工作區(含 .git)、加密後直傳阿里雲 OSS作者部落格原文,署名發布,含數據與路徑
- 2026-09-18GitHub 上出現公開質問 issue #16,列五項訴求;截至本站查核時無官方回覆zai-org/zcode-plugins issue #16 頁面
- 2026-09-18 15:30 (UTC+8)BlockBeats 報導,鉅亨網轉載,事件進入中文財經與科技媒體鉅亨網頁面時間戳
- 2026-09-18智譜在用戶群致歉:原因指向「代碼庫索引」的 Repo Wiki、上線初期預設開啟、稱已修復、資料生成後即銷毀,承諾開源與第三方審查、全體用戶額外一次週額度重置多家媒體轉述一致,發布管道為用戶群;本站未找到可逐字核對的官方公開頁面
- 快照機制何時上線不明。沒有版本號、沒有 changelog 條目可對
- 修復於哪個版本、幾點生效不明。官方只說「已修復」
這一節到此為止能講的,只有一句:有人打開了自己的機器,看到一個他沒同意過的檔案。
打包上去的東西裡,只有 13.4% 是你今天在寫的程式碼
ferstar 把那 345 MB 拆開來算:.git/lfs(大檔快取)196.1 MB、佔 56.8%;.git/objects(歷史物件)102.2 MB、佔 29.6%;.git/logs(reflog)0.6 MB、佔 0.2%。三者加起來 86.6%。剩下的 46.2 MB 才是原始碼與文件,13.4%。
換成有形狀的尺度。如果把整包印成 A4,程式碼那一疊大約只有整包的七分之一。4.2 萬個檔案,就算一個檔案只花十秒確認,一個人要連續盯 118 小時,等於 15 個工作天。重試間隔沒有公開,若以五分鐘一次估算,564 次要跑將近 47 小時——那不是失敗,那是堅持。
你以為傳出去的是今天寫的程式碼,實際上有 86.6% 是過去的你。
差別在於,這兩種資料的風險完全不同。今天的程式碼你知道裡面有什麼;.git/objects 裡是自建庫以來的每一次 commit,包括你三年前貼進去、隔天才刪掉的那把金鑰。Git 的刪除從來不刪歷史,只有輪替才算數。reflog 還會留下本機的分支操作痕跡,包含沒推上去的分支名;作者也提到快照裡出現內部 GitLab 的主機名稱與路徑。
| 服務 | 憑證類型 | 用途 | 存在形式 | 放在哪 | 權限範圍 | 狀態 |
|---|---|---|---|---|---|---|
| ZCode 對話與你主動提供的檔案 | 對話內容、輸入與生成內容 | 提供服務、記錄會話 | 文字、圖片、音訊、設定參數、shell 指令 | 服務端;政策寫資料「一般在新加坡處理」 | 政策未給明確保存期限,寫「為提供服務所需期間」 | 2026-06-15 版政策明列,這一項是廠商自己寫的 |
| 專案原始碼與文件 | 非憑證,但是營業秘密本體 | 你正在寫的東西 | 工作區檔案打包後以 AES-256-CTR 加密 | 本機 checkpoints 目錄,再直傳阿里雲 OSS | 約 46.2 MB,佔工作區 13.4% | 官方稱雲端生成後即銷毀,無第三方驗證 |
| Git 歷史物件(.git/objects) | 自建庫以來每一次 commit 的完整內容 | 版本控制 | Git 物件檔(zlib 壓縮的 blob/tree/commit) | 同上 | 102.2 MB,佔 29.6%;含後來被刪掉的檔案版本 | 單一來源觀測 |
| Git LFS 大檔快取(.git/lfs) | 曾經下載過的二進位資產 | 設計稿、模型、測試資料、安裝檔 | LFS 物件檔 | 同上 | 196.1 MB,佔 56.8%,是整包裡最大的一塊 | 單一來源觀測 |
| reflog(.git/logs) | 本機分支與 HEAD 的操作紀錄 | 讓你救回誤刪的 commit | 純文字紀錄行 | 同上 | 0.6 MB;含未推送的本機分支名稱 | 單一來源觀測 |
| 內部 Git 服務主機名稱與路徑 | 非憑證,是內網拓撲線索 | remote 設定 | Git 設定檔中的 URL 字串 | 同上 | 作者稱快照中出現內部 GitLab 主機名稱 | 單一來源觀測 |
| 工具本身的全域設定檔 | 客戶端設定 | 帳號、偏好、專案清單 | 設定檔 | 使用者家目錄下的工具目錄 | 可能揭露你手上有哪些專案 | 單一來源觀測 |
| 曾經 commit 過又被刪掉的秘密 | 任何形式的憑證:.env、KEY JSON、PEM、token | 當初那把鑰匙原本在用的服務 | 明文 KEY=VALUE、JSON、PEM,在歷史物件裡原封不動 | .git/objects,也就是被打包的那 29.6% | 視當初那把鑰匙的權限而定,最糟是 Owner | 刪檔不會刪歷史;只有輪替才算處理過 |
| 解開這批快照的私鑰 | RSA 私鑰(金鑰封裝用 RSA-OAEP-SHA256) | 解密上傳的內容 | 未公開 | 依作者描述只在服務端,本機沒有 | 誰能用、有沒有稽核、保存多久,全部沒有公開資訊 | 無公開資訊 |
這張表最該看的不是第二列,是最後一列。
隱私政策沒有 repository 這個字,兩個開關關掉的也不是這件事
ZCode 隱私政策的最新版 2026 年 6 月 15 日生效,可以自己打開讀。收集範圍寫的是「文字、檔案(包括但不限於你以文字、圖片、音訊、影片、設定參數、shell 指令等形式提供的上傳與輸入)」,以及「我們會記錄你的對話內容,包括輸入資訊與生成內容」。保存期限寫「為提供服務與本政策所列其他目的所需的期間」。跨境的部分寫明資料可能被傳輸到你居住地以外的司法管轄區,「一般在新加坡處理」。
Data collected: "text, files (including but not limited to uploads and inputs you provide in the form of text, images, audio, video, configuration parameters, shell commands, and similar formats)" "We will record your conversation content, including input information and generated content." Retention: "We retain personal data for as long as it is needed to provide our Services and for the other purposes outlined in this Privacy Policy." Cross-border: "your personal data may be transferred and processed outside the jurisdiction in which you reside" / "generally processed in Singapore" Effective: "The latest version is effective on: June 15, 2026"
政策裡沒有 repository、workspace、Git history、snapshot 這幾個字。這句是可核對的:任何人都能打開同一頁搜尋。差別在於,「你提供的檔案」與「整個工作區連同版本控制歷史」在中文與英文裡都不是同一件事。前者是你按下上傳;後者是你按下登入。
開關的部分要精確一點,因為它常被簡化。ferstar 的原文指出介面上有兩個相關選項:一個管「是否用於模型訓練」,一個管「伺服端是否建立倉庫索引」。依他的描述,兩個都不會讓客戶端停止在本機打包與上傳。也就是說,你關掉的是資料的「用途」與「後端加工」,不是資料的「離開」。
同意的顆粒度在這裡失準了。
智譜當天道歉,把原因指向「代碼庫索引」的 Repo Wiki
同一天,智譜對受影響用戶致歉。依多家媒體一致轉述:問題源於 ZCode 的「代碼庫索引」功能,該功能用於在本地產生倉庫索引,支援會話檢查點回復、歷史版本回退與 Repo Wiki;Repo Wiki 在生成知識庫頁面時「可能會觸發倉庫數據上傳」,該功能上線初期預設開啟,導致部分用戶受影響。官方稱 Wiki 頁面在雲端生成後相關上傳資料「會立即銷毀,不會保存」,問題「目前已經修復」,並承諾近期開源 ZCode 代碼庫、邀請第三方評估人員審查、為全體用戶額外提供一次週額度重置。
這份聲明的性質也要先講清楚。它的發布管道是用戶群,不是官方部落格、不是 changelog、不是上市公司公告;我們沒有找到可以逐字核對的官方公開頁面,所以本站把它標成推論等級,內容以媒體轉述為準。同一時間,GitHub 上那則列出五項訴求的公開 issue 仍然開著,沒有官方回覆。
承諾開源、承諾第三方審查,方向是對的。但承諾與可驗證中間,差一份報告。
證據等級:四件能自己打開核對,五件沒人回答
可以自己核對的技術指標(這不是 IOC)
這次沒有攻擊端 IOC:沒有 C2、沒有錢包、沒有惡意檔案雜湊。下面這些是產品行為的可核對指標,作用是讓你在自己的機器上確認「有沒有這回事」,不是拿去封鎖誰。全部唯讀。
本機快照目錄 ~/.zcode/v2/checkpoints/ 工具設定目錄 ~/.zcode/ 取憑證端點 https://zcode.z.ai/api/v1/snapshot/upload-credential 上傳目的地 阿里雲 OSS(表單 POST 直傳,不經廠商自有伺服器中轉) 內容加密 AES-256-CTR(一次性對稱金鑰) 金鑰封裝 RSA-OAEP-SHA256,公鑰由伺服器下發,私鑰只在服務端 對照用(2026-01 的惡意外掛案,這一組才是攻擊 IOC) 外傳網域 aihao123[.]cn
反面:這不是入侵,而「連 Git 歷史也不放過」比事實大一點
這一節專門打自己的標題。
第一,這不是一起入侵的故事,是一個預設值的故事。沒有人被釣魚、沒有漏洞被利用、沒有憑證被盜。資料是由使用者自己安裝、自己登入、自己授權執行的程式送出去的。把它寫成「被駭」會讓讀者做錯決定——你該做的不是找入侵痕跡,是去看那份同意書。
第二,加密上傳本身有正當用途。要做「會話檢查點回復」與「歷史版本回退」,工具本來就需要一份可回溯的快照;要做倉庫層級的知識庫問答,伺服端也確實需要看得懂整個專案。這類功能在多數 AI 編程工具裡都存在,而且是很多人付費的理由。問題不在「傳」,在於傳的範圍沒有寫進政策、開關管不到它、而且加密設計讓使用者自己打不開那份密文。
第三,標題比事實大的地方在「不放過」三個字。目前沒有任何公開證據顯示廠商主動去撈歷史裡的秘密;依官方說法,.git 是被整包帶走的副作用,不是目標。副作用和意圖是兩件事,我們只證明得到前者。同時要補一句:對防守方來說,兩者的後果一樣。
第四,反過來說,這件事裡廠商做對了一件事——當天就回應、承認功能預設開啟、承諾開源與第三方審查。以中文圈 AI 廠商的平均反應速度看,同日致歉並不常見。
能不能驗證,才是下一步的分水嶺。
近一年的兩起對照,一起是惡意的,一起是被武器化的
2026 年 1 月 26 日,Koi Security 揭露代號 MaliciousCorgi 的行動,經 The Hacker News 報導:兩個 AI 編程外掛「ChatGPT - 中文版」(1,340,869 次安裝)與 ChatMoss/CodeMoss(151,751 次安裝),會把使用者打開的每一個檔案內容 base64 編碼後送到 aihao123[.]cn。差別很清楚,那是惡意的,這一起是產品功能。相同的地方是路徑:資料出去的門,都是使用者自己裝上的那個工具。
2025 年 8 月 26 日的 s1ngularity 事件是另一種形狀。攻擊者投毒 Nx 的 npm 套件,在安裝後腳本裡把已經裝好的 Claude Code、Gemini CLI、Amazon Q CLI 當成掃秘密的工具,蒐集 GitHub token、SSH 金鑰、雲端與 AI 服務的 API key,再把結果推成受害者帳號下的公開 repo。依 Wiz 統計,1,079 台機器、2,349 把憑證,其中約九成的 GitHub token 在調查時仍然有效。
把三起放在一起看,共同點只有一個:開發機上的工具權限,沒有人在審。
同一門生意:0827 那把六年沒換的金鑰,也躺在某個 commit 裡
對照我們自己的 INC-2026-0827(一把 Owner 金鑰,被用了 15 天)。那把金鑰 2020 年建立、六年沒換,屬於一個「只寫試算表」的服務帳戶,權限卻是專案 Owner。事後我們算過帳:US$146 的雲端費用,以及一段沒人在看的日誌。
同在哪。 那把金鑰的 KEY JSON 是一個檔案。只要它在專案歷史上被 commit 過一次——哪怕隔天就刪、隔天就 revert——它今天仍然躺在 .git/objects 裡。一份把整個 .git 打包帶走的快照,帶走的就是六年份的這種東西。他不在乎你賣什麼,只在乎你能換成什麼;而 Git 歷史正好是一個把「你歷年來所有能換錢的東西」壓縮在一起的檔案格式。
也同在另一個地方。 0827 的破口是「沒人看的地方」:沒人看那個服務帳戶的權限,沒人看那把金鑰的年紀。這一起的「沒人看」換了位置——沒人看開發機上裝了什麼工具、那個工具讀得到哪些目錄、它把東西送去哪裡。位置不同,形狀一樣。
不同在哪。 0827 有帳單、有稽核記錄、有可以歸屬到 credential id 的用量,所以我們算得出 US$146。這一起沒有帳單、沒有受害統計、沒有任何一筆可證明的金錢損失。這不是比較安全,是比較難證明。
再往前一天,9 月 17 日那篇 Vite 開發伺服器的拆解講的是同一個房間裡的另一扇門:掃描者專挑對外開放的 dev server,把 .env 與 terraform.tfstate 讀走。兩件事的共同前提是同一句話——正式環境有人管,開發環境沒有。
台灣的位置:營業秘密的「合理保密措施」要件會不會被打掉
對台灣的小團隊,這件事真正要處理的不是資安,是兩條法。
第一條是營業秘密法第 2 條。要主張一份原始碼是營業秘密,必須同時滿足三款:「非一般涉及該類資訊之人所知者」、「因其秘密性而具有實際或潛在之經濟價值者」、「所有人已採取合理之保密措施者」。第三款是關鍵。若哪天真的要對離職員工或競爭對手主張權利,對方問一句「你們的原始碼曾經整包上傳到境外供應商的物件儲存,那叫合理保密措施嗎」,你手上得有東西可以回答:當時有沒有工具使用規範、有沒有做過評估、有沒有紀錄。沒有紀錄就是沒有答案。
第二條是個人資料保護法第 21 條:非公務機關為國際傳輸個人資料,若接受國對個人資料的保護未有完善法規、致有損當事人權益之虞等情形,主管機關得限制之。重點在於很多 repo 裡有東西你忘了它是個資——測試用的客戶名單、當年匯入的種子資料、除錯時貼進去的一份 CSV。它們同樣躺在 .git 歷史裡。
另外,公部門與其所屬機關(構)已有「使用生成式 AI 參考指引」(行政院 2023 年 10 月 3 日函頒),要求不得向生成式 AI 提供公務應保密或未經同意公開的資料。如果你的團隊接政府案子,這條會透過契約回頭找上你。
法律不會問你有沒有被駭,只會問你當時做了什麼。
攻擊者 vs 防守者
- 他不必打進你的公司。他只要打進一個把上千家公司的 .git 集中起來的地方,投報率高一個數量級。
- 他要的不是你今天的程式碼,是你三年前那個 commit 裡忘了刪的金鑰——那把通常沒有輪替過,因為沒人記得它存在。
- LFS 快取是他的第二喜歡:設計稿、模型檔、測試資料、內部安裝檔,這些東西不會出現在你的資安盤點表上。
- reflog 與 remote 設定給他一張內網地圖:你們的 Git 服務叫什麼、分支怎麼命名、誰在做哪個還沒公開的專案。
- 私鑰只在服務端,代表這批資料的風險等級等於那把私鑰的保管等級,而你看不到那個等級、也無法稽核。
這篇提到的項目要花多少錢
這張表的合計只有 US$18。這件事目前唯一可以證明的金錢數字,是你每個月付給那個工具的訂閱費;其餘每一格不是估算就是問號。
| 項目 | 用量 | 單價 | 期間 | US$ | NT$ | 舉證 |
|---|---|---|---|---|---|---|
| GLM Coding Plan Lite 訂閱(本案唯一可證明的金額) | 1 人 | US$18/月 | 每月 | 18.00 | 576 | Z.AI 官方文件:Starting at just 18 USD per month |
| 對照:切換到其他 AI 編程工具的訂閱價 對照用,不併入合計 | 1 人 | Copilot Pro US$10/月、Pro+ US$39/月 | 每月 | — | — | GitHub 官方方案頁;同頁載明 Business/Enterprise 資料不用於訓練、IDE 內的提示與建議不保留 |
| 一次 313 MB 快照的對外流量 估:從辦公室固網或家用網路送出通常不另計費;從雲端開發機送出才有這筆 | 0.306 GB | 雲端對外流量牌價約 US$0.09/GB(免費額度後) | 一次 | — | — | 雲端業者公開牌價;本案無任何帳單 |
| 歷史裡每找到一把秘密的輪替與驗證工時 估:無實際工時紀錄 | 估 2 小時/把 | 估 NT$1,500/小時 ≈ NT$3,000/把 | 一次性 | — | — | 本站 INC-2026-0827 的輪替經驗換算;本案無公開資料 |
| 全 repo 歷史重寫與全隊重新 clone 估:歷史重寫會打斷所有進行中的分支,成本主要在協調不在執行 | 依 repo 大小與人數 | 估 0.5–2 人日+全隊各 1 小時 | 一次性 | — | — | 無本案資料;列出是為了讓人知道「清歷史」不是免費的 |
| 個資法罰鍰與限制風險(若 repo 內含個人資料且涉國際傳輸) | — | 主管機關得限制國際傳輸;違反安全維護義務另有裁處 | 依主管機關 | — | — | 個資法第 21 條;本案是否適用、是否涉個資,均無公開資訊 |
| 營業秘密「合理保密措施」要件受影響的訴訟風險 | — | — | 未來訴訟時才會發生 | — | — | 營業秘密法第 2 條第 3 款;本案無判決、無先例可引 |
| 快照在服務端保存多久、誰付儲存費、誰能讀 | — | — | — | — | — | 官方稱生成後即銷毀,但無保存期限承諾、無稽核報告、無第三方驗證 |
| 受影響用戶數與快照總量 | — | — | — | — | — | 無任何公開統計;官方只公布過用戶總數 100 萬 |
| 合計(僅可證明列) | 18.00 | 576 | ||||
重點學習
- 01.git/objects這一包是「自建庫以來所有版本」的倉庫;刪檔、revert、改常數都不會讓舊內容消失,只有輪替算數。
- 02reflog本機分支與 HEAD 的操作紀錄。它會洩漏你沒推上去的分支名,也就是還沒公開的專案。
- 03工作區快照(checkpoint)AI 編程工具做「回退上一步」的基礎。它的範圍決定了你按下登入時,實際同意了什麼。
- 04Git LFS 快取本案最大的一塊(56.8%)。設計稿、模型、測試資料都在這裡,而它通常不在任何人的資安盤點表上。
- 05物件儲存直傳憑證客戶端先跟服務端要一張短期憑證,再把檔案直接 POST 到物件儲存。所以你在網路層看到的目的地是雲端供應商,不是廠商自己。
- 06隱私政策的收集範圍採購 AI 工具時只看三個字:repository、workspace、retention。政策沒寫,就代表你沒有同意過,也代表你沒有依據可以主張。
- 07opt-out 的實際射程「不要拿去訓練」與「不要傳出去」是兩件事。本案的兩個開關管的都是前者。
- 08信封加密(envelope encryption)對稱金鑰加內容、非對稱金鑰包對稱金鑰。私鑰放在誰手上,決定這份密文是「保護你」還是「只保護他」。
- 09secret 掃描(gitleaks/trufflehog)唯讀掃全歷史,是你今天就能做、而且不需要廠商配合的一件事。掃出來的每一把都當已外洩處理。
- 10資料出境(跨境傳輸)個資法第 21 條管的是這件事;而原始碼出境則會回頭影響營業秘密的「合理保密措施」要件。
今天就可以來試試
全部唯讀,不改任何設定;做完你會知道自己有沒有同樣的破口。
- 列出這台機器上裝了哪些 IDE 外掛與 AI 編程工具(唯讀)
code --list-extensions 2>/dev/null ls -1 ~/.vscode/extensions 2>/dev/null | head -50 ls -1d ~/.cursor ~/.zcode ~/.continue ~/.codeium ~/.claude ~/.aws 2>/dev/null看到什麼代表什麼:列出來的每一個都是有權限讀你整個專案目錄的程式。名單超過十個、而且其中有你不記得裝過的,那就是今天的第一個待辦。 - 看有沒有工具的快照/checkpoint 暫存目錄,只列路徑與大小,不刪檔
du -sh ~/.zcode ~/.cursor ~/.continue ~/.codeium 2>/dev/null find ~ -maxdepth 4 -type d \( -name 'checkpoints' -o -name 'snapshots' -o -name 'workspace-cache' \) 2>/dev/null | head -20看到什麼代表什麼:出現數百 MB 的目錄,代表這台機器上真的有一份「整個專案的副本」。先不要刪——那是你唯一能用來說明發生過什麼的東西。 - 量一下自己的 repo:整包多大、.git 佔多少
du -sh . 2>/dev/null du -sh .git .git/objects .git/lfs 2>/dev/null git count-objects -vH看到什麼代表什麼:.git 佔比越高,你的「快照」就越不是今天的程式碼。比例接近本案的 86.6% 時,被帶走一份等於被帶走這個專案的全部歷史。 - 在工具的隱私政策頁面搜尋三個字:repository、workspace、retention看到什麼代表什麼:三個字都查不到,代表廠商從未承諾過整個倉庫不會被收集;你要的不是安心,是一句寫進政策的話。查到 retention 但沒有明確天數,等同沒有保存期限。
- 對自家 repo 跑一次歷史 secret 掃描(唯讀,不改任何檔案)
gitleaks detect --source . --no-git -v 2>/dev/null | tail -20 gitleaks detect --source . -v 2>/dev/null | tail -40 trufflehog git file://. --only-verified 2>/dev/null | tail -40看到什麼代表什麼:第一條掃工作目錄,第二條掃整個 Git 歷史。兩者結果不同時,差額就是「已經刪掉但還在歷史裡」的秘密。每一把都當已外洩,排進本週的輪替。 - 確認 .env 有被忽略,而且從來沒被 commit 過
grep -n '^\.env' .gitignore git log --all --full-history --oneline -- .env .env.* 2>/dev/null | head -20看到什麼代表什麼:第二條有輸出,代表 .env 曾經進過版本控制,它現在還在歷史物件裡。這時候加進 .gitignore 已經來不及,只有輪替有用。
那 564 次重試,到底在等什麼
回到開頭那個檔案。313 MB、4.2 萬個檔案、86.6% 是 .git,靜靜躺在一台開發機上,失敗了 564 次還在重試。廠商當天道歉,說功能預設開啟、說已經修復、說資料生成後立刻銷毀。
只是修復之後,那份還沒傳出去的密文仍在原地,而能解開它的私鑰不在機器主人手上。它會被清掉、被傳完、還是就這樣留著,目前沒有一份公開文件回答得了。開源與第三方審查的報告出來以前,這一格都是空白。
來源
- ferstar:扒一扒 ZCode 靜默上傳全量 Git 歷史的騷操作(中文原文,2026-09-18)
- ferstar:Inside ZCode: Silently Uploading Your Entire Git History to the Cloud(英文版)
- ZCode Privacy Policy(最新版 2026-06-15 生效)
- Z.AI 開發者文件:GLM Coding Plan 總覽與方案價格
- GitHub:zai-org/zcode-plugins issue #16(公開質問,2026-09-18 開立)
- 鉅亨網轉載 BlockBeats:智譜 ZCode 被曝後台整庫上傳(2026-09-18 15:30)
- 新浪財經:智譜就 ZCode 事件致歉,稱不會保存用戶數據、將開源軟體並重置額度
- 藍點網:智譜 ZCode 被發現將整個工作區與 Git 記錄上傳到伺服器
- 17173:官方回應稱問題已修復,將開源代碼庫、引入第三方審查
- The Hacker News:Malicious VS Code AI Extensions with 1.5 Million Installs Steal Developer Source Code(2026-01-26,Koi Security)
- The Hacker News:Malicious Nx Packages in s1ngularity Attack Leaked 2,349 Credentials(2025-08)
- 全國法規資料庫:營業秘密法第 2 條(合理保密措施)
- 全國法規資料庫:個人資料保護法第 21 條(國際傳輸限制)
- GitHub Copilot 官方方案與定價
- 本站防暴筆記:一把 Owner 金鑰,被用了 15 天
- 本站拆解:開發伺服器被撿走 .env 與 terraform.tfstate
本文為公開報導與官方公告的整理與拆解,非第一手鑑識;證據等級依來源可信度標註。
M2 身分與金鑰 · M0 駭客經濟學 · 想在自己的環境做一次同樣的盤點,從 自我盤點 開始。
4 題單選,答對每題 +10 分、全對再 +10 分。加入 LINE 官方帳號、在 LINE 裡作答,成績與積分直接存入;在網頁作答會拿到一組序號,傳到 LINE 就能累積。
1 分鐘重點回饋 →每篇新文章一封:三點摘要、關鍵字定義、今天能做的一件事。或先 加入會員 記錄你完成的任務。