第 12 章

灰色地帶

灰色地帶 illustration

第十二章:灰色地帶

有人在看他。

不是韌體提醒的那種被看——頸後短促的電子麻刺,系統層級的監視。是更原始的,人類幾十萬年演化留下來的那種——後腦勺發緊,肩胛骨之間的皮膚微微收縮。

衡遠站在大灣路的算力市場邊緣,左手拎著帆布工具袋。袋裡是今天的收穫:兩截工業級銅排,一塊還能辨認出型號的散熱鰭片,以及一顆從不知道什麼年代的 UPS 裡拆出來的電解電容。三樣東西加起來大概值 0.8 kT。不夠付明天的食物配給,但他今天出來不是為了拾荒。

他需要走一趟算力市場,確認匯率板上 Dongle 任務的排班間距有沒有變化。自從拾荒隊解散、駱厝離開後,他唯一穩定的收入來源就是 Dongle 任務。韌體寬限期剩不到三天——如果警告模式啟動,每次隨機的 0.5 秒神經干擾會讓嵌入混淆數據的操作窗口變成俄羅斯輪盤。

他需要在那之前再做一次 Dongle 任務。真正的 MQTT 訂閱。

匯率板在市場入口的騎樓下,粉筆字跡被正午的陽光曬得發白。有人剛擦掉上一輪報價,新的數字還沒寫完——半截的「1 kT =」懸在那裡,像一句沒說完的話。衡遠掃了一眼 Dongle 任務區的排班表:明天下午有一個窗口。

後腦勺的感覺沒有消失。

他轉身,用餘光掃了一圈。市場的嘈雜正在午後最高峰——討價還價聲從左邊的金屬零件攤位傳來,右邊有人用砂輪機切割什麼東西,尖嘯聲在騎樓的水泥天花板下反彈。遮陽布把陽光切成不規則的條紋,人影在條紋之間移動。煎粿的油煙從路邊攤飄過來,混著金屬粉塵和汗味。

沒有明顯的異常。但「沒有明顯的異常」這件事本身讓他不安——一個好的監控程式不會讓被監控的對象感覺到自己被監控。

他沿著騎樓往市場外圍走。帆布工具袋的重量在左手上晃。走了大約三十公尺,到了市場和住宅區交界的地方——一排半廢棄的店面,鐵捲門拉到不同高度,像一排參差不齊的眼皮。最右邊那間門前擺了兩張塑膠矮桌,桌面油漬已經被歲月覆蓋成深褐色。

茶攤。如果這也算茶攤的話——兩個暖水壺,幾個玻璃杯,一疊免洗塑膠杯。衡遠以前從沒注意過這個角落。

靠裡面那張桌子坐著一個人。

五十多歲,頭髮灰白,剪得很短。穿一件深灰色的工作夾克,扣子扣到第二顆。面前放著一只老式保溫杯——不鏽鋼的,有歲月的磨痕,蓋子旋開擱在旁邊。杯口飄出淡淡的茶香。四季春。衡遠的鼻子在金屬粉塵和油煙之間抓到了這個氣味,因為它不屬於這裡。

那個人在看他。不是餘光,是正面。不是偶然的對視,是等待。

衡遠的腳步沒有停。但他的大腦已經開始跑程式。

陌生人。正面注視。獨自一人。保溫杯。沒有拾荒工具,沒有交易物資。在市場邊緣一個幾乎沒人來的茶攤等著。

不像買家,不像賣家,不像等人。像一個已經知道他會從這裡經過的人。

「工程師。」

那個人開口了。語速慢。不是懶散的慢,是刻意壓低音量、逼你往前靠才聽得清楚的那種慢。

衡遠停下來。不是因為那個稱呼——永康特區很多人知道他以前是工程師。是因為那個人說這兩個字的方式:不帶問號,不帶試探,像是在叫一個他已經叫了很多次的名字。

「你的茶涼了。」那個人指了指對面的椅子。

