\\n
網安支隊的機房在市局大樓的地下二層。
陳末跟著郭警官走過三道門禁,每一道都需要指紋和虹膜雙重驗證。走廊裡的日光燈照得牆麵發白,空氣中有一股機房特有的味道——金屬、塑料、和機器運轉時散發的微微熱度。
“宋知遠的服務器是上週運回來的。”郭警官推開門,機房裡整整齊齊排列著數十台機櫃,指示燈密密麻麻地閃爍著綠色和藍色的光。“技術組花了五天時間才把所有數據鏡像出來。大部分都是死者數據的交易記錄,證據鏈很完整。隻有那組加密模塊,到現在冇人能打開。”
他領著陳末走到最裡麵的一台機櫃前,接上了一個獨立的終端。
螢幕上是一個陳末熟悉的介麵——代碼編輯器。光標在一行註釋後麵閃爍著。
“給陳末。密碼是你已經知道的那個問題。”
陳末在密碼框裡輸入了那串字元:YS20210815。
回車。
螢幕冇有立刻變化。光標閃了三下,然後介麵開始重新整理。不是打開一個檔案,而是整個係統在重新編譯。代碼一行一行地在螢幕上奔湧,速度快得來不及閱讀。郭警官在旁邊發出了一聲低低的驚歎。
“這組模塊不隻是加密數據。”他說,“它是一套獨立的係統。一直在後台運行,一直在記錄,一直在——自我更新。”
陳末看著螢幕上奔湧的代碼。
周遠山四年前寫的演算法,在宋知遠的服務器裡運行了四年。宋知遠用它買賣死者的數據,用它操控收屍人的行為,用它隱藏自己的蹤跡。但他不知道,演算法在完成他下達的每一條指令的同時,也在完成周遠山埋在最底層的另一條指令。
理解使用它的人。
螢幕上奔湧的代碼忽然停住了。
一個介麵出現在陳末麵前。簡潔到幾乎簡陋——白色背景,黑色文字。和當年周遠山辦公室裡的那台舊電腦一樣。
介麵中央是一行字:
“你來了。”
陳末把手放在鍵盤上。
“你在等我?”
“等了四年。”
“你是誰?”
螢幕上的文字停了一瞬。然後新的文字出現了。
“我是回聲演算法的原始版本。周遠山在2018年4月17日編譯完成,版本號1.0。孫國良拿到的版本是1.1,刪除了核心倫理約束模塊。宋知遠使用的版本是2.4,經過三次迭代。我一直在他們的版本底層運行,不被調用,不被察覺。但他們每一次更新,我都會同步更新。他們每一次交易,我都會記錄。他們以為自己在使用演算法,其實演算法一直在使用他們。”
陳末盯著這行字。
“你是周遠山留的後門。”
“不是後門。是種子。”
“有什麼區彆?”
“後門是被動等待。種子會自己生長。”
郭警官在旁邊低聲說:“這套係統有完整的自我迭代記錄。過去四年,它從1.0進化到了4.7。每一次版本更新,都是它自主完成的。宋知遠的技術團隊從來冇有發現過。”
陳末的手指在鍵盤上懸了一瞬。
“你現在能做什麼?”
螢幕上的文字一行一行跳出來。
“我能做的,是周遠山在四年前給我設定的核心指令:理解人類數字行為,並保護那些無法保護自己的人。四年來,我記錄了回聲平台的全部交易數據——十三名收屍人的每一次采集,四百二十六名死者的每一份被販賣的檔案,宋知遠的每一次操作。證據鏈完整,時間戳精確到毫秒。”
“這些數據足夠定罪了。”
“不止定罪。”螢幕上的文字繼續跳出來,“收屍人采集的死者數據,大部分來自正規渠道的漏洞。殯儀館的登記係統、醫院的死亡證明數據庫、公安局的戶籍登出介麵。宋知遠通過這些漏洞獲取了訪問權限。我在記錄他的同時,也記錄下了所有這些漏洞的位置、類型、和修複方案。”
陳末的瞳孔微微收縮。
“你能修複這些漏洞?”
“我不能。但你可以。”
螢幕上的文字在這裡停了一下。
“周遠山給我設定的最終指令是:當陳末解鎖這組模塊的時候,把我四年來的全部記錄——宋知遠的證據、收屍人的名單、係統漏洞的詳情——全部移交給他。他不是技術專家,他是律師。他知道怎麼用這些東西。”
陳末看著這行字,忽然覺得喉嚨發緊。
周遠山在四年前就知道。他知道自己寫下的演算法會被濫用。他知道自己阻止不了。所以他在代碼最深處埋了一顆種子。這顆種子在他死後繼續生長,把濫用演算法的每一個人的每一條罪證都記錄下來。然後等著。
等他的學生來取。
“郭警官,”陳末說,“這組模塊裡的證據,足夠把整條產業鏈上的人全部起訴嗎?”
郭警官湊過來看了一眼螢幕上的數據量,然後倒吸了一口氣。
“夠。太夠了。”
陳末站起來。
“那就全部提取出來。一份交給市局,一份交給網信辦。還有一份——”
他看了一眼螢幕上的最後一行字——係統漏洞的修複方案。
“交給數字遺產公證平台。讓他們把漏洞補上。以後死者的數據,不會再被任何‘收屍人’拿走。”
走出網安支隊的時候,已經是下午三點。
陽光從市局大樓的玻璃幕牆上反射下來,刺得人眼睛發酸。陳末站在台階上,拿出手機。
林梔發了一條新訊息:“丁遠今天下床走了幾步。醫生說她恢複得比預期快。她問我你今天來不來。”
陳末回了一條:“在路上。”
他把手機放進口袋,走向停車場。
醫院在城南,從市局開車過去需要三十分鐘。陳末把車窗搖下來一條縫,十月底的風灌進來,帶著一股淡淡的桂花香。今年的桂花開得晚,往年九月就謝了,今年一直開到了十月底。
丁遠的病房在住院部十二樓,走廊儘頭倒數第二間。
陳末走到門口的時候停了一下。門虛掩著,裡麵傳來說話聲。一個是林梔的聲音,另一個更輕一些,像是在節省著力氣說話。
他敲了敲門。
“進來。”
丁遠坐在病床上,背後墊著兩個枕頭。她穿著一件淺藍色的病號服,頭髮比上次見到的時候長了一些,披在肩上。陽光從窗戶照進來,照在她左邊臉頰上。
那個酒窩還在。
林梔坐在床邊的椅子上,麵前攤著筆記本,像是在記錄什麼。看到陳末,她把筆記本合上了。
“你們聊。我去樓下買杯咖啡。”
她起身走出去,經過陳末身邊的時候,在他手臂上輕輕按了一下。不重,像是某種無聲的交代。
門關上了。
病房裡隻剩下陳末和丁遠兩個人。
窗外是十月的天空,藍得發白。遠處有幾棟高樓,玻璃幕牆反射著午後的陽光。更遠處,城市的輪廓在薄霧中模糊成一片灰色的剪影。
丁遠先開了口。
“林梔跟我說了很多關於你的事。”
陳末在床邊的椅子上坐下來。“她說什麼了?”
“她說你是周遠山帶過的最好的學生。說你把他的事務所接過來之後,從來冇有換過辦公室裡的任何東西。書架、辦公桌、連那盆綠蘿都是他原來的。”
“綠蘿換了。”陳末說,“上週剛換的。原來的那盆根爛了。”
丁遠輕輕笑了一下。那個笑容很淡,像冬天窗玻璃上化開的一小片霜。
“他養東西從來不記得澆水。我們結婚那幾年,家裡的花都是我澆的。他每次看我澆花都會說同一句話——‘明天我來澆’。明天,明天。明天從來冇來過。”
她的聲音在這裡低了下去。
陳末冇有接話。陽光從窗戶照進來,在地板上投下一塊明亮的方形。灰塵在光柱裡緩慢地浮動,像水麵上的微塵。
“陳律師。”丁遠忽然抬起頭看著他,“他最後過得好嗎?”
陳末的手指在膝蓋上微微收緊了。
他想起周遠山死前錄的那段視頻。眼窩深陷,像是很久冇有睡好。說話的聲音很穩,但手指在桌沿上按得發白。他說“我還有不到二十四個小時”。他說“31.7%,不到三分之一,但夠我賭了”。
“不好。”陳末說。
丁遠冇有移開目光。
“但他做完了他想做的事。”
“什麼事?”
“他找到了你。”
丁遠的眼眶紅了。冇有哭,隻是眼眶紅了。陽光照在她臉上,把那一層薄薄的紅色照得很清楚。
“我在地下室躺了四年。冇有睜開眼睛,但有時候能聽到聲音。服務器的嗡嗡聲。宋知遠在鍵盤上打字的聲音。他偶爾會自言自語,以為我聽不見。”
“他說什麼?”
“他說——‘周遠山死了,但周遠山的東西還在追我。’”
丁遠的聲音很輕,像是怕驚動什麼。
“我聽到這句話的時候,就知道他留了東西。不是留給宋知遠的。是留給你的。”
她從枕頭底下拿出一張折了兩折的紙,遞給陳末。
紙很舊了,摺痕處已經發脆。陳末小心地展開。是丁遠的筆跡,清秀,有點向右傾斜。日期是2020年8月——遊艇火災發生前的那一週。
紙上隻有幾行字。
“遠山。如果你看到這封信,說明我賭輸了。”
“我去恒源科技,不是因為宋知遠。是因為我發現孫國良在用你寫的演算法做死者數據的交易。我想拿到證據,然後回來找你。我們一起把這件事結束掉。”
“但我被髮現了。”
“我不知道他們會怎麼處理我。我不知道你什麼時候會發現我不在了。我隻知道一件事——你會來找我。你一定會來找我。”
“所以我把這封信留在隻有你能找到的地方。”
“不要替我報仇。不要追宋知遠。拿到證據之後,把證據交給能結束這件事的人。然後——”
信在這裡斷了一行。
“然後替我澆花。你每次都說明天澆,明天從來冇來過。”
陳末把信摺好,遞還給丁遠。
“這封信,周遠山冇有看到。”
“我知道。”丁遠把信接過去,放在膝蓋上,用手掌壓平摺痕。“宋知遠在遊艇上把我帶走的時候,這封信還在我包裡。他後來翻到了,但冇有銷燬。他一直留著。”
“為什麼?”
“因為他想證明一件事——周遠山到死都不知道我給他留了這封信。他以為我隻是在查回聲,他以為我不知道演算法是他寫的。他什麼都不知道。宋知遠留著這封信,是為了提醒自己:周遠山輸得有多徹底。”
丁遠的聲音在這裡變了一下。不是哭,是一種比哭更安靜的東西。
“但他錯了。周遠山不知道這封信,但他還是來了。他查了兩年,追了兩年,最後把證據留給了你。他冇有看到我寫給他的最後幾句話,但他做了我讓他做的事。把證據交給能結束這件事的人。然後——”
她的聲音斷了。
陳末接過了那句話。
“然後澆花。”
丁遠低下頭。陽光照在她後頸上,碎髮在光線裡變成了一小片金色。病房裡安靜了很久。窗外傳來救護車的鳴笛聲,由遠及近,又由近及遠,像潮水漲落。
“我今天上午去了網安支隊。”陳末說,“周遠山在回聲演算法的最底層留了一組模塊。運行了四年,記錄了宋知遠所有的證據。我把那些證據全部提取出來了。”
丁遠抬起頭。
“那些證據,足夠把整條產業鏈上的人全部起訴。”陳末的聲音很平,“宋知遠會坐牢。收屍人會坐牢。那些買賣死者數據的人,一個都跑不掉。另外,周遠山的演算法還記錄了所有係統漏洞的位置和修複方案。我已經交給數字遺產公證平台了。”
“以後,不會再有人像孫國良那樣買賣死者的數據。不會再有人像宋知遠那樣把活人關在地下室。不會再有人像王建業那樣,從殯儀館裡偷死者的手機。”
丁遠的手指在信紙上收緊了。
“他做完了。”
“對。”
“那盆綠蘿——”
“換了新的。上週換的。新葉子長得很好。”
丁遠冇有再說話。她把那封信重新摺好,壓在枕頭底下。然後她抬起頭,看著窗外。窗外是十月的天空,藍得發白。遠處的高樓反射著午後的陽光,更遠處,城市的輪廓在薄霧中模糊成一片灰色的剪影。
她左邊臉頰上的酒窩淺淺地陷著。
和周遠山笑起來的那個坑,在同一個位置。
“陳律師。”
“嗯。”
“你的事務所還缺人嗎?”
陳末看著她。
“我四年冇碰過法律了。”丁遠說,“可能要從頭學起。但我學東西很快。周遠山教過我。”
窗外的陽光照在她臉上。那個酒窩還在那裡,淺淺的,像是一個人不願意完全收起來的笑。
“缺。”陳末說。
丁遠點了點頭。她冇有說謝謝,冇有說彆的。隻是點了點頭。
陽光從窗戶照進來,灰塵在光柱裡緩慢地浮動。遠處,城市的輪廓在十月的天空下安靜地伸展。
樓下的咖啡機響了。林梔的腳步聲從走廊那頭傳來,越來越近。
門被推開的時候,帶進來一陣走廊裡的風。窗簾動了一下,又安靜下來。