重點摘要
- AI 驅動的 Wondershare Repairit 照片及影片修復軟體,有可能因為蒐集與保存使用者的敏感照片而不小心違反了自己的隱私權政策。缺乏良好的開發資安營運 (DevSecOps) 實務習慣,很可能導致應用程式碼當中含有過度授權的雲端存取權杖 (access token)。
- 寫死在應用程式二進位檔案中的雲端登入憑證,固然能讓應用程式讀取和寫入雲端儲存,但卻也讓雲端儲存暴露在外,而這些儲存不僅包含使用者資料,還包含 AI 模型、軟體二進位檔案、容器映像,以及公司的原始程式碼。
- 駭客可利用這些外洩的存取權限來篡改 AI 模型或執行檔,進而發動精密的供應鏈攻擊。這類攻擊可能會透過廠商簽署的軟體更新或 AI 模型下載來將惡意檔案散播給合法使用者。
企業的隱私權政策是否真正落實到實際的資料處理實務當中 (尤其是 AI 驅動的應用程式) 以及 AI 模型部署環境能否維持完整,都是企業在 AI 時代的關鍵資安考量。 Trend™ Research 發現了一個值得注意的案例:採用 AI 技術的照片編輯應用程式 Wondershare Repairit 會蒐集、儲存,而且不小心洩漏使用者的私人資料,由於其開發資安營運 (DevSecOps) 的實務習慣不佳,因而違反了自己的隱私權政策。
該應用程式明確表示使用者的資料不會被儲存,如圖 1 所示。其網站也同樣提到了這一點。但我們卻發現,這些敏感的使用者照片會因為安全上的疏失而被保存,隨後更暴露在外。
根據我們的分析發現,由於廠商缺乏良好的 DevSecOps 實務習慣,導致該應用程式的原始程式碼當中含有一個過度授權的雲端存取權杖 (access token)。這個權杖將使得存放在雲端儲存貯體內的敏感資訊遭到曝光。不僅如此,這些資料在儲存時並未加密,因此任何具備基本技術知識的人都有能力存取這些資料,還能下載這些資料來對廠商不利。
正如我們先前的研究所發現,開發人員無視安全原則,直接將過度授權的雲端登入憑證寫死在程式碼當中的情況並不罕見。
就眼前的這個案例來說,我們是在編譯後的二進位執行檔中發現了登入憑證 (圖 2)。這樣的做法雖然看似方便,而且可以簡化使用者體驗和後端處理,但如果實作不正確,企業將暴露出嚴重的漏洞。
保護整個架構至關重要:制定明確的儲存用途、定義好存取控管,並確保只授予必要的權限給這個登入憑證,這樣就有助於防止駭客下載編譯後的二進位檔案來進行分析,並用於原本預期之外的用途。
雖然直接將具備寫入權限的雲端儲存存取權杖寫死在二進位檔案內是一種常見的作法,但這是用來蒐集應用程式記錄檔或指標,更重要的是,絕大多數的實作都會嚴格限制權杖的權限。比方說,可以寫入資料到雲端儲存,但卻無法讀取雲端儲存。
目前還不清楚這段程式碼是由開發人員所撰寫,或是因為 AI 程式設計代理提供了一段含有漏洞的程式碼。但不論如何,企業在使用雲端服務時務必要特別小心。光是一個存取權杖外洩通常就能帶來災難性的後果,例如,駭客就能在廠商提供的軟體二進位檔案中加入惡意程式碼,進而發動供應鏈攻擊。
我們已主動透過 Trend Zero Day Initiative™ (Trend ZDI) 漏洞懸賞計畫來聯絡該廠商,但目前尚未收到回應。這些漏洞在 4 月份揭露給廠商,此外,本文的最終草稿也在發布之前分享給廠商做參考。
這些漏洞最早是經由 Trend ZDI 揭露,CVE 編號分別為 CVE-2025-10643 和 CVE-2025-10644,並於 9 月 17 日揭露。
二進位檔案分析:登入憑證曝光與資料外洩
此問題的發現過程從被下載的二進位檔案開始,這是該公司官方網站大力宣傳的用戶端應用程式,是一套強大、友善的工具,採用專利的技術與 AI 作為核心引擎來修復受損的照片和影片 (圖 3)。
根據二進位檔案的分析顯示,該應用程式使用了一個雲端儲存帳號,其登入憑證已寫死在程式內。這個儲存帳號不僅用來下載 AI 模型和應用程式資料,也存放了該公司開發的多個已簽署的應用程式執行檔,此外,還有敏感的客戶資料 (圖 4),這些全都因為二進位檔案內含有雲端物件儲存識別資料 (URL 和 API 端點)、機密的存取 ID 和金鑰,以及儲存貯體名稱而可能遭人存取。
經過進一步的分析證明,可讀取及寫入儲存貯體的登入憑證也被寫死在二進位檔案中。而這個雲端儲存存放了 AI 模型、容器映像、該公司其他產品的二進位檔案、腳本與原始程式碼,以及客戶資料 (如影片和照片)。
私密資料外洩:第一個嚴重問題
我們發現,這個不安全的儲存服務會儲存客戶近兩年來上傳的資料,這是很嚴重的隱私權疑慮與違規情況,尤其違反了歐盟通用資料保護法 (GDPR)、美國健康保險可攜性與責任法案 (HIPAA),或是類似框架。這起資料外洩包含了客戶上傳的數千個未加密的個人影像,這些影像基本上屬於私密資訊,僅供 AI 強化功能使用 (圖 6)。
這類資料的外洩,不僅可能招來立即的法規罰款、商譽損失,以及智慧財產竊盜所導致的競爭優勢損失等風險,而且還可能讓駭客對該廠商及其客戶發動針對性攻擊。
供應鏈問題:篡改 AI 模型
當使用者與 Wondershare Repairit 互動時,會看到一個彈出視窗要求使用者直接從雲端儲存貯體下載 AI 模型來啟用本機服務 (圖 7)。二進位檔案的組態設定中含有特定的儲存貯體位址,以及要下載的 AI 模型壓縮檔名稱 (圖 8)。
比單純暴露客戶資料更令人擔憂的,或許是精密的 AI 供應鏈攻擊。由於該二進位檔案會自動從不安全的雲端儲存下載並執行 AI 模型,因此駭客可修改這些模型或組態設定來感染不知情的使用者 (圖 9),如同我們之前介紹過的其他案例。
這開啟了各種可能的攻擊情境,讓駭客能夠:
- 置換雲端儲存內原本的 AI 模型或組態設定檔案。
- 修改軟體執行檔來發動針對其客戶的供應鏈攻擊。
- 修改模型來執行任意程式碼、建立常駐的後門,或是暗中將更多客戶資訊外傳。
真實的衝擊與嚴重性
這類情況的嚴重性不容小覷,因為像這樣的供應鏈攻擊很可能衝擊大量的全球使用者,讓駭客透過廠商簽署的正常二進位檔案來散播惡意檔案。
過去的前例與歷史教訓
先前曾經發生的事件 (如 SolarWinds Orion 攻擊或 ASUS ShadowHammer 攻擊) 都證明了,當駭客篡改的二進位檔案經由正常供應鏈管道散布時可能帶來的災難性後果。Wondershare RepairIt 這次的情況也反造成了同樣的風險,而且還因為大幅仰賴本機端執行的 AI 模型而更加嚴重 (圖 10 和圖 11)。
更廣泛的影響:不單只有資料外洩和 AI 攻擊
除了直接讓客戶資料曝光以及 AI 模型遭到篡改之外,還會衍生其他幾項嚴重後果:
- 智慧財產遭竊。 競爭對手若取得了專屬模型與原始程式碼,就能對進階演算法進行逆向工程,嚴重損害企業的市場領先地位與經濟優勢。
- 法規與法律後果。 在 GDPR 和類似的隱私權框架下,洩露客戶資料可能帶來鉅額的罰鍰、訴訟,以及強制揭露義務,嚴重損害客戶信任與財務穩定。近期一起有關這類風險的知名案例就是 TikTok 因違反資料隱私法規而遭歐盟裁罰 5.3 億歐元。
- 侵蝕消費者信任。 資安事件會嚴重打擊消費者的信心,要贏得信任很難,但要失去卻很容易,而且還可能流失廣大客戶,造成巨大的長期經濟衝擊。
- 廠商責任與保險問題。 這類資料外洩事件的財務與營運責任,還不單是直接的罰鍰。保險理賠、失去廠商合約,以及後續遭廠商列入黑名單,都會讓財務損失加劇。
結論
為了追求持續不斷的創新,企業很可能急於在市場上推出新的功能以維持競爭力,但卻可能沒有預見這些功能可能被人用於全新、未知的用途,或是這些功能未來可能如何變化。這也解釋了為何企業會忽略掉一些重要的資安後果,以及為何在企業內建置一套強大的資安流程至關重要,包括 CD/CI 流程。
資料使用及處理方式的透明度是企業的義務,這不僅是為了維持使用者對 AI 驅動解決方案的信任,更是為了符合不斷變化的法規情勢。企業必須消彌政策與實務之間的落差,以確保其實際營運與其發布的隱私權聲明相符。持續檢討及改善資安措施,對於跟上 AI 的開發與部署腳步所帶來的風險至關重要。企業唯有透過有紀律的治理以及設計即安全 (security-by-design) 的原則,才能守護其專屬的技術與客戶的信任。
資安建議
企業可採用 Trend Vision One™ Code Security 內的 Artifact Scanner 來主動防範本文所討論的資安問題。這套全方位的掃描功能,可在執行容器、二進位檔案及原始程式碼之前預先偵測其中的漏洞、惡意程式以及機密,讓資安團隊在問題衝擊營運環境之前預先加以偵測及矯正。
恪守業界提倡的資安最佳實務原則,對於守護軟體開發環境至關重要,同時對於防範本文中提到的嚴重攻擊情境,也扮演著關鍵角色。企業應採取以下資安措施來預防潛在的風險:
- 嚴密控管存取權杖的權限。如此可降低駭客橫向移動與提升權限的風險,嚴格確保每個權杖都只能用來執行必要的動作。
- 將每種應用情境的儲存服務分開。 將不同的儲存服務分配給特定的功能和團隊使用,企業就能更妥善控管存取狀況,萬一某項服務遭到駭客入侵,也能減少敏感資料的外洩。
- 將客戶資料與軟體供應鏈分開。 將客戶資料與開發工具及流程隔離,以防止非蓄意的存取或外洩,避免個人敏感資訊經由供應鏈外洩的風險。
- 監控儲存服務與存取權杖的使用情況。定期監控有助於迅速發掘異常狀況、潛在的資料外洩,以及未經授權的存取,盡可能在最低衝擊的情況下矯正問題。
- 在軟體產品中使用雲端服務時,請在 CI/CD 流程當中納入 DevSecOps 標準。將資安檢查與控管整合至開發流程前期,可確保漏洞在進入營運環境之前就已預先被攔截及解決。
- 提供安全的程式碼片段 (code snippet) 並建立安全預設值來協助開發人員及 AI 打造安全的應用程式。將安全的選項設為預設值,並提供經過審核的範例,這有助於防範因疏失或缺乏專業而導致漏洞。
- 在整個開發及部署循環都遵守資安最佳實務原則,例如:定期修補、漏洞管理、基本資安習慣等等,以確保持續受到保護。