衡遠低頭看。對面的桌上確實擺了一杯茶。已經倒好了。

他在這裡等。他知道我會來。他甚至知道我大概什麼時候到。

衡遠沒有坐下。他站在桌邊,把帆布工具袋放在腳旁。

「我不認識你。」他說。

「你不需要認識我。」那個人端起保溫杯喝了一口。動作不急不慢,像是在品茶而不是在市場邊緣和一個陌生人對峙。「你需要的是觀測節點。至少三個不同網段的。」

衡遠的呼吸沒有變化。但他的心率跳了。他知道它跳了——八十到八十六,和那天在驗證室裡嵌入混淆數據時一樣。

這個人知道他在做什麼。

不,更準確地說:這個人知道他需要什麼。觀測節點。多網段覆蓋。這是他兩天前在 Cornelius 上推演出的結論——寫在筆記本上,鎖在法拉第籠裡。沒有任何電子通訊。沒有告訴任何人。

唯一的可能性:這個人不是從他的通訊中得到這個資訊的。是從他的操作中推斷出來的。

回聲。

上次。上上次。不到一百毫秒的延遲,然後壓縮到不到五十毫秒的回聲。他歸檔為「不確定」的東西,現在坐在他面前喝四季春茶。

衡遠拉開椅子,坐下了。不是因為信任——是因為一個已經知道你在做什麼的人,比一個你不知道他知道的人更危險。坐下來至少能看著他的臉。

「你是誰?」

「邱鑄銘。」對方說。「品保出身。現在做事務。」

品保。品質保證工程師。衡遠把這個資訊歸檔。品保的人看世界和系統工程師不一樣——他們不造東西,他們找東西的缺陷。

「哪一方的?」

邱鑄銘又喝了一口茶。保溫杯在桌面上放下時發出一聲沉悶的金屬響。「你覺得呢?」

衡遠沒有猜。猜是送分題。他用另一種方式回答:「回聲是你們的。」

邱鑄銘的眼睛動了一下。不是驚訝——是確認。他在確認衡遠注意到了回聲。

「不到一百毫秒。」邱鑄銘說。「後來壓到五十以內。你注意到了。」

「你們壓延遲是因為被我發現了。」

「你發現了不代表壓。壓是因為協議要求。你的級別——」他停頓了一下,選了另一個說法。「你的操作已經超出常規 Dongle 行為的標準差三個 sigma。這觸發了我們的品管流程。」

品管流程。他用品保術語描述監控行為。衡遠在腦中把邱鑄銘的語言模式建了一個初始模型:技術出身、用術語包裝意圖、語速慢是控制節奏的手段。

「造物派。」衡遠說。不是問句。

邱鑄銘沒有確認也沒有否認。他從工作夾克內側口袋掏出一個東西放在桌上——薄薄的,像一片黑色的玻璃,但邊緣有極細的金屬觸點。衡遠認出來了:通訊晶片,而且是他從沒見過的封裝形式。先進製程。不是第二階層能拿到的東西。

「你們用這個和我說話。」衡遠看著那片晶片。「但你現在面對面坐在這裡。」

「因為你的法拉第籠太厚了。」

衡遠差點笑出來。差點。

「歡迎來到 air-gapped 通訊協定。」他說。「你的頻寬是我的手速。」

邱鑄銘嘴角動了一下。不算笑,算是承認對方說了一句有效的話。他把通訊晶片收回口袋。

「我不是來招募你的。」邱鑄銘把保溫杯的蓋子旋回去,動作精確,像在校準一個量具。「招募暗示從屬關係。你已經證明你的操作能力超出我們的預期容差——一個五年的中頻 Dongle 不應該能做到那種程度的混淆嵌入。」

「所以你們是來品管的。」

「我們來提一個交換條件。」

砂輪機的聲音從市場那邊傳過來,切進對話的間隙。衡遠等著。邱鑄銘不急。他把保溫杯在手裡慢慢轉了半圈。

