楠木軒

這些濫用剪貼板的App,背後玩的是什麼把戲?

由 端木泰華 發佈於 科技

  上週,隨着蘋果召開年度全球開發者大會,iOS 14 開發者預覽版本 (以下簡稱iOS 14 預覽版) 也正式上線了。

  有開發者發現,在 iOS 14 預覽版 上,當前台活躍的應用讀取了剪貼板裏的內容時,會在界面上彈出提示告知用户。

  具體來説,當 App 從關閉狀態打開或者從後台進入前台時,都會讀取用户剪貼板裏的內容,iOS 14 預覽版會顯示 “xxx pasted from yyy“ 的字樣,其中 xxx 是讀取了剪貼板內容的應用,yyy 是剪貼板內容的來源應用。例如:

  這個功能一出,此前總是偷偷訪問剪切板的 App 一下子就現形了。

  根據獨立開發者 Talal Bakry 和 Tommy Mysk 的研究整理,發現了至少53個應用具有這樣的行為,除了 TikTok 之外還有《紐約時報》和《經濟學人》的手機端、微博、AccuWeather、阿里巴巴的全球速賣通 (AliExpress) 等,涵蓋社交網絡、新聞客户端、遊戲和電商等類型。

  不過,最受人矚目的就是字節跳動旗下的海外短視頻軟件 TikTok。

  Emojipedia 創始人 Jeremy Burge 上傳的視頻顯示,每當他在 TikTok 的評論文本框裏輸入文字的時候,會一直不停彈出 TikTok 讀取剪貼板的通知:

  一下子,這條新聞就在開發者和 iOS 用户圈子裏掀起了不小的輿論風波。

  需要明確的是,此前蘋果一直允許前台的應用靜默讀取剪貼板內容,只是從 iOS 14 預覽版開始,才會進行明顯的提示。很多用户也是有這些提示第一次明確意識到,自己每天使用的應用會“偷偷”讀取剪貼板裏的內容。再加上 TikTok 的那段視頻,一度讓人誤會 TikTok 在監聽自己輸入的內容。

  TikTok 真的在這樣做嗎?這些應用為什麼要讀取剪貼板內容?背後到底玩的是什麼把戲?

  硅星人就此採訪了 TikTok,以及其他多位資深 iOS 開發者,帶你全面瞭解開發者正常讀取以及濫用剪貼板的那些事。

  TikTok 為何、如何使用剪貼板?

  TikTok 發言人對硅星人表示,開發者之所以會在 iOS 14 預覽版看到 TikTok 頻繁讀取剪貼板內容,實際上是因為 TikTok iOS 應用會通過調用剪貼板進行垃圾內容防禦 (anti-spam)。

  這個問題被公眾發現之後,TikTok 已經在 App Store 發了新版,去掉了這一功能。

  一位瞭解情況的員工對 TikTok 剪貼板反垃圾的工作機制進行了具體解釋:

  當用户在文本框輸入時,應用會對用户剪貼板裏是否存在內容,進行一個“是”或“否”判定。

  如果答案是“是”的話,該用户在 TikTok 視頻下方留下的評論,其權重就會降低,不會出現在留言的靠前位置。

  TikTok 不會讀取剪貼板裏的具體內容,只會看剪貼板裏是否有內容。

  這個思路背後的邏輯是:認定那些在進入 TikTok 後剪貼板裏仍有未清理內容的用户,其剪貼板內容是垃圾內容的可能性更大。

  這是個一概而論的邏輯,甚至有些匪夷所思。

  正常來講,反垃圾內容的對象應該是用户提交的內容,而非保存在剪貼板裏的內容。事實上,由於剪貼板功能設計,粘貼完成之後剪貼板裏的內容依舊存在。正在讀文章的你可以看一下,自己的剪貼板裏是否有文字——如果用這個標準來判斷垃圾內容,那誤傷簡直不要太多。

  內容平台有很多其他更常見的反垃圾做法:絕大多數平台都會在服務器端進行反垃圾內容處理;在客户端本地,也可以檢測文本框單位時間內是否輸入了太多文字。這些都比 TikTok 整改之前的方法更有邏輯。

  而且,該員工透露,這一功能並非由 TikTok 的反垃圾組開發,而是由另一個業務方向相近的團隊負責。

  不過可以確認的是,TikTok 並沒有像很多人看了視頻之後所擔心的那樣,在監聽用户在文本框輸入的內容。

  這一説法得到了多位資深 iOS 開發者的支持。

  知乎 iOS 話題優秀回答者、iOS 開發教程作者王禹效告訴硅星人,當用户在 TikTok 內輸入內容時,剪貼板調用的通知頻繁出現,疑似因為調用了一個名叫 textFieldDidEndEditing(_:) 的函數,也即“文本框輸入結束”。

  結果就是,當用户在 TikTok 的文本框輸入文字,每次輸入動作停止的時候,都會觸發對剪貼板內容的調用。

  至少兩位資深 iOS 開發者認為,從視頻裏的應用行為來看,頂部彈窗通知只是代表讀取了剪貼板裏的內容而已,“有人以為這代表 TikTok 在監聽用户打字,其實沒有。只是在文本框輸入文字的行為觸發了讀取剪貼板內容。”王禹效表示。

  至少在這次事件當中,TikTok 沒有人們指責的那麼邪惡。整改之前的行為,最多影響了用户的使用體驗,從代碼的層面來看,也確實“濫用”了剪貼板權限,但沒有證據證明它將剪貼板內容用於侵犯用户隱私l商業獲利、。

  據硅星人瞭解,TikTok 在去掉前述反垃圾內容的功能後,仍會繼續在應用內保留調取剪貼板的功能,會在合法合規的原則上使用。不過 TikTok 暫未透露會具體的使用目的。

  那麼,調取剪貼板這件事,都有什麼可能的使用目的?請繼續往下讀。

  濫用剪貼板背後是什麼把戲?

  讀取剪貼板內容是 iOS 平台允許的功能。多位受訪的資深開發者和業內人士也表示,調取剪貼板確實是中美互聯網行業的慣常做法。原則上,只要信息需要在應用之間傳遞,就可以調取剪貼板。

  但是,像這一批被發現的應用,都是在沒有獲得用户許可的前提下嗅探剪貼板內容,以及 TikTok 這樣的“極端案例”,似乎超出了蘋果設計剪貼板的初衷,隱私方面存在爭議。

  王禹效認為,啓動即調用剪貼板,按照合理猜測,可能有幾類原因:

  程序寫錯了,用錯了插件,錯誤調用了接口,(比如 TikTok 的情況,出於有意或者無意,都暫可算這一類);

  開發過程中接入了一些常見的第三方功能,比如第三方賬户登陸(如 Facebook、Twitter、微信、微博等),也就接入了這些功能對應的廣告聯盟。調取剪貼板的行為可能是這些第三方功能或廣告聯盟 SDK 導致的,一般來講不屬於開發者第一方的過錯;

  補完用户畫像或提取關鍵詞推送廣告:這種做法就接近灰色產業的範疇了。結合上一類理由,應用完全可以提取剪貼板裏的內容,通過第三方廣告聯盟,補足用户畫像,從而更精確地推送廣告。這也是為什麼很多人經常感覺廣告有“心電感應”的能力,明明沒有在當前應用裏輸入有關內容,卻也收到了關聯度很高的廣告。

  知乎 iOS 話題優秀回答者、資深開發者 Bill Cheng 透露,在中文互聯網的語境下,應用調取剪貼板一般有如下幾種場景:

  首先,應用之間的跳轉,通常會通過剪貼板來實現。比如在第三方應用裏選擇通過微信進行登錄,或者通過支付寶進行支付,此時嵌入在第三方應用裏的微信和支付寶組件,會在跳轉之前將一段數據放到 iOS 的系統剪貼板裏,跳轉之後再進行讀取;

  以及,一些應用,特別是某些阿里系和字節系應用,因為眾所周知的原因,應用裏的內容或鏈接無法通過微信進行分享,所以轉而通過剪貼板實現。

  獨立開發者、macOS 剪貼板工具 FastClip 創始人沈寅告訴硅星人,大公司的應用重度使用剪貼板,主要是為了完成它自己的應用場景、優化體驗:

  “比如,由於中文互聯網陣營之間的信息禁運,淘寶只能通過淘口令來完成微信傳播,或者支付和電商應用的口令紅包,只能通過解析剪貼板特定的數據格式,幫助用户快速地觸達產品的某個功能,提升體驗。”

  久而久之,隨着這些中國互聯網公司勢力的增長和人員的流動,這種做法慢慢變成了中國互聯網行業的常態。

  微博 CEO 王高飛在應用被發現讀取剪貼板內容後承認,微博的分享功能也是通過剪貼板來實現的。

  但是這個解釋並不讓人信服。一些開發者認為這是偷換概念和場景的説法,iOS 平台有原生的跨應用分享接口,完全可以實現“分享內容到微博”的效果。不用原生接口而用剪貼板,而且完全逾越了用户在文本框點擊“粘貼”那一下的授權,説好聽點是為了用户體驗,説難聽點則是侵犯隱私的行為。

  一位網友表示:接口應用主動去嗅探用户的剪貼板內容,和用户主動把剪貼板內容複製在接口應用裏,是兩種不同的行為,看似很方便,實際很不妥,缺的是用户的粘貼授權。

  Bill Cheng 指出,從另一個角度來看,圍繞剪貼板的隱私爭議,也是由於中文互聯網特色的社交環境導致的。“簡單來説,你可以發現騰訊系的應用很少出現剪貼板隱私問題,但其它應用如果涉及到微信分享,並被微信封殺過,一般都會有(剪貼板方面的)問題。”

  濫用剪貼板,終於該治一治了?

  剪貼板調用的中國互聯網“特色”的存在,長期來看並不是好事。一些新的玩法,已經從灰色轉向黑色了。

  去年雙十一期間,有用户發現自己的搜狗輸入法內置剪貼板裏開始頻繁出現未知的淘口令。

  更誇張的是,搜狗輸入法也內置了複製內容後提示的功能,打開了這個功能的用户,會頻繁跳出“你剛剛複製了xxxx”的提示——儘管自己並未進行任何複製的動作。

  在此前提之下,當用户打開淘寶、一淘之類的應用時,這些未知淘口令就會被調用、識別,進而觸發鎖傭紅包的頁面。一些用户不注意點擊了之後,使用購物返利應用下單獲得的返利,就進入了別人——未知淘口令的原主——的賬户裏。

  有受訪者對硅星人反映,在今年618購物節期間,搜狗輸入法也出現了類似的情況。

  關於這一情況,Bill Cheng 補充介紹,前幾年支付寶做過一個吱口令的功能,其他人複製某用户的吱口令進入支付寶可以獲得紅包,三天內使用支付寶付款還可以讓吱口令的原主獲得返傭。

  結果,在之後的一段時間裏,很多移動網站的開發者動了歪心眼,通過網頁 API 往剪貼板裏填充吱口令,不僅會覆蓋掉用户剪貼板裏之前的內容,還會導致用户進入支付寶等應用時莫名其妙彈出窗口。

  很明顯,這些開發者的用意是大規模騙取返傭,而渠道正是通過剪貼板進行的,不僅簡單,而且“合法“。

  Bill Cheng 認為,調用剪貼板在 iOS 14 之前是一個灰色的地帶,功能需求是存在的,對用户隱私的侵犯也沒有那麼被人關注,所以也沒人質疑這種做法的合理性。iOS 14 的新提示框將調用剪貼板的動作暴露出來,在他看來是一件好事。

  “應用在打開時隨意讀取剪貼板,是對用户隱私的一種侵犯。剪切板裏面很有可能儲存並不是分享的亂碼字段,而是你的姓名、銀行卡號、手機號甚至是密碼。”

  這部分信息很有可能隨着剪貼板讀取上傳到應用的服務器上,和用户的賬號綁定在一起,聯繫方式或財務信息就這樣不知不覺泄漏了。

  沈寅認為,上傳用户剪貼板內容,確實可以提取到很多用户的隱私信息,在應用上是沒有必要的,“不論這些應用有沒有做剪貼板數據的收集或者分析,這種行為都會讓用户很恐慌。作為一名剪貼板應用的開發者,個人的態度是必須把用户的隱私放在第一位。”

  Bill Cheng 指出,剪貼板作為用户行為操作的系統及工具,不應該被用在非用户行為的操作上。如果用户沒有進行剪切複製粘貼操作,應用就不應該去讀取剪貼板的內容,或者往裏面寫入內容。“別説當前存在隱私問題的剪貼板分享,就是跳轉登陸,或者支付,都不應該使用剪貼板。”

  他認為,讓剪貼板迴歸最初的工具用途,是蘋果 iOS 14 這次展示彈窗的初衷,“把這種做法暴露出來,我覺得是件好事。這代表蘋果官方將這個曾經灰色的地帶定義成黑色。”