
Android app 攞到位置權限,廣告 SDK 點樣順手交出你嘅行蹤?
EFF 發現四套廣告工具預設讀取位置,開發者未必察覺資料已外流
Android 問你准唔准某個 app 讀取位置,畫面上只會見到 app 名。麻煩在於,app 入面可能塞咗幾套由其他公司提供嘅廣告 SDK;權限一批,呢堆程式碼同樣讀得到位置,系統亦冇逐套 SDK 再問你一次。電子前線基金會(EFF)最新調查發現,部分廣告 SDK 更預設開啟位置收集,開發者冇主動關掉就可能把資料送入廣告系統。
四套 SDK 點解俾人點名
EFF 翻查數十套常用廣告 SDK 嘅公開文件,點名 InMobi、BidMachine、Verve HyBid 同 Huawei Petal Ads 四套工具。佢哋嘅共同點係:只要 app 已有位置權限,SDK 預設就可以取用位置作廣告用途。文件有方法關掉收集,不過指示有時收得好埋,部分供應商更直接向開發者強調,附帶位置嘅廣告曝光有機會賣得貴啲。
呢項研究唔代表所有 Android app 或廣告 SDK 都有同一行為。EFF 揀呢四套係因為佢哋公開承認相關預設,而唔係按整個 Play Store 隨機抽樣,所以暫時推算唔到受影響 app 比例,亦冇證據顯示有香港 app 牽涉其中。講「開發者唔知情」都只可理解成預設設定同文件可能令人漏看,唔可以當成每個開發團隊都完全蒙在鼓裏。

圖片:Wikimedia Commons — Kaartic(CC BY-SA 4.0)
EFF 真正驗到咩
EFF 除咗睇文件,亦喺實驗環境用 mitmproxy 檢查測試手機傳送出去嘅數據,需要時再用 Frida 協助分析。研究人員喺 QR Scanner 同 GPS Speedometer 發往 BidMachine 網域嘅請求入面見到精確經緯度;兩款 app 當時嘅 Google Play Data Safety 標籤都冇話會同第三方分享位置。EFF 指兩者累計下載量分別超過 5,000 萬同 1,000 萬次,但下載次數唔等於活躍或受影響人數。
BidMachine 回應 EFF 時指,作業系統未批准位置權限,SDK 就攞唔到相關資料,並稱發行商要自行處理權限同同意流程。公司其後修正文件,承認 app 獲批權限時 SDK 會收集精確位置。不過呢句回應亦揭出權限介面嘅盲點:用戶答應畀測速功能知道位置,畫面冇清楚交代廣告公司亦會收到同一份資料。
Advertising ID 令散點變成行蹤
單次經緯度未必有幾大價值,重複收集再配合識別碼就完全唔同。Android Advertising ID 係可重設、可刪除嘅廣告識別碼,廣告平台用佢分辨同一部裝置。位置同識別碼反覆出現,就有條件串連成返工路線、住所附近活動或者經常到訪地點;實時競價亦可能把資料送到廣告鏈內多個參與者,開發者未必同每一間都有直接關係。
Google 官方文件亦提醒,部分廣告 SDK 會喺自己嘅 library manifest 申報 AD_ID 權限,合併 app manifest 時可以自動帶入。刪除 Advertising ID 能夠減少呢種跨 app 串連,但唔會撤回位置權限,亦阻止唔到 SDK 用 IP 推算大概位置,所以兩項設定要分開處理。
Data Safety 標籤點解會甩漏
Google Play 要開發者喺 Data Safety 一欄申報 app 收集、使用同分享咩資料,當中包括所有第三方 library 同 SDK。問題係呢張標籤由開發者填寫,Google亦清楚寫明準確度責任落喺開發者身上。SDK 更新版本、轉咗預設值或者文件講得含糊,標籤就可能同實際流量脫節。
MOBILESoft 2026 一項相關研究訪問 41 名 Android 開發者,再分析 172 個網上討論串,涉及另外 642 名開發者。結果顯示,開發者通常知道自己程式碼會收咩資料,但要把第三方服務嘅行為準確對應到 Data Safety 分類時,信心明顯較低。標籤有用,不過單靠自我申報,好難充當資料流量嘅即時驗證結果。
Android 用戶可以即刻做咩
先到手機「設定」內嘅私隱或位置頁,逐個檢查有位置權限嘅 app;實際選單名稱會因品牌而有少少分別。地圖、天氣同運動 app 未必一定要長期取得精確位置,可以改用「只在使用期間」、「只限今次」或者大概位置。功能完全用唔着位置,就直接拒絕。Google Play 嘅 Data Safety 標籤可以作參考,但唔好當佢係技術審計報告。
另外可到「私隱 > 廣告」重設或刪除 Advertising ID;舊版 Android 可能只提供退出個人化廣告。做完仍然唔代表位置資料一定唔會離開手機,因為 app 可以有自家帳戶識別碼,IP 亦會透露大概地區。最有效嘅日常做法,仍然係縮窄位置權限同刪走冇必要留低嘅 app。
開發團隊要追查數據送咗去邊
開發者先盤點 dependency tree、合併後嘅 manifest、位置同 AD_ID 權限,再逐套查 SDK 版本、預設設定、停用收集方法同供應商資料披露。跟住要喺乾淨測試裝置分別試拒絕、大概、精確同背景位置四種情況,截取實際連線請求,確認經緯度、廣告 ID、IP 衍生位置同其他識別碼究竟送去邊個網域。
最後把結果對返 consent 畫面、私隱政策同 Play Console 嘅 Data Safety 表,SDK 每次升級亦要重跑。Google Play 政策講得直接:第三方程式碼造成嘅收集同分享,責任仍然歸 app 開發者。EFF 呢次發現最實際嘅提醒,就係文件同標籤只可作線索;真正交咗咩資料,始終要睇合併後程式同實際傳送出去嘅數據。
參考來源
- TechCrunch — Android app developers may be unwittingly sharing their users’ location data with advertisers — original report
- Developers: Beware of Ad Libraries that Betray Your Users’ Location Privacy — 研究原文,交代四套 SDK、網絡流量證據、供應商回應同測試方法。
- SDK Requirements — Play Console Help — Google Play 官方政策,說明開發者對第三方 SDK、敏感資料同 Data Safety 申報嘅責任。
- Advertising ID — Play Console Help — Google 官方解釋 Advertising ID、manifest 合併、重設同刪除方法。
- Request runtime permissions — Android Developers — Android 官方位置權限指引,包括精確、大概、使用期間同單次授權。
- Challenges in Android Data Disclosure: An Empirical Study — MOBILESoft 2026 研究,補充開發者填寫 Google Play Data Safety 表時遇到嘅實際困難。
本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。