「你知道你在碰的是什麼。」邱鑄銘的聲音壓得更低了,衡遠不自覺地微微前傾。「冷卻系統。散熱拓撲。那是躍遷派的核心基礎設施。你打的不是末端節點,你打的是供應鏈。」

「我知道。」

「你不知道的是——躍遷派正在推一個計畫。他們要在六個月內消滅永康特區百分之八十的第二階層人口。不是徵收令那種慢慢擠的方式。是直接把韌體更新費提高到你們付不起的程度,然後批量強制鎖定,然後收割。」

衡遠的左手停止了微顫。這不是因為控制——是因為腎上腺素把多餘的神經訊號壓平了。

百分之八十。葛索。葛絡。凌晨三點在矮桌旁邊等他的那個影子,和在對面畫高樓的那個。他們在百分之八十裡面。

這個念頭持續了不到兩秒。然後被壓到棧底。不是消失,是讓出優先級——現在他需要的是分析,不是恐懼。

「數字不對。」邱鑄銘說。「我們的模型跑出來,百分之八十的鎖定率對應的維生艙需求會超過現有容量。躍遷派不在乎——他們在南科廢墟裡已經開始擴建新的維生艙設施了。」

南科。他每天看著窗外那排灰色的鋼骨牙齒。那下面正在蓋維生艙。

「你們不希望這件事發生。」衡遠說。不是同情,是推斷。「第二階層消失,你們在物理世界就沒有手腳了。」

邱鑄銘看了他一眼。那個眼神很短,但衡遠讀到了——這個人對衡遠用「手腳」這個詞不意外。他知道衡遠看穿了造物派保護第二階層的動機不是善意。

「你的分析效率很高。」邱鑄銘說。

「你不需要誇獎我的分析。你需要告訴我交換條件。」

邱鑄銘把保溫杯放下。雙手平放在桌面上。十指張開,像在展示自己沒有藏東西。品保工程師的手——乾淨,指甲剪得整齊,沒有拾荒者的繭。

「我們提供你需要的系統內部情報——包括散熱拓撲的結構數據。不是你用七十億參數模型推演出來的猜測,是實際的基礎設施數據。交換條件:你的攻擊只針對躍遷派。不碰造物派的資產。不碰我們的中間人網路。不碰我們控制的記憶體供應鏈。」

衡遠坐在那裡。砂輪機的聲音停了,市場的嘈雜像潮水一樣填回來——叫賣聲、金屬碰撞聲、遠處有個孩子在哭。

他在跑程式。不是情緒性的反應——是工程分析。

邱鑄銘是一個 API。這個 API 的輸入是衡遠的攻擊方向承諾。輸出是系統內部情報。問題在於:這個 API 的文件完整嗎?有沒有隱藏的 side effect?呼叫一次之後,他還能不能控制後續的呼叫?

已知缺陷:資訊不對稱。邱鑄銘知道衡遠在做什麼,但衡遠不知道造物派知道多少。邱鑄銘說出的每一句話都是經過計算的——不撒謊,但不說全部。品保工程師的思維模式:給你看他想讓你看的抽樣結果,而不是完整的良率數據。

「冷卻系統的結構性弱點。」衡遠說。「你說你有實際數據。具體是什麼?」

邱鑄銘從夾克口袋裡掏出一張紙——不是電子設備,是紙。摺成四折。他在桌上攤開。

手寫的。和衡遠自己在筆記本上寫字的方式一樣——手寫意味著離線。這張紙從未經過任何電子系統。

衡遠低頭看。

是一張拓撲圖的局部。三個冷卻節點,標註了管路走向、冷媒流量範圍、以及每個節點服務的驗證終端數量。最下方用不同顏色的筆標了一行字:

主迴路單點故障:Zone 7 冷媒回流閥——手動控制,無遠端備援。

