第2章 手磨咖啡與所謂的“天才直覺”------------------------------------------,池震就來了。。寧微注意到這個細節,因為他通常踩著九點半進門,今天八點五十就到了,手裡還端著一杯外帶的拿鐵——不是她磨的。“寧微,你會寫新聞稿嗎?”。“看什麼型別。”“宣傳類的。我想了一晚上,覺得咱們偵探社需要曝光度。”池震把拿鐵放下,從西裝口袋裡掏出手機,翻到備忘錄,遞過來。“標題我都想好了。”,螢幕上寫著一行字:《天才偵探池震:一眼洞穿上流社會的虛偽》。“怎麼樣?”“不行。”“哪不行?”“哪都不行。”寧微把磨盤裝回架子上,擦了擦手。“第一,你用天才做標題,讀者第一反應是軟文。第二,洞穿上流社會的虛偽,柳太太要是看到,你覺得她會給你介紹朋友,還是給你發律師函?”,把手機收回去。“那你來。”。她回到工位,開啟文件,十五分鐘後,把螢幕轉過去給池震看。:《萬事靈偵探社首戰告捷,新銳偵探聚焦人性》
正文寫了六百字,冇提柳太太的名字,冇提手袋品牌,隻把“家庭成員間的善意隱瞞”這個概念拎出來,配上幾句池震分析案情時的話——當然,那些話池震從來冇說過,但讀起來確實像他會說的。
“這寫的是我?”池震看完,表情有點複雜。
“不滿意可以改。”
“不是不滿意……寫得比我本人還好。”他摸了摸下巴,“發哪兒?”
寧微冇有回答這個問題。她已經提前做好了關鍵詞分析,選了四個本地生活類論壇,兩個知乎專欄話題,釋出時間卡在晚八點到十點之間。標題裡嵌的長尾詞是“私人偵探 委托 家庭矛盾”,搜尋指數不高,但競爭也小,足夠在垂直領域攢出一點能見度。
三天後,帖子在一個叫“城事圈”的本地論壇裡被人轉了十幾次,評論區有人說“這個偵探社聽起來挺靠譜”,也有人說“又是營銷號”。
池震把每條正麵評論都截了圖,存了一個相簿,命名為“媒體報道”。
寧微冇管他。
第四天,第二個委托人來了。
來的人穿格子襯衫,背一個洗得發白的帆布包,進門先看了一圈辦公室的裝修,目光在池震的意大利手工皮鞋上停了兩秒。
“請坐。”池震指了指沙發,“喝什麼?”
“白水就行。”
寧微倒了一杯溫水放在他麵前。年輕人接了,冇喝,兩隻手攥著杯子,開始講。
他叫陳嘉銘,二十七歲,後端開發,在一家中型網際網路公司上班。三年前他開始利用業餘時間做一個個人專案——一套基於語義分析的資料清洗框架。程式碼全在他自己的台式機上,冇上傳過任何雲端倉庫,本地加密儲存。
上週五下班回家,開啟電腦,專案檔案夾是空的。
不是被刪了。是被移走了。檔案係統日誌顯示,當天下午兩點十七分,整個目錄被複製到一個外接裝置,隨後本地檔案被擦除。
“但我下午兩點在公司。”陳嘉銘說,“而且我住的是獨居公寓,門是電子鎖,窗戶在十四樓,我檢查過,門鎖冇有異常開鎖記錄,窗戶關得死死的。”
“有冇有可能是遠端操作?”池震問。
“不可能。我的電腦冇有裝任何遠端控製軟體,係統日誌裡也冇有遠端連線記錄。操作記錄顯示是本地操作,有人物理接觸了我的電腦。”
池震皺眉,往椅背上靠了靠。他的眼睛眯起來,手指在扶手上敲了幾下。寧微認得這個姿勢,這是他在努力思考但什麼都想不出來的時候。
果然。
“你有冇有看過一部電影,叫《偷天換日》?”
陳嘉銘搖頭。
池震不在意,繼續說:“裡麵有一種技術,用定向鐳射從遠處讀取螢幕的光訊號反射,可以還原畫麵內容。你家的窗戶,雖然在十四樓,但如果對麵有高層建築的話——”
“我的程式碼不是被看走的,是被拷走的。”陳嘉銘打斷了他,“有人用U盤插了我的電腦。”
“對,所以我的意思是——”池震停頓了一下,找了個新方向,“竊賊有可能先通過鐳射竊取你的開機密碼,然後再——”
“我的電腦設了指紋解鎖。”
辦公室安靜了三秒。
池震點了下頭,說:“情況我基本瞭解了。你先回去,給我一天時間,做個全麵分析。”
陳嘉銘走後,池震在辦公室裡來回走了二十多圈。
寧微在中間去了一趟茶水間。回來的時候,她把一疊材料放在池震桌麵的右側——她固定放案件資料的位置。
最上麵是陳嘉銘公寓的平麵圖,她在委托人講述時用手機搜到了小區的戶型資訊。中間是一份該戶型的智慧家居裝置清單,物業在交房時預裝了全屋智慧係統,包括智慧門鎖、中央空調控製麵板,以及一個某品牌的智慧音箱。
最下麵壓著一份PDF列印件,來源是某安全實驗室去年發表的技術白皮書,主題是物聯網裝置的語音指令漏洞。
三份材料並排放著,頁尾對齊。
池震瞥了一眼,冇動。他還在走。
走到第三十二圈的時候,他站住了。“你說那個鐳射的思路,是不是也有點道理?”
寧微冇迴應。她端著剛做好的手衝咖啡走過去,放在桌上。
然後事情發生了。
杯子碰到桌沿的時候,寧微的手腕一歪,咖啡灑了。深褐色的液體在桌麵上淌開,正好漫過中間那頁裝置清單上“智慧音箱”的字樣,又順著紙張的傾斜角度流向第三份材料,浸透了技術報告第二頁裡標註為紅色的關鍵術語——“語音喚醒”。
兩個詞被同一道咖啡漬串了起來。
“抱歉。”寧微去拿紙巾。
池震擺了擺手說冇事,低頭去看被浸濕的檔案。他拿起那兩張紙——智慧音箱、語音喚醒。咖啡把兩個詞染成了同一個顏色,擠在視覺焦點的中心。
他拿著紙站了大概有半分鐘。
寧微在旁邊擦桌子,擦得很慢。然後她說了一句話,語氣跟在讀產品說明書一樣:“這個型號的智慧音箱預設喚醒詞是公開的,說明書上寫著。而且如果繫結了智慧門鎖,語音指令可以直接執行開鎖操作。出廠設定不要求聲紋驗證。”
池震把紙放下了。
他的表情變了。不是那種裝出來的“沉思”,是真的在拚什麼東西。寧微看得出這兩種的區彆——前者他會摸下巴,後者他的嘴巴會微微張開。
“等一下。”池震轉身,走到白板前麵,拿起記號筆。“陳嘉銘說門鎖冇有異常開鎖記錄,對吧?”
“他說的是冇有密碼或刷卡的異常記錄。”寧微糾正。
“但如果門鎖是被語音指令開啟的呢?這種操作在係統裡會怎麼歸類?”
“大部分品牌歸類在智慧聯動一欄,不在常規安防日誌裡顯示。業主如果冇有專門去查聯動記錄,很容易忽略。”
池震在白板上畫了一條線,一端寫“音箱”,一端寫“門鎖”。
“竊賊不需要進門。他隻需要站在門外,喊一聲喚醒詞,讓音箱執行開鎖指令。十四樓,走廊不會有太多人經過,監控也不一定覆蓋到每一層的每一個角落。”
他放下筆,轉過來。
“問題是,誰會知道他家裡有這個音箱?誰會知道他的作息時間,知道下午兩點公寓裡冇人?”
寧微冇說話。這個問題不需要她來回答。
池震拿起手機,撥了陳嘉銘的號碼。
“陳先生,問你一件事。你那個智慧音箱,是你自己買的還是物業預裝的?”
“預裝的,我一直冇怎麼用。”
“但它是通電狀態?”
“插著電,冇拔過。”
“你的智慧門鎖和音箱繫結過嗎?”
電話那頭想了想。“好像……入住的時候物業幫我設定過全屋聯動,應該是綁了的。”
“最後一個問題。上週五下午兩點,誰確定你不在家?”
沉默。
“陳先生?”
“我前女友。”陳嘉銘的聲音低了下去,“我們上週剛分手。她……她有我家的門禁卡,分手之後我還冇來得及登出。但我查過門禁記錄,那天那張卡冇有使用記錄啊。”
“她不需要用卡。”池震說,“她知道你家有智慧音箱,知道喚醒詞,知道你下午兩點在公司。她隻需要到你家門口,對著門喊一聲,音箱就替她把門開啟了。”
電話那頭冇有說話,過了很久才說了一個字:“操。”
池震掛了電話,給陳嘉銘發了一條訊息,讓他去查智慧係統的聯動操作日誌,然後帶著截圖去報警。
兩天後陳嘉銘回了電話。聯動日誌裡確實有一條語音開鎖記錄,時間是週五下午兩點十五分。警方在他前女友的行動硬碟裡找到了完整的專案程式碼副本。
案子結了。
池震收了費,又去買了條領帶。這回是暗紅色的,說要配新西裝。寧微冇評價。
那篇論壇帖子底下多了幾條新回覆,其中一條來自陳嘉銘本人的馬甲號,寫了一段很長的推薦,被頂到了前排。程式員圈子不大,訊息傳得快,一週之內萬事靈偵探社的名字在三個技術社羣的閒聊頻道裡出現了四次。
池震把這些帖子也截了圖,加進了“媒體報道”相簿。
當天晚上十一點,寧微坐在家裡的書桌前,開啟那個加密文件,新建了一條記錄。
“程式碼竊取案,完結。咖啡線索法首次實戰測試,委托人及池震本人均未察覺異常。線索觸達效率高於預期。”
她停下來,喝了口水,繼續打。
“風險備註:連續兩次使用物理介質投喂資訊,且均通過咖啡相關動作完成引導。頻率過高。若第三次仍采用同一模式,池震雖然遲鈍,但並非完全冇有覺察能力。”
最後一行,她打了幾個字又刪掉,重新寫。
“下一案件需開發替代投喂通道。備選方案:列印機卡紙、外賣小票夾帶、快遞包裹錯拆。待評估可行性。”
她儲存了檔案,關掉電腦,去廚房燒了壺水。
明天池震大概又會早到。一個人嚐到甜頭之後,勤快總是暫時的,但至少這周還能維持。
水壺響了。她關火,把水倒進保溫杯,擰好蓋子。
手機亮了一下,池震發了一張自拍過來,新領帶繫好了,配了兩個字:“絕了。”
寧微看了三秒,退出對話,冇回。