雨在凌晨三點停了。巴黎里昂總部的夏季夜晚,比資料庫的風扇聲更安靜。
畫面上,三十個紅點在亞洲地圖上慢慢亮起。台北、台中、高雄;香港、澳門、新加坡;首爾、東京、札幌;曼谷、清邁;河內、胡志明市、金邊;馬尼拉、宿霧;雅加達、泗水;吉隆坡、檳城。
每一個紅點代表一宗「意外」:摔落、溺斃、心臟驟停、車禍、火災、猝死。每一宗都像一本醫學教科書能解釋的死亡,像都市夜色中無人多看一眼的新聞。
蕭遙讓紅點按時間排序,像看星象。第一個紅點停在五年前的台北。案名很簡短:臺北市—疑似心因性死亡。備註欄是蒼白的兩行字:男,四十七歲,稅務諮詢與「資產管理」背景,他死前二十四小時曾接觸一份大型受害名單。結案意見:自然死。
第二個紅點跳到高雄。第三個跳到香港。第四、第五……
他拖動時間軸,紅點像被一隻看不見的手逐一點亮,緩慢、穩定、無聲無息。這隻手懂人的生活節奏,懂保全與監視器的盲區,懂醫學名詞、懂保險條款、懂新聞社會版的冷漠語氣;它更懂,如何讓正義看起來像事故,讓報應像偶然。
三十。蕭遙在心裡默數,對照另一張表。那張表更沉重:一百名失蹤者。外包客服、會計、船員、律所助理、旅館清潔員、年輕證人、退休教師、招募頭目……跨語言、跨國界,像被一張透明網拖走,各自消失在不同的出入口。
他把兩張圖層疊在一起,透過算法把時間、地點、關聯人等權重調整到最敏感。地圖發出一聲輕響,像棋盤上落下一顆子——所有路徑回到了台灣。
他停住。
不是因為那是他的故鄉,而是因為每一個交會點——不論是死亡或失蹤——在資料欄深處,都有一個共同的代碼:TW-2719。那是四年前台灣某串調查案的統一識別碼,旁邊的權限鎖顯示:封存。理由:外交敏感。
蕭遙調出自己許可等級能看的所有註記。
第一層是公開新聞節錄;第二層是各國刑警互助的簡報摘要;第三層開始,字句變成冷硬的規範語氣:「經確認,與早前之TW-2719有潛在關聯。未經授權,不得擅自調閱。」
第四層是空白。
他知道,空白從來不是沒有東西,而是有人把它清乾淨了。
**
凌晨四點,走廊盡頭的自動燈亮了一下又暗下去,像整棟樓在翻身。
蕭遙打開一份香港的「失足」報告,對比一份新加坡的「猝死」筆錄,然後在旁邊貼上台南的「倒臥出租屋」。三份報告來自不同國家、不同筆法,資料表格卻像刻意複製:死者生前一周皆接觸受害者返還名單或金流核對文件;死者附近兩小時內的監視畫面皆出現短暫黑區;死者手機雲端在死亡前後皆有一次異常登出。
三個條件放在一起,是巧合。
放到三十個事件上,是模式。
他把模式寫成條列,簡報投影在牆上,三十個小格子按地區排列。每一格只有三行字:表面死因、可疑點、可追索方向。沒有手法,沒有推測,更沒有任何可以教人模仿的描述。只有可被檢視的痕跡。
他知道規矩——在真相被證明之前,言詞要克制到如同法庭用語。
簡報最後一頁,他只寫了九個字:
「看不見的手,正在亞洲行走。」
**
早上七點一刻,資深聯絡官——大家都叫他「韓隊」——準時推門。黑色皮鞋沒有一點水痕,外套像剛從衣架上拿下來的直角。
「你一夜沒睡?」他瞥一眼投影牆。
「睡了二十分鐘。」蕭遙轉身。「我把過去五年的亞洲『意外』疊在一起,交會點都指向台灣一宗被封存的案串:TW-2719。」
他把遙控器交給韓隊,屏幕亮出第一張地圖。紅點像燙痕。
韓隊沒有坐下。「我們看證據,不是看地圖。」他語氣一如往常的平。
「我知道。」蕭遙按下一張。「這些不是地圖,這是一致性——相同的資料缺口,相同的死前接觸,相同的通訊紀錄。我不談推測。我只談重複。」
韓隊的視線從台北掃到新加坡:「你要表達什麼?」
「有人在挑選對象。」蕭遙說。「三十個死者無一是『隨機路人』。每一個都與跨境詐騙或兒少案件直接或間接有關;每一個都在接近金流核心時,成為『意外』。」
他按出第二張圖層:一百名失蹤者的灰點在紅點周邊浮起,像暗礁。「同期間,一百個相關人員失蹤——證人、招募、會計、清潔、律所助理……他們像一串串被抽走的螺絲。」
「你的結論?」韓隊低頭看手錶。
蕭遙吸一口氣:「這不是連續殺人案的常規圖像,而是——」
他停了一秒,選詞。
「——一場針對鎖鏈的清洗。有人用『意外』把鏈條上的特定節點抹掉,讓金流像自己斷掉。這些『意外』沒有可證明的共同手法,但有共同的結果:追查中斷、證詞消失、名單回收。」
「你說『有人』。」韓隊的眼神沒有起伏。「誰?」
「我不知道。」蕭遙坦白。「但所有交會回到台灣那串被封存的案。資料顯示,當年有一名——」他看了一眼權限警示,慎重地說:「——司法體系內的人,在偵查最深入的時候,被撤換。那之後,所有關鍵節點開始出現『意外』。」
韓隊第一次抬眼正視他:「你要我幫你開權限,讀一個被封存的台灣案卷?」
「我要求的是互助。」蕭遙把語氣放慢。「這三十起事件分布在九個司法管轄,我們不可能只靠公開資料就把案子接起來。台灣那串案卷是源頭,沒有它,我們永遠只能在表層比對新聞。」
房間一瞬間安靜。空調送出一陣冷風,吹動了牆上的地圖邊角。
「蕭警官。」韓隊終於開口,使用了正式稱呼。「你知道TW-2719為什麼被封存嗎?」
「因為外交敏感。」蕭遙回答。
「對。敏感到你我不該碰。當年我們已經互助過一次。」韓隊說,「結果是全線撤回,因為證據不足,因為媒體失控,因為被害者名單外洩。你現在要重新打開它?要全亞洲都知道我們在追一個看不見的手?」
蕭遙感到後頸發熱。他知道這不是第一次有人提出類似的連結,也不是第一次被擋下。但他也知道,如果這次他退了,以後再也沒人會把這三十個紅點放在同一面牆上。
「韓隊,」他把聲音壓低,「我們不是要公審一個『傳說』。我們要還受害者一個系統性的解釋。」
他把一份印好的名單遞過去,紙很薄,名字很多。「這是一百個失蹤者裡,六名未成年證人的姓名代號。他們在不同國家、不同語言、不同保護機制下消失。這不是外交,這是人命。」
韓隊沒有伸手接。他盯著那份紙十秒,像在看一張會被燒掉的照片。
「我會寫報告。」他終於說,「但先不要擴大。不要跟媒體說,不要對其他區域辦公室說,不要再做超出權限的比對。」
「長官,」蕭遙忍住用詞,「不用媒體。我只要台灣的案卷。」
韓隊看他良久。那眼神像一扇關著的門,門後有走道,有人聲,也有看不到的警戒線。
「不批准。」他清楚地說。
兩個字落地,像把房間裡的氧氣吸走。蕭遙聽見電腦風扇的聲音突然變大,又慢慢降下去。他不知道自己的表情是什麼,只覺得喉嚨有一條看不見的刺。
韓隊轉身時,又補了一句:「把你的圖存起來,記錄要內部存取。你年輕,還有很多時間學會取捨。」
門闔上了。走廊的腳步聲消失在轉角。
**
十點整,辦公室恢復日間的人聲。有人打開收音機,有人談論昨天的足球比分。
蕭遙關掉投影,留下自己桌上的小螢幕。三十個紅點縮成了一顆顆針眼,他用滑鼠把台北那顆放大到最大。城市的路網像一張神經圖,他幾乎可以聽見遠方機車引擎的聲音、便利商店門鈴的「叮咚」。
他不是第一次被擋。學校實習時,他被告知證據鏈比直覺更重要;進警校時,他被教導程序正義比速度更重要;到了國際刑警,他第一次學會,沉默有時候比真相更重要。
但今天,他第一次覺得,如果沉默是程序的一部分,那程序可能需要一個破口。
屏幕忽然跳出一個提示:「跨境資料更新——新加坡」。
他點開,是一則冷淡的系統訊息:「某企業金流審查中止。」 受益人欄位顯示:匿名註冊。更底下,是一個微小的欄位,只有兩個字:「回流」——金流回到原始帳戶的百分比,數字是0.0%。
蕭遙盯著那個數字。
如果沒有真實的主腦、沒有可用的帳戶、沒有被迫打開的金庫,回流就永遠是零。
他把桌上那份「六名未成年證人」的代號抄在筆記本上,像在寫班級座號。每寫一個,他就把對應的紅點圈起來。寫到第三個時,他停了,因為那個代號旁——TW-2719—E——出現了一行注記:「曾於臺灣地檢署接受保護性詢問。」
地檢署。
蕭遙把「地檢署」三個字圈了又圈。 司法體系內的人。
被撤換。
誰能同時碰到受害者名單、金流證據、偵查盲點與保護性詢問的證詞?
他的腦中浮出一個詞,像水面下緩慢上升——檢察官。
他立刻刪掉那個詞。任何寫在筆記本上的字,都可能在不該被看到的時候被看到。他只在邊角畫了一個小小的方框,空心的,像還沒填色的選項。
手機震了一下,是內部訊息:「午間例會提前至十一點。」 發件人是韓隊。
底下另一則訊息靜靜躺著,是從台北來的熟悉名字——他在警校的同學,後來進了台灣刑事警察局。訊息只有一行: 「你在看TW-2719?小心。」
沒有問候,沒有表情符號,像一只從海面上丟來的玻璃瓶,裡面塞著一張濕掉的紙。
蕭遙盯著那兩個字——小心。
他打字回去:「你知道什麼?」
訊息沒有已讀。
**
例會室裡,白板寫著本週的跨境合作清單。東南亞的毒品線路、東歐的車牌偽造、北非的文書詐騙。一切都在清單上,一切都在程序裡。
輪到亞洲組報告時,韓隊代為簡述:「近期我們收到多國關於『意外』的資料,但沒有證據顯示它們彼此關聯。我們將不擴大比對。」
會議像河水一樣流過。蕭遙抬眼,看著面無表情的同事們點頭、紀錄。他忽然明白,世界上的某些白,並不是潔白,而是漂白。
會議結束,韓隊從人群裡叫住他:「蕭警官,留下。」
房內只剩兩人。韓隊關上門,語氣比早上更低:「你的報告,我看到了。」
蕭遙握緊手裡的筆。
「你做得很好,」韓隊說,「在技術上。但你要記住,世界不是你在牆上畫的那張圖。世界上有邊界,有主權,有媒體,有談判。」
他停頓一下,像在選語。「還有政治。」
「我只在意受害者。」蕭遙說。
「我不懷疑。」韓隊點頭。「所以我給你一個建議:把你的圖留在你的電腦裡,別讓它離開房間。你想救的人,不該先被你畫成箭靶。」
他沒有說「命令」,他說「建議」。這兩個字的差別,像握手與束縛的差別。
蕭遙點頭。「我會遵守程序。」他吐出這句話,就像吞下一顆沒有水的藥。
韓隊牽動了一下嘴角,像笑又不像笑,轉身離開。
門再一次闔上。
**
傍晚,他回到座位。窗外的雲被晚霞染成橘紅色,像一張在國界上鋪開的地圖。
他把整天關掉的投影又打開,房間空蕩,只有地圖上三十個紅點像燼火。 他在畫面下方新建了一個欄位,標題寫:「不顯示」。
然後他把那個空心的小方框,移到欄位的第一行。
不顯示,不代表不存在。
蕭遙深吸一口氣,把所有檔案備份到內部存取,再把紙本鎖進抽屜。他做了韓隊要求他做的每一件事,沒有多,也沒有少。
關機前,他額頭貼了一下冰冷的螢幕邊緣。螢幕漆黑,映出他自己的臉。他看起來不像「新血」,也不像「英雄」。他只是一個想把巧合後面的規律說清楚的人。
手機再次震動。是那位台北的同學,終於回了三個字:
「是檢察官。」
沒有名字,沒有職稱,沒有年份;三個字像一把撬棍,撬開了他心裡那個空心的方框。
同一秒,系統又跳出一則更新:「臺灣司改資料庫——存取權限調整:限制。」
權限在縮。門在關。有人在看著。
蕭遙把手機翻面,關掉震動。他知道,從這一刻開始,所有的光都會變得刺眼,所有的影子都會變得更長。
他也知道,第一章總是從門被關上開始,而不是門被打開的那一瞬。
他拿起外套,走出辦公室。走廊的燈一道道亮起,像一條被迫點亮的路。
他的步伐不快不慢,像每一個遵守程序的人;他的眼睛卻在心裡,無聲地把三十個紅點、一百個名字,和那三個字,重疊到一起。
檢察官。
故事,從此不再是意外的集合。
而是一個人,選擇成為看不見的手的理由。