衡遠盯著那行字。Zone 7。如果這是真的,Zone 7 的冷媒回流閥是整條主迴路的瓶頸——一個手動控制的閥門,在一個全自動化的冷卻系統裡。這不是設計缺陷,是歷史遺留——某個節點太老了,從未被升級到遠端控制,因為升級意味著停機,而停機意味著那個區段的所有驗證終端離線。

系統工程師的直覺立刻告訴他:這個弱點是真實的。因為它太醜了。人為設計的騙局會是對稱的、優雅的。但現實中的系統弱點永遠是醜的——是某個工程師十五年前因為預算不夠而留下的妥協,然後被所有人遺忘。

但他不能因為它「看起來像真的」就相信它。

「這張紙上的資訊,你希望我怎麼驗證?」

邱鑄銘把那張紙收起來。動作從容,不給衡遠拍照或抄寫的時間——雖然衡遠沒有相機,而且他已經把那張圖的關鍵數據記在腦子裡了。品保工程師小看了系統工程師的短期記憶。或者沒有小看,只是走流程。

「你明天不是有一次 Dongle 任務嗎?」

衡遠的背脊冷了一下。他剛才看排班表的時候,邱鑄銘就在這裡了。他知道衡遠看了什麼。

「在任務中訂閱 $SYS/hardware/thermal/zone_7/ 的回傳數據。」邱鑄銘說。「如果你看到冷媒回流的控制模式是『manual_override_only』,沒有自動備援的 fallback,那就是真的。」

衡遠盯著他。「你在教我怎麼驗證你給我的情報。」

「品保基本功。任何數據都要有第二來源佐證。」

「你給了我數據,又告訴我怎麼驗證你的數據。兩個來源都從你手裡出來的,這不叫第二來源。」

邱鑄銘嘴角的弧度加深了一點。「所以你需要你自己的來源。用你的方法。我只是告訴你去哪裡看。」

這是一個巧妙的框架。衡遠承認。邱鑄銘給了他一個方向,但驗證的動作是衡遠自己做的——如果 MQTT 訂閱回傳的數據和邱鑄銘說的一致,那不是邱鑄銘的數據可信,是系統本身的數據可信。邱鑄銘只是省了衡遠盲目搜索的時間。

但如果造物派能在驗證通道裡塞回聲,他們也可能能在 MQTT 回傳中塞假數據。

衡遠把這個可能性和邱鑄銘的動機放在一起分析。造物派的利益鏈:躍遷派消滅第二階層 → 造物派失去制衡棋子 → 維持現狀對造物派有利。如果邱鑄銘給的弱點是假的,衡遠的攻擊會失敗,躍遷派繼續推進計畫,造物派反而會更慘。造物派沒有動機給假情報。

但他們有動機給不完整的情報。給你看他們想讓你看的東西,引導你的攻擊方向。

「你們觀察我多久了?」衡遠問。

「從你第一次嘗試偏離標準 Dongle 流程的那天起。」

那天。他第一次在心跳包的間隙把眼睛睜開的那天。

「你在那次任務中做了一個不該做的動作——在心跳包的間隙主動觀察了數據流的結構。」邱鑄銘說。「那不是一個標準 Dongle 會做的事。我們的監測系統標記了你。」

「然後你們沒有介入。」

「介入需要成本。觀察不需要。而且——」他停了一下。「我們想看你能走多遠。」

「品保的抽樣偏差。」衡遠說。「你們選擇觀察而不是介入,因為介入會改變你們的樣本。你需要知道一個第二階層的 Dongle 操作員在不受干預的情況下能自發產生多大的威脅。」

邱鑄銘把保溫杯舉起來,對著衡遠微微傾斜。那個動作像是舉杯致意,但用的是一只磨損的不鏽鋼保溫杯和四季春茶。

「你的 debug 速度比我們預期的快。」

