京東金融 App 被爆竊取用戶隱私?可別又怪開源庫!
這兩年,無論是國內還是國外,時不時的都會爆出了一些 App 竊取用戶隱私的事件。
用戶對自己的隱私數據,也是越來越重視了,在新安裝 App 的時候,也不是對授權框無腦的點同意,還是會認真看清楚是否符合 App 的屬性。例如一個新聞類的 App 想要獲取通訊錄權限,這肯定是不合理的。
1.
說到用戶隱私,今天又有 App 出事兒了,事兒主是 京東金融 App。
***被微博網友 @瘦出的肋骨已經消失的大俠阿木 發現,京東金融 App,運行在后臺的時候,會將用戶截圖復制到 App 的私有目錄中。
視頻內演示的步驟是這樣的:
- 打開京東金融 App,Home 鍵回到桌面。
- 打開招商銀行 App,隨便找個頁面截圖。
- 從文件管理器中,找到京東金融的目錄(android/data/com.jd.jdapp)。
- 在其中的 uil-images 目錄下,可以找到步驟 2 中的截圖文件。
是不是很神奇,無論京東金融拿用戶截圖有什么目的,在私有目錄下存儲用戶截圖這件事情,都是板上釘釘的事兒了。
視頻的作者,在視頻內舉例打開的是招商銀行 App,話術里也是在說金融,這類用戶比較敏感的 App。
真實情況是,京東金融并沒有對截圖進行區分,哪怕用戶是對王者榮耀進行截圖,它依然會拷貝到自己的目錄下面,這一點從功能上,是沒有區分的。
2.
此事發生之后,京東金融團隊反應也很快,立刻發微博解釋,聲稱保存的截圖,僅作為用戶本地操作,用戶不主動發送給客服,是不會無感知的將用戶截圖上傳的,以此竊取用戶隱私。在解釋的同時,也同步下線了此功能。
官方的解釋很長,大概意思就是,京東金融 App 內,有一個“圖片助手”的小功能,主要是為了方便用戶在截圖后向客服反饋問題。
注意看右上角,在截圖后,頁面會有一個浮動的“圖片助手”,可以幫用戶快捷的反饋問題或者分享。這些就是常規的功能了,在很多 App 內都有類似的功能。
這個功能,主要是為了方便用戶操作,真有問題反饋的時候也覺得很貼心。但是現在問題在于,別家的產品都是僅在 App 在前臺運行時的截圖,才會觸發此功能。更重要的是,別家的產品也不會將截圖拷貝到自己的私有目錄下,這一點才是大家所關心的。
在這件事情上,京東金融***的兩個問題在于:
- 收集用戶在京東金融 App 外的截圖。
- 將截圖復制到京東金融 App 的私有目錄下。
這兩個問題,只要不同時發生,其實問題都不大,嚴重就嚴重在,它們同時發生了。
3.
到這里大家是不是好奇,京東金融為什么要將圖片存儲到私有目錄下?實際上如果只是做“圖片助手”去反饋問題這個功能,是不需要把文件存儲到自己的私有目錄下,這么做等于是給自己埋下了隱患。
我猜測應該是代碼實現時候,沒有考慮到這些細節。
知乎用戶 @琴梨梨 通過反編譯,根據目錄 uil-images 這個字符串,一步步深挖,發現了真相,有興趣研究細節的朋友,可以查看文末的引用連接。
首先說明一點,通過反編譯京東金融 App,暫時沒有發現截圖存在上傳操作。但是為什么會發生將圖片拷貝到私有目錄的事情呢?
簡單來說,京東金融 App 中使用的圖片加載庫,還是老牌的 Android-Universal-Image-Loader。Image-Loader 這個庫,已經好幾年沒有維護了,但是有很多 App 因為歷史等原因,依然在使用它。
我們知道,圖片庫在加載圖片的時候,都會對圖片進行磁盤緩存,Image-Loader 也不例外,它將要顯示的截圖,緩存到了私有目錄下。所以應該是“圖片助手”,沒有檢測當前 App 是否在前臺,只要有新的截圖,就會觸發它顯示截圖的縮略圖,然后用 Image-Loader 去加載圖片,最終導致 Image-Loader 去加載。
這又是一個開源庫引發的血案,但是這一回,可真怨不得開源庫了。人開源庫的功能沒問題,只是這個業務場景,應該需要特殊的配置,而不是使用通用的方式進行加載-緩存-顯示。
4.
說回到京東金融的解釋吧,我是信的。
在這個注重隱私的大環境下,要是真的是為了上傳截圖而做的功能,大概率也會考慮的更多,盡量做的更隱蔽一些。
多半就是一個無心之失,功能實現的時候,沒有考慮到 App 在后臺的場景,并且“錯誤”的使用 Image-Loader 導致圖片被緩存到私有目錄。你說開發者不知道 Image-Loader 會緩存圖片吧?我是不信的。
要我說,問題就是出在整個流程中,各個崗位對用戶隱私的不重視,導致大家都不會考慮可能的用戶隱私的問題。在整個需求-開發-測試等環節中,檢查清單中并沒有考慮到用戶隱私的問題。
有網友為此還編了段子,大家娛樂一下。

reference:視頻原始微博:https://m.weibo.cn/1620589064/4340143953936952
京東解釋微博:
https://m.weibo.cn/6072759159/4340364808456506
截圖分析(一)- 知乎:
https://zhuanlan.zhihu.com/p/56875556
截圖分析(二)- 知乎:
https://zhuanlan.zhihu.com/p/56877625
【本文為51CTO專欄作者“張旸”的原創稿件,轉載請通過微信公眾號聯系作者獲取授權】