第八章 他留下的密碼
台北的凌晨三點有一種特殊的風格。
便利商店的燈把騎樓照得過於清醒,路上偶爾經過的機車聲顯得格外孤立,像是這座城市在睡著之前最後幾個還沒放棄的念頭。
陳后羿把信封放在便利商店外的塑膠桌上。
兩杯熱美式,一杯放在他面前,一杯放在克林特面前。克林特沒有碰,只是看著那個信封,像是在等信封先開口。
「你要自己拆,還是要我拆?」陳后羿問。
「等一下,」克林特說。
陳后羿就等。
他不是一個會填補沉默的人,這一點從第一晚就確認了。沉默對他來說是一種資訊,裡面裝著對方還沒說出口的東西,硬是填滿它,反而什麼都聽不到。
克林特盯著信封看了將近兩分鐘,然後把它拿起來,拆開。
裡面不是紙。
是一張名片,空白的那種,背面用原子筆寫了一串數字和幾個英文字母,字跡工整,每個字都寫得很用力,像是寫的人知道這是最後一次,所以不允許自己潦草。
克林特把名片放在桌上,推到两人中間。
陳后羿看著那串東西:7734-NB-午後的那首歌。
「前面是數字密碼,」克林特說,「NB是我們之間的縮寫,代表No Backup,是我們執行高風險任務時用的確認碼,意思是這份資料沒有第二份備份。」
「午後的那首歌,」陳后羿說,「是什麼?」
克林特第一次在陳后羿面前喝了一口咖啡,像是需要一個小小的停頓:
「沈柏剛來的第一個月,有一次任務結束,我們在車裡等撤離的空擋,他突然放了一首歌,」他說,「我問他這是什麼,他說是他媽媽以前每天下午在廚房裡哼的旋律,他找不到原版,就自己用哼的錄下來,存在手機裡。」
「你記得旋律?」
「記得,」克林特說,語氣沒有起伏,但手指在桌面上敲了一下,「但那不是重點,重點是歌的後半段,他媽媽會改詞,把歌詞改成一串他從小背起來的數字,他說那是他媽媽藏家裡緊急備用金的位置,用歌的方式讓他記住。」
陳后羿把咖啡杯轉了半圈:「所以密碼是那串數字。」
「是他媽媽的數字,」克林特說,「不是任意的亂數。」
「你知道那串數字。」
「知道,」他說,「因為有一次喝多了,他唱給我聽過,我這個人,聽過的東西不太會忘。」
陳后羿沉默地看著他。
克林特把名片翻過來,用陳后羿的原子筆,在空白面寫下一串數字,寫完,蓋在剛才那面上,推回去:「加上7734,組成完整密碼,」他說,「資料應該存在某個雲端,但入口在哪裡,我不知道。」
「林先生說他不知道解密方式,」陳后羿說,「但他沒說他不知道入口。」
克林特抬起頭:「你懷疑他。」
「我懷疑所有人,」陳后羿說,語氣不帶情緒,像在陳述一個工作原則,「包括你,只是程度不同。」
克林特沒有因為這句話皺眉,反而點了頭:「合理。」
「但現在,」陳后羿說,「我更想先找到資料的入口,再回頭懷疑他。」他把手機放到桌上,開了一個純文字介面的應用程式,「沈柏留這張名片給他信任的人,他預設收到名片的人會直接找到你,或者你們兩個人的某個共同連結。」
「他知道我會收到委託,」克林特緩緩說,像是邊說邊把拼圖往一個方向推,「他把入口藏在委託書裡?」
「或者,」陳后羿說,「委託書本身就是入口。」
克林特從風衣裡取出那份委託書的影本,展開,兩個人湊在便利商店的螢光燈下看。
委託書的格式是標準樣式,抬頭、委託人、目標資料、酬勞、附帶條件,最下面是一個無星組織的聯絡代碼。
看起來普通,但沈柏不是普通的人。
陳后羿拿起委託書,對著燈光透視,什麼都沒有。他翻過來,看背面,也是空白。
他把委託書放下,重新看正面,這一次不看內容,看格式。
「字距,」他說。
「什麼?」
「這份委託書的字距不一致,」陳后羿用指甲輕輕點了幾個位置,「這裡,這裡,還有這裡,字元之間的間隔比其他地方寬了大概零點五個字元,不用量,眼睛看得出來。」
克林特靠近,眯眼看了幾秒,點頭:「看出來了,哪些字?」
陳后羿把那些字間距異常的位置逐一標出來,把對應的字元抄在手機的文字介面上。
一共九個字元:GHOST-TAI
「GHOST-TAI,」克林特說,「沈柏的網路代號,他年輕的時候做過一段時間的白帽駭客,這是他那時候用的名字。」
「所以入口是一個帳號,」陳后羿說,「或者一個網址。」
克林特拿起手機,在瀏覽器輸入了一個格式不像正常網站的字串,按下搜尋。
頁面是空白的,只有一個密碼輸入框,沒有任何說明,沒有任何標誌,背景是純黑色。
像一扇沒有門牌的門。
克林特把名片上的完整密碼輸進去,確認鍵按下去的那一秒,兩個人都沒有呼吸。
頁面載入。
不是文件,不是影像,是一個結構複雜的資料夾系統,層層疊疊,最上層的資料夾名稱只有一個字:「醒」。
他們在便利商店的塑膠椅上坐到快五點。
資料夾裡的東西比他們預期的更龐雜,不是單純的調查紀錄,是沈柏用將近六個月時間建立起來的一份完整檔案,有影像、有錄音、有他自己打的文字分析,還有幾份他從某個地方取得的內部文件。
陳后羿把最上層的文字分析打開,從頭讀。
沈柏的文字風格簡練,每一句話都是結論,不堆砌過程,像是他從一開始就知道時間不夠,所以只留最核心的東西。
文字分析的第一段寫著:
無星的計畫本身沒有問題,自願性的意識暫存,用途是讓嚴重創傷後無法正常生活的人選擇一種受控的休眠,等待治療技術追上他們的狀況。這不是囚禁,是一種還沒有正式名稱的庇護。
問題不在無星。
問題在於有人複製了他們的技術,但拿掉了「自願」這個前提。
陳后羿把這一段念出聲,念給克林特聽。
克林特聽完,看著手裡的咖啡杯,杯子早就涼了:「所以林先生說的是真的,他們的系統被人學走了。」
「不只是學走,」陳后羿繼續往下讀,「沈柏說,複製技術的這個組織,他沒有找到名字,只找到一個代號。」
他把螢幕轉向克林特。
代號兩個字:有光
「有光,」克林特重複了一次,語氣很平,但有什麼東西在那個平靜的底下移動了一下,像是水面下的暗流,「和無星相反。」
「無星,有光,」陳后羿說,「一個做庇護,一個......」他往下翻,找到沈柏的下一段結論,讀出來,「一個在收集不願意醒來的人。」
便利商店的店員在裡面整理貨架,外頭天色開始從黑轉成最深的那種藍,路燈還亮著,但光已經開始變得多餘。
克林特把手機螢幕關掉,在黑暗裡坐了一會兒:「沈柏找到有光的所在地了嗎?」
「找到了,」陳后羿說,「就是你搭檔定位停止的那個地址,台北港C區旁邊,但不是C區,是C區地面下方。」
「地下,」克林特說。
「沈柏在資料夾最底層,」陳后羿說,把手機遞過去,「留了一張平面圖。」
克林特接過來,在螢幕上放大那張圖,看了很久。
那是一份手繪圖,線條精準,有隔間,有標注,有路徑,是一個在地底延伸的空間,規模遠比地面上的倉儲更大,更深,更像一個......
「像一座城,」克林特說,聲音第一次有了一點點不受控的質地,「他一個人畫出這個的?」
「他一個人進去過的,」陳后羿說,「出來,然後死。」
克林特把手機還給他,站起來,把咖啡杯丟進垃圾桶,把風衣的領子立起來。
天色已經開始微亮,第一班公車的聲音從遠處傳來,這座城市的呼吸開始從慢變快,從睡著的節奏換回醒著的節奏。
「沈柏最後一份錄音,」陳后羿說,「你要聽嗎?」
克林特的背對著他,沉默了大概五秒。
「現在不要,」他說,「進去之前,不要。」
陳后羿把手機收起來,站起來,把兩個咖啡杯一起丟掉。
「那我們什麼時候進去?」
克林特往騎樓外走,走到天光裡,停下來,仰頭看了一眼剛剛亮起來的天空,像是在衡量某個只有他自己知道的距離。
然後他說:「今晚。」
「理由?」
「因為,」克林特轉過身,逆著光,臉在陰影裡,但聲音很清楚,「等越久,他留下的路徑就越可能被抹掉,」他停頓了一秒,然後加了一句,像是對自己說的,也像是對沈柏說的,「我不能讓他白畫那張圖。」
陳后羿看著他,點了頭。
兩個人在天亮的街頭站了一會兒,沒有說話,但那個沉默已經不是第一晚的沉默了。
第一晚的沉默是兩個陌生人之間的空氣。
現在的沉默,是兩個知道今晚要去哪裡的人,在出發之前,各自把自己整理好的那種安靜。
陳后羿最後說:「我需要四個小時睡覺。」
「我需要三個小時,」克林特說,「剩下一個小時我來準備進場路線。」
「備案?」
「兩個,」克林特說,「你呢?」
「三個,」陳后羿說,「但第三個你不會喜歡。」
「為什麼?」
「因為第三個備案,」陳后羿說,臉上沒有笑,但語氣裡有一點點什麼,「是把整個地下層的電路燒掉,然後我們從煙裡跑出來。」
克林特看著他,沉默了兩秒。
「留著備用,」他說,「但你得跑得夠快。」
「你得射得夠準,」陳后羿說。
這不是承諾,也不是玩笑,是兩個人用各自的方式說的同一件事:
今晚,我們一起進去,一起出來。
——待續——

AI繪圖






