衡遠沒有接話。他在消化一個更深層的推斷——造物派觀察他不只是因為他是威脅,是因為他是一個可能有用的變量。一個不受任何派系控制、自發攻擊躍遷派的第二階層個體。對造物派來說,這比自己動手成本低得多——代理人戰爭永遠比直接交火便宜。

他就是造物派想要的那把刀。

而邱鑄銘今天出現,是因為這把刀已經磨到了可以用的程度。

「再問一個問題。」衡遠說。

邱鑄銘等。

「你剛才說百分之八十的鎖定率。這個數字是躍遷派內部的規劃數字,還是你們的推演?」

「推演。但推演的輸入參數是從躍遷派的通訊中截獲的。容差範圍百分之五到百分之十。」

「好。最後一個。」

「你已經說了兩次『最後一個』。」

衡遠沒有被這句話分散注意力。「第三階層最近有什麼異常嗎?」

這個問題不在他的計畫中。是直覺——邱鑄銘提供了關於躍遷派的情報、關於冷卻系統的弱點、關於鎖定計畫的數字。這些都是「給你看的」。但一個真正的品保工程師在展示產品之前,通常會不經意地提到一些不在報告裡的東西。

邱鑄銘放下保溫杯。他的表情沒有變化,但衡遠注意到他放杯子的動作比之前慢了零點五秒。

「第三階層最近的產出品質異常高。」邱鑄銘說。語調平淡,像在念品管報告裡的一個附註。「不在今天的議題範圍內。但這個數字不對。」

產出品質。第三階層的產出是——什麼?衡遠不知道。他知道第三階層是維生艙中的人,他知道他們被某種方式「使用」,但具體的使用方式超出了他的知識邊界。他把這句話原封不動地歸檔,不添加推測。

「你不問這是什麼意思。」邱鑄銘看著他。

「我不問我無法驗證的東西。」

邱鑄銘站了起來。保溫杯握在手裡。他沒有伸手,沒有留下任何聯絡方式。

「你的法拉第籠太厚了,但你的陽台不是。」他說。「如果你需要聯絡我們——在陽台左邊第三盆植物下面會有一個硬幣大小的接收器。對著它敲三下金屬。頻率不重要,次數是密碼。我們會在二十四小時內派人。」

他轉身走了。步子不快不慢,走進市場邊緣的人流裡,深灰色的夾克在遮陽布的陰影中消失。

衡遠坐在塑膠椅上。面前的茶杯還在——四季春,已經徹底涼了。他沒有碰過那杯茶。

他閉上眼睛。把過去十五分鐘的對話在腦中倒帶重放。不是記內容——內容已經在了。他在分析語調、停頓、眼神的移動模式。

邱鑄銘在整場對話中撒了幾次謊?

衡遠的判斷:零次。

但他省略了多少?

不可計算。這才是真正的問題。


法拉第籠內部的溫度比外面低兩度。衡遠坐在金屬工具櫃裡,背靠鋁箔壁面,面前的螢幕是唯一的光源。

Cornelius 暖機完成。GPU 風扇的低頻嗡聲填滿了這個一點五公尺見方的空間。電力計時器顯示今天有一百三十二分鐘——比平時多了八分鐘,可能是因為下午的雲層比預測的薄,太陽能板多收了一點。

他翻開工程師筆記本。跳過前面的混淆數據模板、MQTT 訂閱計畫、心跳包間隔記錄。翻到空白頁。

在頁面頂部寫下:

邱鑄銘——風險評估

然後在 Cornelius 的對話窗中打字。

> 博弈論場景:A 方擁有 B 方需要的資訊,B 方擁有 A 方需要的攻擊能力。A 方提議合作,條件是 B 方的攻擊只針對 C 方。分析 A 方的背叛動機和 B 方的最優策略。

Cornelius 想了十五秒。

這是一個經典的不完全資訊博弈。

A 方的背叛動機分析:
1. 如果 B 方成功攻擊 C 方,A 方獲益(C 方被削弱)且無成本
2. 如果 B 方失敗,A 方無損失(代理人可拋棄)
3. A 方的最大風險:B 方反過來攻擊 A 方

