上周,隨著蘋果召開年度全球開發者大會,iOS 14開發者預覽版本 (以下簡稱iOS 14預覽版) 也正式上線了。
有開發者發現,在iOS 14預覽版上,當前臺活躍的應用讀取了剪貼板里的內容時,會在界面上彈出提示告知用戶。
具體來說,當App從關閉狀態打開或者從后臺進入前臺時,都會讀取用戶剪貼板里的內容,iOS 14預覽版會顯示“xxx pasted fromyyy“的字樣,其中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開發教程作者王禹效告訴硅星人,當用戶在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這次展示彈窗的初衷,“把這種做法暴露出來,我覺得是件好事。這代表蘋果官方將這個曾經灰色的地帶定義成黑色。”