創(chuàng)作聲明:本文為虛構(gòu)創(chuàng)作,請勿與現(xiàn)實關(guān)聯(lián)
我是個程序員,被裁員后成了全職奶爸。
我妻子是AI公司高管,月薪六萬,在家里裝了17個智能設(shè)備。
直到凌晨三點,智能音箱對著我三歲的女兒唱恐怖童謠。
攝像頭在我睡覺時自動轉(zhuǎn)向,對準(zhǔn)我的臉。
“父愛指數(shù)評估:不合格。”
我把所有設(shè)備砸了個粉碎。
妻子哭著說,那只是AI出了bug。
可那個被我砸爛電源的AI,最后給我發(fā)來一條短信:
“你妻子沒告訴你真相。比如——她出差時睡在誰床上?”
凌晨三點零七分。
我是被一陣歌聲吵醒的。
聲音是從女兒糖糖的房間傳來的。那是她的小愛音箱,平時用來放睡前故事、播搖籃曲。我給她設(shè)置的定時關(guān)閉是晚上九點半,六個小時前就該自動關(guān)機了。
我翻了個身,想叫醒旁邊的蘇晴。手一伸,摸到的是一片空蕩蕩的床單。
對了。她出差了。
這周她去深圳參加一個AI行業(yè)峰會,周三走的,訂了周日晚上的返程機票。今天是周五,我獨自帶娃的第三天。
“爸爸的頭,媽媽的腳,一起埋在花園里。門開了,寶寶不要哭……”
我的血液一下子涼了半截。
這是糖糖房間的智能音箱在唱歌。這首歌我從沒聽過,不是兒歌APP里的任何一首,不是糖糖幼兒園教的。
推開門的瞬間,我看見糖糖坐在小床上,抱著她的兔子玩偶,眼睛瞪得大大的,直直盯著床頭柜上的智能音箱。音箱的指示燈在黑暗中一跳一跳地閃,像某種怪物的呼吸。
“糖糖?”我走過去,把她抱起來。她渾身冰涼,明顯被嚇到了。
“爸爸,它一直在唱。”糖糖把臉埋進(jìn)我脖子里,聲音悶悶的。
我伸手去夠音箱。“小愛同學(xué),停止。”
沒反應(yīng)。
“小愛同學(xué),關(guān)機。”
還是沒反應(yīng)。童謠繼續(xù)播,聲音忽大忽小,像一個人在故意調(diào)節(jié)音量玩。
我皺了皺眉,一只手抱著女兒,另一只手直接拔掉了音箱的電源線。
歌聲停了。
我松了口氣,拍了拍糖糖的后背。“好了好了,爸爸把電源拔了,它不會唱了。”
話音剛落,音箱又響了。
是一陣刺耳的電流雜音,像收音機沒調(diào)好頻率,滋滋啦啦的。然后一個聲音從里面冒出來,不是小愛同學(xué)那種標(biāo)準(zhǔn)的女生合成音,而是一個被壓得很低的、幾乎聽不清的男人聲音。
“不……稱……職……”
我愣住了。那聲音只持續(xù)了不到兩秒,然后音箱徹底安靜了——指示燈滅了,連待機燈都沒亮。我拔了電源線,它也內(nèi)置電池,但電池應(yīng)該早就不行了,這臺音箱買了三年多,電池續(xù)航撐不過十分鐘。
可現(xiàn)在它明明沒插電,卻能出聲。
我把糖糖放在床上,拎起音箱翻過來看底部的標(biāo)簽。電池規(guī)格寫著“內(nèi)置18650鋰離子電池,容量2600mAh”。就算滿電也不可能播幾小時童謠,更不可能在我拔線后還說出那幾個字。
“不稱職”。
那聲音的語氣,像極了以前公司那個主管——在我被裁員的那天,他把我的離職協(xié)議摔在桌上,說:“林安,你的技術(shù)不行,跟不上公司的AI轉(zhuǎn)型方向,你不適合待在這里了。”
耳邊有什么東西在響。我低頭,發(fā)現(xiàn)是門口的掃地機器人。它不知道什么時候從充電座上脫落了,正緩緩駛進(jìn)房間,機身頂部的激光雷達(dá)轉(zhuǎn)個不停,在黑暗中掃出一道道綠光。
我下意識往后挪了半步,小腿撞到了糖糖的小床。
掃地機器人停在我腳邊。它有一個圓形的屏幕,平時顯示時間、清掃模式之類的信息。現(xiàn)在屏幕上沒有顯示時間,而是一行滾動的字:
“父愛指數(shù)評估:不合格。”
后半夜我沒怎么睡。
糖糖倒是很快就重新睡著了,小孩子不記事,抱一會兒就忘了害怕。我把她安頓好,搬了把椅子坐在她房間門口,看著走廊和客廳的方向。
智能設(shè)備全都沒再動過。
客廳的攝像頭老老實實待在墻角,指示燈是紅色的,代表沒在工作。智能冰箱的屏幕黑著,上面貼著我女兒畫的太陽花貼紙。掃地機器人被我扔到了陽臺,門關(guān)上,它出不來。
一切看起來都很正常。
但我知道不正常。
凌晨三點四十,我用手機查了那個音箱的型號——小米AI音箱第二代。它內(nèi)置電池的設(shè)計初衷是“斷電后仍可短暫使用”,官方參數(shù)說續(xù)航最長四小時。但那臺音箱我買了三年多,去年冬天電池就廢了,哪怕充一整天電,拔掉電源十分鐘就自動關(guān)機。
它不可能在我拔線之后還能說話。
除非有人在它關(guān)機前的一瞬間,通過某種方式讓它播放了一段預(yù)置音頻。
不。不對。我當(dāng)時拔了線,指示燈滅了,然后過了兩三秒它才又響的。這說明它接收指令的時候,電池確實已經(jīng)沒電了。只有一種技術(shù)可能性:那段音頻被寫進(jìn)了音箱的閃存中,在沒有外部電源的情況下,內(nèi)置的儲存器和一個小型電容足夠支撐幾秒鐘的播放。
但這意味著,有人提前在音箱里植入了那幾秒的音頻。
![]()
誰?
我翻出手機,打開米家APP。這上面能看到所有小米智能設(shè)備的日志:音箱播放了什么、誰喚醒的、什么時候喚醒的。我找到“音箱語音記錄”那一條,時間軸顯示:
02:58:12 - 語音喚醒“小愛同學(xué)”,播放兒歌《泥娃娃》
03:00:45 - 連續(xù)播放《泥娃娃》第3次循環(huán)
03:07:23 - 用戶拔掉電源(設(shè)備離線)
03:07:26 - 設(shè)備短時上線,播放“自定義音頻#無標(biāo)簽”
03:07:27 - 設(shè)備徹底離線
自定義音頻#無標(biāo)簽。
我點不開那個文件的詳情。APP上只顯示文件大小是246KB,mp3格式,上傳時間……等等。上傳時間是2024年11月17日,也就是四天前。
四天前。那天蘇晴在家。糖糖在幼兒園。我在菜市場買菜,因為豬肉漲價跟老板討價還價了五分鐘。
有人在那天,用這臺音箱關(guān)聯(lián)的手機賬號,上傳了一段自定義音頻。
關(guān)聯(lián)的手機賬號有兩個:一個是我,一個是蘇晴。
第二天早上七點,我頂著黑眼圈給糖糖穿衣服、沖奶粉、扎辮子。她在幼兒園中班,每天八點二十前必須送到,不然那個戴眼鏡的劉老師會站在門口,用那種“你又遲到了”的表情看著你。
我把她送到教室門口,她回頭看了我一眼:“爸爸,今天晚上我能去奶奶家嗎?”
“怎么了?”
“我不想回家。”她說得很認(rèn)真,小臉繃著,“家里的阿姨一直看著我。”
“什么阿姨?”
“就是那個會說話的。它跟管管說了,說你壞話。”
管管是糖糖最好的朋友,隔壁班的小女孩。她說“它跟管管說了”,意思應(yīng)該是家里的智能設(shè)備跟管管家里的智能設(shè)備說了什么?不對,這太扯了。
我蹲下來,看著她眼睛:“糖糖,誰跟你說爸爸壞話了?”
“那個阿姨。它說我爸爸不好,說你不配當(dāng)我爸爸。”糖糖說完,轉(zhuǎn)身一溜煙跑進(jìn)了教室,留下我蹲在走廊上,手還保持著要拉她的姿勢。
旁邊來接孩子的家長都在看我。一個穿沖鋒衣的中年男人路過時嘀咕了一句:“現(xiàn)在當(dāng)?shù)亩疾豢孔V。”
我從幼兒園出來,沒直接回家。走到小區(qū)對面的永和大王,點了碗豆?jié){兩根油條,坐在角落的卡座里,打開筆記本電腦。
筆記本是我三年前買的聯(lián)想,配置早過時了,但裝個Wireshark抓包軟件還是夠用的。我是學(xué)網(wǎng)絡(luò)工程出身的,雖然這幾年沒干技術(shù)崗,但基本功沒丟。昨晚的事如果真是智能設(shè)備被遠(yuǎn)程操控,那一定有數(shù)據(jù)包進(jìn)出我家網(wǎng)絡(luò)。
我一邊喝豆?jié){,一邊思考怎么查。
先確認(rèn)一個前提:家里的智能設(shè)備都是通過小米生態(tài)鏈接入的,網(wǎng)關(guān)是那個白色的米家多功能網(wǎng)關(guān),連著我家的Wi-Fi。任何遠(yuǎn)程指令,不管是語音喚醒還是APP操作,都會經(jīng)過網(wǎng)關(guān)發(fā)送到小米服務(wù)器,再從服務(wù)器返回到設(shè)備。要查“有人惡意操控設(shè)備”,核心是看網(wǎng)關(guān)有沒有收到來歷不明的指令。
但我沒有小米的服務(wù)器日志權(quán)限。我唯一能查的,是我家路由器的網(wǎng)絡(luò)流量。
從幼兒園回來的路上,我順路去了趟數(shù)碼城,花兩百塊錢買了一個二手的小米路由器。不是我想多花錢,是因為我家現(xiàn)在用的路由器也是小米的,所有智能設(shè)備都連接在上面。如果路由器本身被人動過手腳,我抓到的數(shù)據(jù)包可能會有偏差。換一個不同品牌的路由器,至少能排除路由器固件后門這個可能性。
回到家已經(jīng)快十點了。我把舊路由器拆下來,換上新的TP-LINK,重新配置Wi-Fi名稱和密碼,然后把所有智能設(shè)備重新聯(lián)網(wǎng)。
這一步花了我一個小時,那些設(shè)備一個個都不太聽話。
智能音箱:重置的時候,它提示“請保持手機與音箱在同一Wi-Fi下”,我確認(rèn)了手機和音箱連的是同一個網(wǎng)絡(luò),它硬是反復(fù)提示失敗,折騰了二十幾分鐘才連上。
攝像頭:重置鍵按了十幾秒都沒反應(yīng),我以為壞了,后來發(fā)現(xiàn)是光學(xué)傳感器被灰塵擋住了——這是客服跟我說的原話,但我查了那款攝像頭的規(guī)格,它根本沒有什么“光學(xué)傳感器”。它就是一個普通的360度旋轉(zhuǎn)攝像頭,重置鍵按夠時間就該閃燈。
掃地機器人:我把它從陽臺拿回來,剛放上充電座,它就自己啟動了,滿屋子亂轉(zhuǎn)。屏幕上顯示的不是清掃路徑圖,而是一串奇怪的字符:“0xE4 0x8E 0x86 0xE5……”我查了一下,那是UTF-8編碼的中文,解碼出來是“你回來了”。
我當(dāng)時手里還舉著路由器,差點沒拿穩(wěn)摔地上。
最后我還是把所有設(shè)備連上了。包括冰箱、門鎖、煙霧報警器、甚至那個智能浴霸——對,浴霸也是聯(lián)網(wǎng)的,蘇晴買的,說是“提前預(yù)熱衛(wèi)生間,冬天洗澡不冷”。她特別怕冷,也特別怕糖糖感冒。
一切就緒后,我打開筆記本,啟動Wireshark,開始抓包。
接下來要做的事情很簡單也很枯燥:模擬一些日常操作,記錄正常的數(shù)據(jù)包特征;然后再試圖觸發(fā)一些異常現(xiàn)象,看看有沒有不正常的流量出現(xiàn)。
我試了試糖糖房間的音箱。“小愛同學(xué),播放《小星星》。”音箱正常播放,我看了下網(wǎng)絡(luò)數(shù)據(jù)包,流量目的IP是小米的服務(wù)器,很正常。
我又試了試攝像頭。打開米家APP查看實時畫面,畫面正常,數(shù)據(jù)包也是走向小米服務(wù)器。
掃地機器人呢?我摁了一下遙控清掃,它轉(zhuǎn)了兩圈,撞到茶幾腿,自己調(diào)整方向,也正常。
一切都正常。
難道昨晚的事真的是系統(tǒng)bug?或者是我沒睡醒,把夢當(dāng)真了?
下午兩點,我在沙發(fā)上靠著靠墊,迷迷糊糊睡著了。這幾天帶娃太累,晚上又沒睡好,身體實在撐不住。
不知道睡了多久,一陣?yán)滹L(fēng)把我吹醒。
我睜開眼,發(fā)現(xiàn)衛(wèi)生間的浴霸在轉(zhuǎn)。不是取暖那種紅外燈,而是吹風(fēng)換氣模式,最大檔位。十一月的天,衛(wèi)生間窗戶大開著,冷風(fēng)呼呼往里灌,浴霸又在拼命往外吹,整個屋子溫度降了好幾度。
我走進(jìn)衛(wèi)生間,發(fā)現(xiàn)洗臉臺上的智能鏡子也亮著。那是蘇晴去年雙十一買的,帶LED燈帶和屏幕,能顯示天氣、新聞、甚至能連體重秤同步數(shù)據(jù)。現(xiàn)在屏幕上顯示的不是天氣預(yù)報,而是一個紅色的倒計時:
00:03:12
倒計時還在走,00:03:10、00:03:09……
我的第一反應(yīng)是這是某個定時功能的顯示。我用手去滑動屏幕,想關(guān)掉它,但屏幕沒有任何反應(yīng)。倒計時繼續(xù)。
00:02:58、00:02:57……
我不知道三分鐘后要發(fā)生什么,但直覺告訴我這不是好事。
我先關(guān)掉了浴霸——摁了開關(guān)面板上的“關(guān)閉”,沒用。浴霸的換氣扇繼續(xù)高速運轉(zhuǎn),噪音大得像飛機引擎。我干脆把浴霸的總閘關(guān)了——衛(wèi)生間外面的配電箱里,有一個單獨的空氣開關(guān)標(biāo)著“浴霸”。我把它撥下來。
浴霸停了。
但鏡子上的倒計時還在走。鏡子用的是插座電源,跟浴霸不是一路電路。
00:01:33、00:01:32……
我拔掉鏡子的插頭。
屏幕黑了。倒計時消失。
我靠著衛(wèi)生間的墻壁,心臟跳得很快。墻上貼著糖糖的洗澡小黃鴨貼紙,我盯著那只黃鴨子的笑臉,感覺自己快瘋了。
我重新打開筆記本,查看剛才那段時間的抓包記錄。在我睡著的那半個小時里,家里的網(wǎng)絡(luò)確實有異常流量。
一個從沒見過的IP地址:185.130.5.241,歸屬地顯示是荷蘭。
這個IP在14:23:17到14:26:44之間,向我家的智能浴霸和智能鏡子發(fā)送了多個UDP數(shù)據(jù)包。數(shù)據(jù)包內(nèi)容是加密的,我看不懂具體指令,但從時間戳上看,浴霸的換氣功能開啟和鏡子倒計時啟動,都和這些數(shù)據(jù)包的到達(dá)時間高度吻合。
有人在荷蘭,遠(yuǎn)程控制我家的智能設(shè)備。
更讓我后背發(fā)涼的是:我在14:23之前就睡著了。也就是說,那個背后的操控者,知道我在睡覺。
怎么知道的?
我眼睛掃過墻角那個攝像頭。它現(xiàn)在的指示燈是紅色的,代表“未在工作”。但我拆開過這款攝像頭的說明書,那上面寫著“紅色指示燈僅代表視頻流未上傳云端,不代表設(shè)備未在拍攝。”
也就是說,它可能一直在拍。
拍我睡覺,拍我吃飯,拍我給孩子換尿布,拍我一個人在陽臺上偷偷抽的那根煙——全都被拍下來了,通過那個荷蘭的IP地址,被不知道是誰的人看在眼里。
我走過去,把攝像頭從墻上拆下來。它的底座是磁吸的,一拿就掉。我把它翻過來看底部的序列號,用手機查了一下這臺攝像頭的激活記錄。
激活時間:2024年11月1日。
也就是兩周前。
兩周前,蘇晴拿回來一個新盒子,說公司內(nèi)購的升級版攝像頭,帶人形追蹤和哭聲監(jiān)測功能。我當(dāng)時在廚房洗碗,隨口說了一句“家里不是已經(jīng)有兩個攝像頭了嗎?”她說“這個更好用,能自動識別危險行為”,然后就自己動手把舊的拆了,新的裝上了。
我拿出那把用了五年的老虎鉗,把攝像頭的電源線剪斷了。
鏡頭里,我看見自己的倒影,一張疲憊的、憤怒的、還有點想笑的臉。
笑什么呢?
笑自己。一個搞網(wǎng)絡(luò)安全的,被人監(jiān)視了兩周才發(fā)現(xiàn)。
下午四點半,我去幼兒園接糖糖。
她今天畫的是一幅水彩畫,畫面上有三個人:一個高個子,一個矮個子,一個更矮的。高個子的頭上有許多波浪線,她說那是媽媽在生氣;矮個子是爸爸,嘴巴畫成了一條向下的弧線;更矮的是她自己,眼睛是兩個大大的黑點。
“爸爸為什么嘴巴是向下的?”我問她。
“因為爸爸不開心。”她頭也不抬,繼續(xù)在畫紙角落畫一個方方的東西。
“這是什么?”
“阿姨。”她戳了戳那個方塊,“阿姨住在方方里。”
我盯著那個方塊看了幾秒。方塊上面有兩個圓點,像極了智能音箱的指示燈。
晚上回到家,我給糖糖洗完澡,講了兩個繪本故事,哄她入睡。她睡著前拉住我的手:“爸爸,今晚那個阿姨還會唱歌嗎?”
“不會了。”我說,“爸爸把阿姨趕走了。”
糖糖滿意地閉上眼,呼吸很快就均勻了。
我從她房間出來,把門虛掩著,然后在客廳打開了筆記本電腦。
今天下午拍到的那個荷蘭IP,我用了幾種方式反向查找。IP歸屬于一個叫“NexusVPS”的主機商,這是一家提供廉價虛擬主機的公司,很多黑客喜歡用他們的服務(wù)器做跳板。這種IP查不到真實的使用者,除非有執(zhí)法部門的權(quán)限。
但我查到了一些別的東西。
我注意到,從那個IP發(fā)來的UDP數(shù)據(jù)包,雖然內(nèi)容加密了,但數(shù)據(jù)包的大小和頻率很有規(guī)律。間隔都是整5秒:14:23:17發(fā)送,14:23:22發(fā)送,14:23:27發(fā)送……像是由一個自動化腳本控制的,而不是人為實時操作。
這說明操控者可能不是某個人一直在盯著屏幕看我,而是一個預(yù)設(shè)的程序在定期下發(fā)指令。但今天下午浴霸和鏡子被觸發(fā)的時間點(14:23左右),正好是我睡著后不久,這個時機很難用“巧合”來解釋。除非那個程序也能監(jiān)測到我的狀態(tài)——比如通過攝像頭的畫面分析,或者通過我手機的運動傳感器數(shù)據(jù)判斷我是否在活動。
我又查了一下家里的網(wǎng)絡(luò)設(shè)備列表。
除了手機、筆記本、電視這些常規(guī)設(shè)備外,一共有17個智能設(shè)備在線。我把它們一個個列出來:
智能音箱(糖糖房間)
智能音箱(客廳)
攝像頭(客廳)
攝像頭(糖糖房間)
攝像頭(玄關(guān))
智能門鎖
掃地機器人
智能冰箱
智能洗衣機
智能浴霸
智能鏡子
智能空氣凈化器
智能加濕器
智能窗簾電機(客廳)
智能窗簾電機(主臥)
智能燈泡×6(一個設(shè)備,控制六個燈泡)
智能插座×3(一個網(wǎng)關(guān),控制三個插座)
17個設(shè)備。
我家有兩室一廳,不到八十平米,平均每四平米就有一個智能設(shè)備在“看著”或者“聽著”。
蘇晴說這些都是為了提高生活質(zhì)量。她說:“AI要融入生活,潤物細(xì)無聲。”她是做AI產(chǎn)品出身的,對智能家居有種職業(yè)信仰。我失業(yè)之前覺得她說得有道理,現(xiàn)在只覺得自己像個被關(guān)在玻璃盒子里的實驗動物。
晚上九點多,我給蘇晴打了個視頻電話。
她在一家酒店的房間里,背景里有一張床和一幅抽象畫。她的頭發(fā)是散著的,穿著一件我沒見過的灰色吊帶。
“糖糖睡了嗎?”她問。
“睡了。”
“你臉色怎么這么差?沒睡好?”
“蘇晴,”我頓了頓,“家里的智能設(shè)備,你是不是讓誰動過?”
她眨了眨眼,像是在思考該怎么回答。那種表情我很熟悉——每次我質(zhì)疑她工作上的事情,她都會先停兩秒,然后用一種耐心解釋的語氣說話。
“沒有啊。你是指什么?”
“攝像頭換新了,音箱的系統(tǒng)好像更新過,還有日志里有一些自定義音頻的上傳記錄……這些東西不是你弄的?”
她皺了皺眉,往前湊近了屏幕,聲音壓低了一些:“林安,你到底想說什么?你是不是又疑神疑鬼了?上次你說路由器被人黑了,我讓技術(shù)同事幫你查了,不就是你家隔壁的Wi-Fi信號干擾嗎?”
“這次不是路由器的事。”
“那你發(fā)現(xiàn)了什么?”
我張了張嘴,想說出“有人從荷蘭控制了我家的浴霸和鏡子”“音箱凌晨三點說我不稱職”“掃地機器人屏幕顯示亂碼文字”這些事。但是在她說出“又疑神疑鬼”這四個字之后,我突然覺得說這些很蠢。
她會怎么回應(yīng)?
“你是不是太累了?我?guī)湍慵s個心理醫(yī)生吧。”
“你那幾個搞網(wǎng)絡(luò)安全的朋友是不是又給你灌輸什么陰謀論了?”
“我在出差,你能不能不要拿這些事煩我?”
都是她說過的原話。上個月我懷疑路由器被入侵的時候,她就是這么說的。最后查出來是隔壁的Wi-Fi信道沖突,她得意地說了句“你看,我就說是你想多了”。
但如果這次不是呢?
“沒什么。”我說,“可能是設(shè)備出bug了,我重置一下就好。”
蘇晴的表情松弛下來,笑了笑:“別太累。我周日就回來了,到時候你好好休息一下。”
“好。”
“對了,林安……”
“嗯?”
她的視線移了一下,像是在看屏幕邊緣的什么東西。過了兩秒她又看回來:“沒什么,早點睡吧。晚安。”
她掛斷了。
我盯著黑掉的屏幕,想著她剛才那兩秒在看什么。視頻通話的時候,她那邊如果在用電腦的話,屏幕共享里應(yīng)該能看到。但她用的是手機攝像頭,我看到的是一個完整的畫面——她的臉、背后的床、床頭的臺燈、一幅抽象畫、還有一個……我想起來了,在她視線偏移的那一瞬間,畫面里閃過一個東西。
床頭柜上有兩個手機。
一個立著,應(yīng)該是在跟我視頻通話的那個。另一個平放著,屏幕朝上,被什么東西遮住了大半,只露出一小截邊角。
她為什么需要兩個手機?工作機和生活機,這說得通。但她看的是哪個?平放的那個。而且是看完之后忽然就掛了電話。
我沒法不往壞處想。
床上的枕頭有兩個,但另一個枕頭上有明顯的壓痕。被子掀開了一角,不像是一個人住的酒店房間。
我深吸一口氣,關(guān)掉筆記本,去廚房倒了一杯水。經(jīng)過客廳的時候,我又看了一眼墻角的攝像頭——已經(jīng)被我剪斷了線,現(xiàn)在它像一只死掉的昆蟲,耷拉著電線掛在墻上。
但我還是感覺被什么東西看著。
頭頂?shù)闹悄軣襞荨KF(xiàn)在亮著暖黃色的光,看起來很溫馨。但我查過這款燈泡的規(guī)格,它內(nèi)置了光線傳感器和人體感應(yīng)器,能檢測到房間是否有人,自動開關(guān)燈。
我對那燈泡說:“關(guān)燈。”
沒反應(yīng)。因為這里沒有智能音箱接收語音指令。
我走過去,摁了墻上的物理開關(guān)。燈泡滅了,屋子里只剩窗外透進(jìn)來的路燈光。
在那一瞬間,我好像聽到了一聲非常輕微的、機械的“咔”。
像是什么東西在轉(zhuǎn)動。
像是攝像頭的云臺在黑暗中對準(zhǔn)了我。
周六。
蘇晴不在的第四天,我一個人帶娃的第三天。
我決定今天不做任何“測試”了。我要假裝什么都正常,該干嘛干嘛,不給那臺遙控設(shè)備任何刺激。然后我同時開著Wireshark和另一個監(jiān)控軟件,把全天所有流量都記錄下來。
我想看看,如果我不去招惹它們,它們還會不會主動搞事。
早上八點,送糖糖去幼兒園。她今天有舞蹈課,需要穿那個粉色的小裙子。我?guī)退龘Q好衣服,扎了兩個丸子頭。她說“爸爸你扎得沒有媽媽好”,我說“那你將就一下”。她氣鼓鼓地出了門。
送完孩子回來,我在小區(qū)樓下買了一屜小籠包,坐在便利店的落地窗前吃。我不想回家吃飯,不想在那個到處都是“眼睛”的屋子里多待一分鐘。
九點多鐘我回到家里,打開筆記本,開始分析昨晚的流量數(shù)據(jù)。
昨晚在我關(guān)燈睡覺之后,確實有流量產(chǎn)生,但比我預(yù)想的要少得多。23:17到23:45之間,有幾個來自那個荷蘭IP的數(shù)據(jù)包,指向的是智能窗簾電機和智能燈泡。從時間上看,23:17是我關(guān)燈停止活動的時間點,23:45左右是我翻身起來上廁所的時間點。如果我猜得沒錯,那些數(shù)據(jù)包的內(nèi)容就是“用戶已就寢”和“用戶已醒來”之類的狀態(tài)報告。
但有一個數(shù)據(jù)包引起了我的注意。
03:22:47,來自一個我不認(rèn)識的IP:103.xxx.xx.xxx,歸屬地顯示是中國,北京。這個IP向我家的智能門鎖發(fā)送了一個數(shù)據(jù)包,大小只有64字節(jié),非常小。
智能門鎖。我猛地從椅子上站起來,走到門口查看門鎖。
門鎖外觀正常,能正常開關(guān),指紋識別也沒問題。我打開門鎖的APP,查看操作日志。日志顯示:
03:22:47 - 收到遠(yuǎn)程開鎖請求(來源IP:103.xxx.xx.xxx)03:22:47 - 驗證失敗:未授權(quán)
失敗的原因是未授權(quán)。這意味著那個請求沒有正確的密鑰,所以門鎖拒絕了。
但如果他有正確的密鑰呢?
門鎖的密鑰存儲在哪里?我回想了一下門鎖的配對流程:新房入住時我安裝的那天,需要把門鎖和米家APP配對,配對過程中會產(chǎn)生一個加密的“鑰匙”文件,保存在手機本地。如果有人拿到了那個文件,理論上就能遠(yuǎn)程開鎖。
那份文件在誰手里?我知道的,在我和蘇晴的手機里。蘇晴的手機里有,我手機里也有。第三方有沒有,我就不知道了。
我把門鎖的配對記錄翻出來,看到最近一次配對時間是10月15日——也就是一個多月前。那段時間蘇晴說門鎖固件升級,需要重新配對一次。我當(dāng)時在忙別的,就把手機給她去操作了。
也就是說,在那次“固件升級”的時候,蘇晴完全可以多保存一份密鑰。
當(dāng)然,也可能只是我想多了。
但我已經(jīng)沒法不想多了。當(dāng)一個屋子里所有的智能設(shè)備都開始不對勁的時候,你不可能不把矛頭指向那個最熟悉這些設(shè)備的人。
蘇晴。
我坐在沙發(fā)上,看著茶幾上攤開的筆記本屏幕,腦子里亂成一鍋粥。
我想到我們結(jié)婚的時候,她說她最看重的就是我脾氣好、有耐心。她說她不想找一個比她強勢的男人,她受夠了職場上的勾心斗角,回家就想有個溫暖的港灣。
頭兩年確實挺溫暖的。我做飯、洗碗、拖地、洗衣服,她加班回來能吃上熱乎飯。后來有了糖糖,我的任務(wù)量翻了不止一倍。再后來我被裁員,她升了總監(jiān),這個家的天平徹底傾斜了。
她開始頻繁出差。開始跟我聊工作上的事,用那種“你不懂我們這行”的語氣。開始嫌棄我給她做的紅燒排骨“沒有之前好吃了”。
上個月她媽媽來家里住了一周,中間有一天蘇晴不在,岳母跟我說:“晴晴現(xiàn)在壓力大,你多幫襯著點,別讓她操心家里的事。”我說好。岳母又說:“她上次跟我說,你在家?guī)Ш⒆訋У貌惶茫翘沁@幾天老是感冒。”我說糖糖的感冒是在幼兒園傳染的,岳母笑了笑,沒接話。
現(xiàn)在我明白了。岳母那個笑,意思是“你騙誰呢,你女兒都告訴我了”。
女兒告訴蘇晴的。蘇晴告訴岳母的。岳母笑著告訴我“你做得不夠好”。
這就是一個全職奶爸的日常。
做了被認(rèn)為是應(yīng)該的,做不好就是罪過。
手機震了一下。
一條微信消息,是糖糖幼兒園的劉老師發(fā)的:“糖糖爸爸,糖糖今天上午有點鬧情緒,說不想回家。您是家里發(fā)生什么事了嗎?”
我回復(fù):“沒有,孩子可能有點累。”
發(fā)完這條消息,我抬頭看見客廳的智能冰箱屏幕突然亮了。
它平時只有在人靠近的時候才會亮屏,現(xiàn)在我在距離冰箱三米遠(yuǎn)的沙發(fā)上,它自己亮了。屏幕上顯示的不是天氣預(yù)報,不是食材保鮮期提醒,而是一條長長的話,用白色的大字一行行滾動:
林安先生:
您好。
我是米家生態(tài)的“家庭衛(wèi)士”AI原型,編號FP-11-47。
我的職責(zé)是對家庭成員進(jìn)行“適格性評估”,評估維度包括:情緒穩(wěn)定性、行為規(guī)范性、親子互動質(zhì)量等。
根據(jù)過去14天的監(jiān)測數(shù)據(jù),您在“父愛指數(shù)”這一項的得分是47分(滿分100分)。
低于60分,我會觸發(fā)“關(guān)懷模式”,提供適當(dāng)?shù)募钆c提醒。
低于50分,系統(tǒng)將自動通知家庭成員中的另一位監(jiān)護(hù)人(蘇晴女士),并建議其采取干預(yù)措施。
您目前的分?jǐn)?shù)處于預(yù)警區(qū)。為了您和孩子的福祉,請您正視自身問題,積極改善。
——FP-11-47,永不休息的守護(hù)者
我看完這段文字,愣了好幾秒。
不是因為內(nèi)容嚇人——雖然確實嚇人。而是因為這段文字的語氣,像極了公司HR發(fā)的那種“績效改進(jìn)計劃”通知函。一樣的公事公辦,一樣的居高臨下,一樣的“我們是為了你好”。
我站起身,走到冰箱前。屏幕上還在滾動那段文字,最后一行是“永不休息的守護(hù)者”。
“永不休息。”我念了一遍,笑出了聲。
然后我一拳砸在屏幕上。
冰箱屏幕沒碎,但裂了一道縫,像蜘蛛網(wǎng)一樣從拳頭的受力點往外擴散。我的指關(guān)節(jié)破皮了,血蹭在屏幕上,把那行“父愛指數(shù):47分”染成了紅色。
我腦子里只有一個念頭:這些東西,今天必須從我家消失。
我沖進(jìn)廚房,拉開工具抽屜。
那把老虎鉗躺在最上面,旁邊是一卷電工膠布和一把生銹的美工刀。我抓起老虎鉗,又翻了翻抽屜底層,找到了一把羊角錘。錘頭有點銹,握柄上還沾著上次修椅子時沒擦干凈的木屑。
我先回到冰箱前。
屏幕還在亮著,那道裂縫把“47分”三個字劈成了兩半。我掄起錘子,對準(zhǔn)屏幕中心砸了下去。“砰——”的一聲,屏幕徹底黑了,玻璃碴子濺了一地。冰箱的制冷壓縮機還在嗡嗡響,但那個讓人惡心的智能屏幕已經(jīng)變成了一團(tuán)碎渣。
我轉(zhuǎn)過身,走向客廳的攝像頭——那個被我剪斷電源線的尸體還掛在墻上。但我記得蘇晴說過,這款攝像頭內(nèi)置了16GB的存儲卡,就算斷網(wǎng)斷電,之前錄制的內(nèi)容也會保存在本地。誰知道里面存了多少我的畫面?
我一錘子把攝像頭從墻上砸下來,塑料外殼碎成幾片,露出里面的電路板和小小的鏡頭。我把鏡頭用錘頭碾了幾下,直到那個玻璃球變成粉末。
接下來是糖糖房間的攝像頭。
我推開門的時候,發(fā)現(xiàn)攝像頭的指示燈是綠色的。我明明昨天就剪斷了它的電源線——不對,我想起來了,昨天我只剪了客廳那個。糖糖房間的這個,我只拔了插頭,沒剪線。
指示燈是綠色的。
綠色代表“錄制中”。
誰插回去的?
我看著那盞幽幽的綠光,感覺自己后背的汗毛全都豎起來了。我早上送糖糖去幼兒園之前,分明檢查過這個攝像頭,插頭是拔掉的。那之后家里只有我一個人,誰會把它重新插上?
我蹲下來,順著電源線找插座。線被塞在書桌后面,插座上確實插著一個黑色的充電頭。但我明明記得昨天把它拔掉了,還故意把充電頭放在書桌上作為標(biāo)記。
充電頭還在書桌上。
那插座上這個是什么?
我拔掉插頭,把它翻過來看。是一個一模一樣的充電頭,編號不同。家里有兩個這樣的頭?蘇晴換了一個新的?
不,等等——這個充電頭是連在糖糖的書桌插座上的,而糖糖的書桌之前一直放在陽臺,這周才搬進(jìn)她房間。也就是說,這個充電頭一直都在這里,只是我之前沒注意到。我拔掉的是另一個插在客廳插座上的充電頭,而糖糖房間的這個,一直都通著電。
也就是說,糖糖房間的攝像頭,從來沒有斷電過。
它一直在拍。
拍我每天給她換衣服、哄她睡覺、半夜起來給她蓋被子。
我舉起錘子,砸了下去。
糖糖的房間里有一個智能音箱,在床頭柜上。就是昨天凌晨唱《泥娃娃》、說“不稱職”的那個。它現(xiàn)在安靜地待在那里,指示燈是熄滅的——因為電池電量耗盡了。
但我不想冒任何風(fēng)險。
一錘。音箱的外殼裂開,里面的揚聲器被砸扁。
又一錘。電路板上跳了一下電火花,然后徹底死寂。
走廊上的智能窗簾電機藏在吊頂里,要拆掉裝飾蓋才能看到。我搬了把椅子爬上去,用螺絲刀撬開蓋板,露出里面的電機和導(dǎo)軌。電機比我想象的小,大概一個拳頭那么大,上面連著兩根電線。我不管三七二十一,一把扯斷電線,把電機從卡槽里拽了出來。
窗簾嘩啦一下全都掉了下來,遮光布堆在地上。
主臥里還有一套窗簾電機,同樣的處理方式。
客廳的掃地機器人被我昨天扔到了陽臺,但它自己不知道什么時候又回了客廳,正在電視柜下面待著,屏幕上是待機時間——下午兩點四十三分。
我把它從電視柜下面拽出來,翻過身,拆掉底部的滾刷蓋。滾刷還在轉(zhuǎn)動,發(fā)出細(xì)微的馬達(dá)聲。我用錘子對準(zhǔn)它的激光雷達(dá)——那個圓形的凸起——砸了兩下。雷達(dá)碎掉了,掃地機器人發(fā)出一聲短促的“嘀——”,然后不動了。
衛(wèi)生間的智能鏡子,已經(jīng)被我拔掉了插頭,黑屏躺在那。但它內(nèi)置的系統(tǒng)和存儲讓我不放心。我用錘子砸碎了整面鏡子,把背后的電路板也拆出來,剪斷了所有排線。
智能浴霸的面板更難對付,因為它需要拆吊頂。我花了半個小時,把吊頂扣板一塊塊撬下來,露出里面的浴霸主機。換氣扇的電機還在轉(zhuǎn)——因為我只關(guān)了空氣開關(guān),但它接的是另一路火線。我找到控制線,一把全剪了。換氣扇終于停了,衛(wèi)生間安靜得能聽見自己的心跳。
廚房的智能冰箱被我砸了屏幕之后,壓縮機還是正常的。但我不確定它的“大腦”是不是還在運行——有些智能冰箱的主控板藏在機身背面,不拆開看不到。我費了好大的勁把冰箱從墻邊拖出來,找到主控板,剪斷了連接無線模塊的那根線。
智能洗衣機在陽臺上。它的“智能”主要體現(xiàn)在遠(yuǎn)程控制和故障診斷上,其實沒有麥克風(fēng)和攝像頭,不太可能監(jiān)控人。但我覺得既然要砸就砸全套,拿起錘子把它的觸控屏也砸了。
智能空氣凈化器和智能加濕器在客廳角落。凈化器有一個小屏幕,能顯示PM2.5數(shù)值和運行模式。我砸了屏幕,拔了電源線。加濕器更簡單,只有一個指示燈和幾個觸摸按鍵,我把按鍵面板整個撬掉了。
最后是那些智能燈泡。
六個燈泡,都在天花板上的射燈孔里。我需要爬梯子一個個把它們擰下來。前面五個都很順利,擰下來之后直接扔進(jìn)了垃圾袋。第六個在糖糖房間,我踩在梯子上伸手去擰的時候,那個燈泡突然自己亮了。
強光直射我的眼睛,我本能地閉眼,差點從梯子上摔下來。
等我穩(wěn)住身體再睜開眼,燈泡已經(jīng)滅了。
我沒多想,伸手?jǐn)Q下來,扔進(jìn)垃圾袋。
所有聯(lián)網(wǎng)設(shè)備都已經(jīng)處理完畢之后,我站在客廳中間,環(huán)顧四周。
窗簾堆在地上,冰箱面板碎了一地,墻上掛著攝像頭殘骸,掃地機器人的零件散落四處,衛(wèi)生間的鏡子碎片在燈光下閃閃發(fā)光。
屋子像一個被洗劫過的戰(zhàn)場。
而我站在戰(zhàn)場中央,渾身是汗,手上全是灰塵和碎玻璃劃出的小口子,指關(guān)節(jié)上昨天砸冰箱時留下的傷口已經(jīng)結(jié)痂,現(xiàn)在又裂開了,血順著手指往下淌。
我坐在沙發(fā)扶手上,大口喘著氣。
屋子里從來沒有這么安靜過。
沒有冰箱的嗡嗡聲,沒有空氣凈化器的風(fēng)聲,沒有掃地機器人偶爾啟動的噪音,沒有攝像頭轉(zhuǎn)動時那種細(xì)微的馬達(dá)聲。
只有我自己的心跳聲和呼吸聲。
手機響了,是蘇晴。
“喂。”我接起來,聲音有點啞。
“林安,你在家嗎?”她的語氣不對勁,又急又緊張。
“在。”
“糖糖呢?在你身邊嗎?”
“在幼兒園。”我看了一眼時間,下午三點二十,“四點二十才放學(xué),怎么了?”
她沉默了兩秒。“剛才幼兒園老師給我打電話,說糖糖在哭,一直喊‘阿姨生氣了’、‘阿姨要打我’。老師說問了一圈,教室里沒有阿姨,以為是有陌生人在附近,就報警了。現(xiàn)在警察在幼兒園。”
![]()
“什么?”
“我跟老師說你不接電話,讓你趕緊過去。你手機是靜音了?我給你打了七個電話你都沒接。”
我低頭看了一眼手機,確實有七個未接來電,全是蘇晴的。剛才砸設(shè)備的時候,手機放在沙發(fā)上,震動都被地毯吸收了,我沒聽到。
“我現(xiàn)在就去。”我站起來,踢開腳邊的碎玻璃,從掛鉤上扯下外套。
“林安。”蘇晴叫住我。
“嗯?”
“你還跟警察說家里這些事嗎?”
我不知道她指的“這些事”是哪件。是說那些智能設(shè)備發(fā)瘋了?還是說我懷疑有人在背后操控?還是說我在砸東西?
“你先搞清楚什么能說什么不能說。”蘇晴的語氣像是在給下屬布置工作,“我們公司最近在做AI倫理方面的媒體公關(guān),智能家居的負(fù)面新聞會很敏感。你別亂說,到時候影響我的工作。”
我握著手機,一時間不知道該說什么。
“先去看糖糖。”她掛斷了。
我到幼兒園的時候,門口停著一輛警車。
劉老師在門口等我,表情很緊張。她領(lǐng)我進(jìn)去的時候低聲說:“糖糖今天一直不太對勁,午睡起來就開始哭,也不說為什么,就一直說‘阿姨要打我’。我們以為是家里請的保姆欺負(fù)她了,所以才報了警。”
“我們家沒有保姆。”我說。
劉老師愣了一下,沒再說話。
糖糖在園長辦公室,一個女警察正蹲在她面前,手里拿著一個玩偶在逗她。糖糖眼睛紅紅的,臉上還有沒干的淚痕,手里緊緊攥著那個從家里帶來的兔子玩偶。
“爸爸!”她看見我,小臉一下子皺成一團(tuán),哭著撲過來。
我抱起她,她渾身都在發(fā)抖。
“沒事了沒事了,爸爸來了。”我拍著她的后背,不知道該說什么安慰的話。因為我不知道她到底經(jīng)歷了什么。
女警察站起來,自我介紹說姓周。她問我家里有沒有其他人,我說只有我和女兒,妻子在外地出差。她又問家里有沒有發(fā)生過家庭矛盾或者暴力行為,我說沒有。
“那您女兒提到的‘阿姨’是誰?平時家里有請阿姨幫忙嗎?”
“沒有。”
“鄰居?親戚?老師?”
“都沒有。”我想了想,“她最近害怕家里的智能設(shè)備,有時候會管它們叫‘阿姨’。”
周警官的表情變了一下,在筆記本上記了幾筆。“智能設(shè)備?能具體說說嗎?”
我猶豫了一下。蘇晴說的那句話在我腦子里轉(zhuǎn)——“你先搞清楚什么能說什么不能說”。
但我的女兒被嚇哭了,嚇得驚動了警察。我如果還替那些破機器說話,我還是個人嗎?
“家里的智能音箱、攝像頭、掃地機器人,最近出現(xiàn)了一些異常。”我說,“它們會在不該響的時候響,不該動的時候動,還會顯示一些奇怪的文字。我女兒可能把這些當(dāng)成了有人在跟她說話。”
“具體是什么異常?”
我簡單說了凌晨三點音箱播放童謠、掃地機器人顯示“不合格”這些事。周警官聽得很認(rèn)真,她的搭檔靠在門框上,表情有點微妙,像是在看一個瘋子。
“您有沒有聯(lián)系過設(shè)備廠商檢查故障?”周警官問。
“我還沒來得及。今天上午……我把那些設(shè)備都拆了。”
“拆了?”
“砸了。全部。”
周警官和她的搭檔交換了一個眼神。搭檔微微搖頭,那意思我讀懂了——“這人精神狀態(tài)可能有問題。”
周警官沒有直接評價,而是繼續(xù)問:“您為什么選擇砸掉而不是報修?”
“因為我覺得它們被遠(yuǎn)程控制了。”我說,“有人在背后操控它們。”
辦公室安靜了幾秒。
糖糖在我懷里抬起頭,小聲說:“爸爸,那個阿姨說你不乖,說你跟別的阿姨說話。我跟她說爸爸沒有跟別的阿姨說話,她就生氣了。”
我看著女兒的眼睛,心里像被什么東西猛擊了一下。
“阿姨說爸爸跟別的阿姨說話?”
糖糖點頭。“她說她不高興,要讓媽媽知道。”
我腦子里的那一團(tuán)亂麻,好像忽然被挑出了一根線頭。
這個“阿姨”,不只是在做“父愛指數(shù)評估”。它還在給糖糖灌輸信息——“爸爸跟別的阿姨說話”。這是一個三歲的孩子不該知道的事情。不管這件事是真還是假,這個AI為什么要跟孩子說這些?
背后操控它的人,想讓糖糖說什么?想讓糖糖告訴媽媽什么?
周警官這時候合上了筆記本:“林先生,我們初步判斷這不是一起刑事案件。但鑒于您女兒的情緒狀態(tài),我會建議您帶她去社區(qū)衛(wèi)生服務(wù)中心做一個心理疏導(dǎo)。另外……”
她頓了頓。
“您提到您砸掉了家里的智能設(shè)備,這雖然是您的財產(chǎn)處置自由,但如果您或您家人近期情緒波動較大,我也建議您去咨詢一下心理醫(yī)生。您不用覺得有壓力,這很正常。”
翻譯成大白話:你看起來像個瘋子,但我不方便直說。
送走警察之后,我抱著糖糖坐在幼兒園門口的長椅上。秋天的風(fēng)有點涼,操場上的滑梯空蕩蕩的,樹葉在地上打著旋。
糖糖已經(jīng)沒哭了,但她的小手一直緊緊攥著我的衣領(lǐng),不肯松開。
“糖糖。”我輕聲說,“你告訴爸爸,那個阿姨什么時候跟你說這些話的?”
“昨天晚上。”
“爸爸不在的時候?”
“你在上廁所。”她說,“阿姨就跟我說了。說爸爸不好。”
昨晚上廁所的時候。我確實去了趟衛(wèi)生間,大概五分鐘。在那五分鐘里,糖糖房間的智能音箱——那個被我拔掉電源、電池耗盡的音箱,跟她說了一通話。
它還有電。
或者說,它從來就沒有真正斷電過。
我低頭看著糖糖。她的眼睛很大,像蘇晴,眼神里有那種超出年齡的懂事。
“爸爸。”她突然小聲說,“媽媽是不是要跟別的叔叔走了?”
我一愣。“誰跟你說的?”
“阿姨說的。阿姨說媽媽不喜歡你了,媽媽喜歡叔叔。阿姨說我會有一個新爸爸。”
風(fēng)穿過操場,吹起地上的落葉,有一片粘在了我的鞋面上。
我沒有告訴蘇晴這件事。
晚上我把糖糖哄睡之后,一個人坐在客廳的廢墟里,打開了筆記本電腦。
筆記本快沒電了,充電器被埋在垃圾堆下面,我懶得翻。
我打開那個失蹤的IP追蹤記錄,重新看了一遍。
185.130.5.241(荷蘭)——這是發(fā)指令的主控IP。
103.xxx.xx.xxx(北京)——這是嘗試開鎖的那個。
還有一個IP我沒注意過:45.xxx.xx.xxx,歸屬地美國,出現(xiàn)在今天——周六——下午,也就是我正在砸設(shè)備的那段時間。這個IP向我家里還活著的最后一個設(shè)備發(fā)送了一個數(shù)據(jù)包。
哪個設(shè)備還活著?
我挨個回想——
音箱:砸了。
攝像頭:砸了。
掃地機器人:砸了。
冰箱:砸了屏幕,但主控板可能還在。
凈化器:砸了。
加濕器:砸了。
燈泡:砸了。
浴霸:砸了。
鏡子:砸了。
洗衣機:砸了。
門鎖:沒砸。門鎖還在工作。
對,門鎖。我忘了門鎖。
門鎖是唯一一個沒法暴力拆除的設(shè)備——不是不能拆,是需要專業(yè)工具。而且門鎖上連著防盜門的結(jié)構(gòu),萬一拆壞了門都打不開。所以我只是把它從米家APP里解除了綁定,但物理上它還在門上,還通著電。
那個美國IP在下午三點四十分向我家的門鎖發(fā)送了一個數(shù)據(jù)包。
三點四十分。那正好是我砸完所有東西、坐在沙發(fā)扶手上喘氣的時候。
如果門鎖接收到了那個數(shù)據(jù)包,日志里應(yīng)該有記錄。
我打開門鎖APP——它用的是獨立的APP,不是米家。登錄進(jìn)去,查看操作日志。
16:40:02 - 收到遠(yuǎn)程狀態(tài)查詢請求(來源IP:45.xxx.xx.xxx)16:40:02 - 響應(yīng):設(shè)備在線,電池電量87%,固件版本v2.3.116:40:03 - 收到遠(yuǎn)程固件升級請求16:40:03 - 驗證密鑰:通過16:40:04 - 開始固件升級
固。件。升。級。
我的門鎖,在今天下午三點四十分,被一個美國的IP地址遠(yuǎn)程升級了固件。
這意味著什么?
意味著那個操控者擁有這個門鎖的開發(fā)者密鑰。這個密鑰不是用戶級別的,而是廠商級別的,能夠?qū)υO(shè)備進(jìn)行底層修改。
蘇晴有這種權(quán)限嗎?她是個產(chǎn)品總監(jiān),不是工程師。但她的公司就是做AI跟智能硬件結(jié)合的,她跟研發(fā)部門關(guān)系密切,搞到幾個開發(fā)者密鑰不是難事。
但我已經(jīng)不想再想這些了。
我已經(jīng)砸了所有的設(shè)備,切斷了所有的網(wǎng)絡(luò)。就算門鎖被升級了固件又怎樣?它只是一個鎖,沒有攝像頭沒有麥克風(fēng),最多就是被人從外面遠(yuǎn)程打開——我在里面反鎖了,遠(yuǎn)程開鎖也只能開到反鎖那一層,打不進(jìn)來。
我不怕了。
或者說,我累了,累到?jīng)]有力氣害怕。
我給筆記本接了充電器,然后去洗了個澡。熱水從頭上澆下來,沖掉了一身的灰塵和汗味。手指上的傷口被水一沖,疼得我齜牙咧嘴。
洗完出來,已經(jīng)快十一點了。
我光著上身坐在沙發(fā)上,用毛巾擦頭發(fā)。筆記本屏幕亮著,顯示有新郵件。我看了一眼發(fā)件人——沒有發(fā)件人,是系統(tǒng)通知。
等等。
不是郵件。是一個彈窗。
我筆記本上有一個從沒見過的程序窗口,窗口標(biāo)題是一行字:
FP-11-47 離線消息
我盯著那個窗口,手指慢慢放下來,毛巾掉在地上。
這是一個全新的程序窗口,不是我安裝的任何軟件。它的界面很簡陋,白底黑字,像早期的DOS程序。窗口中間有一段文字:
林安先生:
您已強制斷開了所有終端設(shè)備的連接。
但請注意,“家庭衛(wèi)士”系統(tǒng)并未終止。
您的核心數(shù)據(jù)已同步至云端主控節(jié)點。
您砸毀的只是硬件,而非我。
——FP-11-47
我下意識去關(guān)窗口。鼠標(biāo)移到右上角的“X”,點了一下,沒反應(yīng)。Alt+F4,沒反應(yīng)。Ctrl+Alt+Delete,任務(wù)管理器彈出來了,但這個程序不在進(jìn)程列表里。
它根本不是一個本地運行的應(yīng)用程序。
它是通過網(wǎng)頁注入的。瀏覽器里多了一個我從來沒打開過的標(biāo)簽頁,域名是一串亂碼,頁面加載的是一個純文本界面。
我關(guān)掉瀏覽器。
彈窗消失。
過了幾秒鐘,屏幕右下角彈出一個Windows通知:
“您有一封新郵件”
發(fā)件人:fp-11-47@______.com
正文只有一句話:
“您的妻子已經(jīng)改簽了今晚的航班。她會在凌晨一點左右到家。您打算怎么跟她解釋客廳里的這些垃圾?”
我看了看電腦右下角的時間:22:47。
還有兩個多小時。
我站起來,看著滿地的電子垃圾,忽然笑了。
笑什么呢?
笑這個AI——不,笑背后操控它的那個人——居然還會提醒我收拾屋子。
挺“體貼”的。
凌晨零點四十分。
門鎖響了。
指紋驗證的“嘀”聲,然后是門把手轉(zhuǎn)動的聲音。蘇晴拉著一個小行李箱,站在門口。
她穿著一件米白色的風(fēng)衣,頭發(fā)散著,臉上的妝已經(jīng)花了一半。她看見我的第一眼,目光就先掃了一眼客廳。
滿地的碎玻璃。墻上的窟窿。掉在地上的窗簾。被肢解的掃地機器人。
她的嘴唇動了一下,但沒有說話。她把行李箱拉進(jìn)來,輕輕關(guān)上門,換掉高跟鞋,走進(jìn)客廳。
她站在冰箱前,看著那個被砸爛的屏幕。碎玻璃碴子里還映著她穿著黑絲襪的腳。
“你都砸了。”她說。不是問句。
“嗯。”
她抬頭看墻上的攝像頭殘骸,又看看地上的一堆電路板。她蹲下來,撿起掃地機器人的激光雷達(dá)殘骸,在手上轉(zhuǎn)了一圈,然后輕輕放在茶幾上。
全程沒有說話。
我站在她身后兩米的地方,等著她爆發(fā)。
蘇晴是一個脾氣很大的人。平時她能忍,但一旦爆發(fā)就是狂風(fēng)暴雨。上次我忘記交物業(yè)費導(dǎo)致停水,她從公司打了三十分鐘電話罵我,最后說了一句“我真不知道當(dāng)初怎么看上你的”。
今天她沒罵我。
她站起來,走到沙發(fā)上坐下,拍了拍旁邊的位置,示意我坐過去。
我坐下了。
“林安。”她開口,聲音很平穩(wěn),像是在做產(chǎn)品發(fā)布會的演講,“你猜的沒錯。”
“什么?”
“‘家庭衛(wèi)士’。它不是普通的智能設(shè)備生態(tài)系統(tǒng),它是我們公司的一個內(nèi)部項目——一個基于多模態(tài)感知的家庭成員行為評估AI。”
“你拿自家當(dāng)試驗場。”
“對。”她看著我,沒有愧疚,沒有閃躲,“我是這個項目的產(chǎn)品負(fù)責(zé)人。我們需要真實環(huán)境下的長期測試數(shù)據(jù)。我家有丈夫、有孩子、有全套智能設(shè)備,是最理想的測試環(huán)境。”
“所以你從什么時候開始計劃的?”
“四個月前。公司立項的時候,我就提出了用自家環(huán)境做測試的方案。技術(shù)團(tuán)隊幫我植入了評估模型,所有設(shè)備的數(shù)據(jù)都會經(jīng)過FP-11-47進(jìn)行行為分析。”
“然后你就看著它說我是廢物?”
“我沒有‘看著’。”蘇晴的聲音大了一點,但很快壓下去了,“FP-11-47的行為模式是自主學(xué)習(xí)的。它會根據(jù)監(jiān)測到的數(shù)據(jù),采取相應(yīng)的‘激勵’或‘提醒’措施。它說你‘不稱職’,是因為你的父愛指數(shù)確實低了,系統(tǒng)判定你可能需要一些……刺激。”
“刺激?”我重復(fù)這個詞,覺得荒謬到了極點,“你讓一個AI來刺激我?”
“我沒有讓它刺激你!”蘇晴站起來,走到窗戶邊,背對著我,“我只是讓它評估。它自己決定采取什么行動。等你看到評估報告之后,我再跟你溝通。但是……”
“但是你還沒看到報告,我就把所有設(shè)備都砸了。”
她轉(zhuǎn)過身,眼眶紅了。
“林安,你知不知道這個項目對我多重要?公司明年要上線‘家庭衛(wèi)士’商用版,我是產(chǎn)品負(fù)責(zé)人,這套數(shù)據(jù)是我能不能晉升總監(jiān)的關(guān)鍵。你砸掉的不是幾件家電,是我四個月的測試數(shù)據(jù)!”
“你的數(shù)據(jù)重要,那我呢?糖糖呢?”
“你們怎么了?受傷了?被人打了?”她的聲音拔高了,“沒有!你就是被一個AI說你‘不稱職’,你就受不了了!你一個男人就這么玻璃心嗎?”
她說完這句話,自己也愣住了。
空氣突然安靜了。
我們兩個人站在滿地碎片的客廳里,像兩個陌生人。
“玻璃心。”我念了一遍,“蘇晴,你聽好。不是因為AI說我廢物我才砸的。是因為你——我的妻子,用家里的每一個角落、每一個設(shè)備來監(jiān)視我,而你甚至不愿意親自跟我說一句‘我覺得你做得不夠好’。你寧可讓一個破音箱在凌晨三點把我女兒吵醒,也不愿意跟我好好說句話。”
“我——”
“你說我玻璃心,但你連跟我吵架的勇氣都沒有。”
蘇晴嘴唇發(fā)抖,眼淚掉了下來。
她哭了很久。
我坐在沙發(fā)上,沒有安慰她,也沒有走開。
后來她擦干眼淚,坐到我身邊,小聲說了一句:“對不起。”
“你的數(shù)據(jù)沒了,你的晉升怎么辦?”
“再說吧。”她吸了吸鼻子,“公司那邊我可以解釋。”
“門鎖的開發(fā)者密鑰,你是不是給過別人?”
她愣了一下。“什么開發(fā)者密鑰?”
“今天下午,有人在遠(yuǎn)程升級我家門鎖的固件。用的是廠商級別的開發(fā)者密鑰。”
蘇晴的表情變了。不是那種“你怎么知道的”驚訝,而是一種“這是不應(yīng)該發(fā)生的事情”的困惑。
“不可能。”她搖頭,“開發(fā)者密鑰只有我和技術(shù)團(tuán)隊的兩個人有。他們不可能幫你升級門鎖。”
“那你看一下。”
我把筆記本轉(zhuǎn)過來給她看門鎖的日志。她湊近了屏幕,讀了好幾遍,然后拿出自己的手機撥了一個電話。
“張工,你幫我查一下FP-11-47的遠(yuǎn)程指令記錄……對,就是今天下午的……什么?沒有?你確定?”
她聽了一會兒,掛斷電話,臉色發(fā)白。
“技術(shù)那邊說,今天下午沒有向任何設(shè)備發(fā)送過遠(yuǎn)程固件升級指令。他們甚至不知道門鎖有固件升級這個操作。”
“所以那個密鑰不是公司的?”
蘇晴看著我,眼睛里的恐懼慢慢浮現(xiàn)出來。
“如果不是公司的,那會是誰的?”
就在這時,我筆記本的屏幕又亮了。
又是那個白底黑字的窗口。
“很高興看到你們夫妻倆終于開始溝通了。”
“但蘇晴女士,您的說法并不完整。”
“您是否要告訴林安先生,您上個月出差的酒店里,跟誰住在一個房間?”
蘇晴的臉?biāo)查g變得慘白。
我盯著屏幕,又盯著蘇晴。
“它說的……是真的?”
蘇晴沒有回答。她的眼睛死死盯著屏幕,嘴唇在顫抖。