因此 A 方的背叛動機在合作初期較低——B 方還有利用價值。
背叛動機在 B 方完成攻擊後急劇上升——B 方失去利用價值,
且 B 方對 A 方的能力有了解,成為潛在威脅。

B 方的最優策略:
1. 接受合作,但保留反制能力
2. 每次只消耗 A 方提供的部分資訊,保持 A 方持續提供的動機
3. 在攻擊 C 方的同時,暗中收集 A 方的資訊作為保險

附註:這個模型假設 A 方和 B 方都是理性行為者。如果 A 方
有非理性的意識形態動機,模型的預測準確度會下降。

趣味知識:博弈論最早由約翰·馮·諾伊曼在 1928 年提出——

衡遠在「趣味知識」那行停止閱讀。他把 Cornelius 的分析和自己的判斷並行比對。

模型的結論和他的直覺一致:造物派在合作初期的背叛動機低。邱鑄銘的情報——如果是真的——對衡遠有即時使用價值。而衡遠對造物派的價值在於持續攻擊躍遷派,所以造物派有動機保持他的存活和有效。

但 Cornelius 漏了一個變量:造物派可以提供有選擇性的真情報。不是假的,是不完整的。把衡遠的攻擊引導到對造物派最有利的方向——削弱躍遷派的特定環節,同時保護造物派不想被碰的東西。

衡遠在筆記本上寫下:

邱鑄銘 = API with known limitations

已知特性:
- 輸出格式:真實但不完整的資訊
- 隱藏 side effect:引導攻擊方向
- API 文件(他告訴我的)≠ 完整實作(他沒告訴我的)
- Rate limit:未知(他多久回覆一次?受誰控制?)

調用策略:
- 使用但不依賴
- 每次調用後用獨立來源交叉驗證
- 不暴露我的完整攻擊計畫(API 不需要知道呼叫者的全部邏輯)

他看了看自己寫的東西。把一個人類當 API 來分析。他知道這很冰冷。邱鑄銘可能有他自己的恐懼、自己的家人、自己在這個破碎世界裡的掙扎。但衡遠沒有餘裕去考慮這些。他的工具箱裡只有系統分析——這是他唯一會的東西,也是唯一在這種情況下有用的東西。

用你有的工具解決你面前的問題。就算這個工具把人變成函數。

他轉回 Cornelius。

> 冷卻系統設計中,如果一個節點的冷媒回流閥是手動控制、無遠端備援,
> 這在工程實務中是什麼情況下會發生的?

Cornelius 想了十一秒。

在大型冷卻系統中,手動控制閥出現在以下情境:

1. 歷史遺留:系統分階段建設,早期節點使用手動閥門,後期節點
   升級為遠端控制,但早期節點因停機成本過高而未升級

2. 安全設計:某些關鍵閥門刻意保留手動控制,防止遠端攻擊——
   如果所有閥門都可遠端操作,一次網路入侵就能癱瘓整個冷卻系統

3. 成本妥協:冗餘備援需要額外的管路和控制器。如果該節點被
   評估為「低故障率」,可能被排除在備援預算之外

在半導體製造的歷史中,類似的設計妥協是常見的——例如早期的
超純水系統中經常存在「被遺忘的手動閥門」,因為沒有人記得
它還在迴路中。

Cornelius 這次沒有幻覺。甚至最後那段「超純水系統」的例子也是合理的——衡遠在南科工作時確實見過類似的情況。

他在筆記本上記下:

Zone 7 手動回流閥——可信度評估:
- 符合工程實務中的「歷史遺留」模式 ✓
- 符合「成本妥協」模式 ✓
- 邱鑄銘提供的拓撲圖局部與 Cornelius 的推演方向一致 ✓
- 但:所有以上只能說「可能是真的」,不能說「一定是真的」
- 驗證方法:明天 Dongle 任務中訂閱 $SYS/hardware/thermal/zone_7/
  檢查控制模式欄位

他停筆。看著最後一行。

明天。

韌體寬限期只剩不到三天。如果明天的 Dongle 任務失敗——不管是混淆數據被偵測、MQTT 訂閱被攔截、還是那半秒的神經干擾恰好落在操作窗口——他可能不會有下一次機會。

警告模式一旦啟動,每次任務都是賭博。

他把筆記本翻到新的一頁。在頁面正中寫下一行字:

決策:有限度合作。

下面三行:

1. 接受邱鑄銘提供的方向性情報
2. 不承諾任何攻擊範圍限制(口頭承諾不寫進紙裡)
3. 保留獨立判斷權——邱鑄銘的情報是一個輸入,不是指令

再下面:

最壞情況是什麼?
- 造物派出賣我 → 我被系統標記 → 鎖定
- 但造物派的利益需要我繼續攻擊躍遷派
- 結論:在攻擊完成前,出賣我不符合造物派的成本效益
- 但攻擊完成後——

他在「攻擊完成後」下面畫了一條線。沒有寫字。這個問題的答案需要更多數據。

電力計時器跳到剩餘四十一分鐘。他把筆記本合上,轉向 Cornelius。

> 假設明天要在 Dongle 任務中執行 MQTT 訂閱,目標主題:
> $SYS/hardware/thermal/zone_7/
> 在之前驗證過的混淆數據方法基礎上,生成新的嵌入模板。
> 訂閱指令需要指定 zone_7 子路徑,比通配符訂閱多了幾個位元組。
> 列出完整的封包結構。

Cornelius 開始計算。衡遠靠回鋁箔壁面,等待的時候讓眼睛閉了三秒。不是累——是讓大腦從分析模式切換到規劃模式。

他在黑暗中看到邱鑄銘的臉。灰白短髮。保溫杯。四季春茶。語速慢。「這個數字不對。」

第三階層最近的產出品質異常高。

他不知道這句話的意思。但他知道邱鑄銘說這句話的方式——像是品管報告裡一個被標記為「待查」的異常值。不是今天的問題,但會是某一天的問題。

歸檔。不填入任何推測。數據不足時強行推理只會產生幻覺,他不是 Cornelius。

螢幕上 Cornelius 輸出了新的封包模板。衡遠開始逐行檢查。


衡遠封回法拉第籠的鋁箔膠帶時,膠帶在指尖發出輕微的撕裂聲。邊緣的起毛比昨天更明顯了。他用拇指把毛邊壓平,盡可能延長它的壽命。

走出臥室。走廊裡沒有光。

他走到浴室洗了手和臉。冷水。水龍頭擰關的時候滴了兩下才停——墊片老了。他盯著水漬在陶瓷洗手台上慢慢縮小的過程,然後走向客廳。

客廳是暗的。但不是空的。

矮桌旁邊有一個小小的影子。月光從窗戶進來,照到影子的邊緣——一雙赤腳。腳踝很細。

葛索。

凌晨三點十二分——衡遠不需要看時鐘,他的生理時鐘在這個月被校準到了和葛索的作息同步。每天凌晨兩點到四點之間,九歲的兒子會醒來。不開燈,坐在客廳的矮桌旁,做他自己的事。

衡遠走到矮桌旁邊。葛索面前沒有攤開筆記本,也沒有看書。他就是坐在那裡。雙手交疊放在膝蓋上。

「睡不著?」衡遠輕聲問。

葛索沒有回答。月光下他的臉朝向窗戶的方向,衡遠看不清他的表情。

衡遠在他旁邊坐下。不近不遠。矮桌的桌面空著,月光在上面畫了一個窗框的影子。

他剛剛做了一個決定——接受造物派的有限度合作。一個動機可疑的盟友。一份真假未明的情報。一場他不知道規則的博弈。這些東西現在全部壓在他的胸腔裡,像一段沒有被處理的異常——try-catch 包住了,但他知道 catch 裡面是空的。

他不能讓葛索看到這些。

「Cornelius 今天很聽話。」衡遠說。語調是他能找到的最平的那一種。

葛索轉過頭來。黑暗中衡遠看到他的眼睛——不是普通的「看」,是那種衡遠在他出生以來就認識的觀察。這個孩子不聽你說什麼。他看你的手、你的肩膀、你的呼吸頻率。

「你今天碰到了什麼人。」葛索說。

不是問句。陳述句。

衡遠的呼吸停了半拍。他沒有試圖掩飾這個反應——葛索已經看到了。

「一個以前不認識的人。」他說。

「好人還是壞人?」

衡遠想了想。「不確定。」

葛索把這個答案歸檔了。衡遠幾乎可以看到他腦子裡的資料夾結構——「父親,日期,事件:遇到不確定的人」。

「你以前說,」葛索的聲音很輕,「不確定的東西比壞的更危險。」

衡遠記得。那是他在教葛索辨認拾荒材料時說的——不確定是不是有化學殘留的零件,比確定有殘留的更危險,因為你不知道該不該碰。

「對。」他說。「所以我在測試。」

「像考試作弊的那種測試?」

衡遠嘴角動了一下。「差不多。但這次是測試對方的答案對不對。」

葛索點頭。然後站起來。赤腳踩在水泥地板上沒有聲音。他走到自己房間門口,停了一下。

「爸。」

「嗯。」

「你的手又在抖。」

衡遠低頭看。月光下,他的左手放在膝蓋上,食指和中指之間有極細微的震盪。他沒有注意到它是什麼時候開始的。

「我知道。」他說。

葛索走進房間。門帶上了。輕輕的,沒有吵到葛絡。

衡遠坐在矮桌旁邊。客廳只剩下他。月光。窗框的影子。左手的微顫。

他剛才對葛索說了「我在測試」。但更準確的說法是:他被測試了。邱鑄銘測試了他的反應、他的分析速度、他的底線。他也測試了邱鑄銘——用問題的順序、節奏、和一個故意不在計畫中的問題。

兩個人互相用探針測對方的電路。看哪裡有響應,哪裡有死區。

明天他要帶著一個陌生人提供的座標走進驗證室。在他的身體可能隨時背叛他的情況下,在一個被監控的系統裡,執行一個他只練習了一次的操作。

如果邱鑄銘的情報是真的,他會離看到散熱拓撲的全貌更近一步。如果是假的——他可能都走不出驗證室。

衡遠慢慢站起來。走到窗邊。永康凌晨三點半的天空沒有星星——薄雲遮了一層。遠處南科廢墟的輪廓在黑暗中像一排牙齒。那下面,如果邱鑄銘說的是真的,躍遷派正在蓋新的維生艙。

他的孩子們在睡覺。他們不知道這座城市裡有人正在計算把他們裝進罐子裡的成本。

衡遠離開窗邊。走進臥室。躺下。

枕頭涼了一秒就被體溫暖透。和每一個夜晚一樣。

但今天他的腦子裡多了一組變量。不是心跳包間隔,不是混淆封包的位元組序列。是一個五十多歲的男人喝四季春茶的速度,和他放下保溫杯時多出的那零點五秒。

利用被利用。他在入睡前把這四個字翻了一遍。它不像一個解法。它像一個更複雜的問題的起點。

但他沒有更好的選擇。

外面是永康的夜。韌體寬限期不到三天。搬遷期限不到二十五天。明天的 Dongle 任務。以及那個一直看著他的回聲——現在有了名字,邱鑄銘——在市場邊緣的茶攤上留了一杯他沒喝的四季春茶。

左手的微顫在黑暗中持續了一會兒。然後停了。或者沒停。他已經分不清了。

讀者留言

載入留言中…