第3章 第 3 章
溫若棠站在窗邊,指腹在螢幕上輕輕一壓,先把那則簡訊截了圖。她又點進訊息資訊頁,記下收到的時間,像在做一個小小的證據封存:不是為了報警,也不是為了指控誰,只是為了讓自己別在恐懼裡亂了順序。
客廳的燈光沒有變,雨後的濕氣還黏在玻璃上,城市的霓虹在水痕裡暈出一圈又一圈。書房裡鍵盤聲仍規律,像一條穩定的線,提醒她這個晚上至少有一件事還能被掌控。
她深吸一口氣,呼吸在喉間卡了一下,又被她硬生生壓回去。她把那支加密手機握得更緊,往書房走。腳步聲在木地板上很輕,輕得像怕吵醒某個正在維持的平衡。
書房門半掩,門縫裡漏出一條冷白的光。她停在門口,抬手,敲門的動作停在半空,最後只用指節碰了門板一下,像試探。
鍵盤聲停了。
程砚行沒有回頭,只把螢幕上的某個視窗切換到另一個,像把他正在看的東西先藏到能回收的位置,才淡淡開口:「怎麼了?」
溫若棠站在門縫邊,視線先落在他的後頸,再落到他的手上。那雙手在鍵盤上很穩,穩得像任何事情都能被拆成步驟。她忽然想起那則簡訊的最後一句:你知道他做過什麼。那句話像一根細針,扎在她腦子裡最容易疼的地方,讓她一瞬間又回到很多年前。
她把回憶往下按,像按住一個彈起的彈簧。
「你的手機……收到了訊息。」她的聲音很輕,仍舊禮貌,仍舊平整,可尾音有一點點不穩,像她自己也聽得見。
程砚行終於轉過來,椅子沒有往前,只是把身體轉了半圈。目光落在她手裡的手機上,停了一秒,又抬到她臉上。
「給我看。」他說。
她走進去兩步,把手機遞過去。指尖放開的瞬間,她才意識到自己握得太緊,手心一片濕。
程砚行接過去,沒有先看內容,先看時間、發送端,然後把螢幕亮度調高,截了第二張圖。他的動作快而乾淨,像怕證據會蒸發。
「你沒有回?」他問。
「沒有。」她頓了頓,補上一句,「我也沒有封鎖。」
「做對了。」程砚行說完才低頭看內容。那行字在冷光下更刺眼:明天醫院,別帶他進去。你知道他做過什麼。
他看完沒有表情變化,只有喉結微微動了一下,像吞下一口硬東西。接著他把手機放到桌上,打開筆電旁另一台小型設備,把手機用線接上去,螢幕上跳出一排快速滾動的紀錄。
溫若棠站在旁邊,想說的話卡在喉嚨裡。她其實不只想問「怎麼會收到」,她更想問的是那句「你知道他做過什麼」到底指什麼。可她不敢問,像她一旦問了,就等於承認自己也被那句話挑動了。
程砚行看著那些紀錄,眉頭很淡地皺起來。「這不是一般簡訊。」他說。
「什麼意思?」
「看起來像是透過簡訊網關送進來的假系統訊息。」他語氣平平,像在解釋一個漏洞分類,「內容被包成系統格式,降低你的防備。這支手機我做了加密和監控,但簡訊走的是電信層,基頻那一段不是我能完全控的。」
溫若棠的背脊一涼。她不是工程師,但她懂「不是你能完全控」意味著什麼。她努力把聲音維持正常:「所以……他們可以直接傳到你這支手機?」
「有幾種可能。」程砚行說,「一是對方控制了某個簡訊服務供應商,能偽造發送端。二是有人知道這支號碼。」
「知道?」她下意識反問,然後又立刻後悔。因為這問題太像在質問:是不是你不小心?是不是你害我?
程砚行抬眼看她,沒有不耐,只有一種更深的沉。「這支號碼很少人知道。」他說,「我今天拿給你之前,只有兩個地方可能曝光:電信端、或我這裡。」
他沒有說「不可能是我」,也沒有急著替自己辯護。那種不辯護反而更可怕,像他把所有可能都放在桌上,包括他自己。
溫若棠的指尖抖了一下,立刻握住衣角,強迫自己穩住。她想起他剛才說「你本來就被當籌碼」,想起他說「人在害怕時最容易被操控」。她不想成為那個被操控的人。
「那句話……」她終於開口,聲音像被砂紙磨過,「他說別帶你進去,還說……我知道你做過什麼。」
她把最後四個字說得很慢,像不小心就會割到自己。
程砚行看著她,沉默了兩秒。那沉默不是逃避,更像在計算:他要說多少,才不會讓事情失控。
「是挑撥。」他先說,語氣冷靜得像在做威脅建模,「他們要你把我隔開,明天醫院就會變成你的單點故障。你一個人進去,他們就能接觸你,拍你,套話,甚至拿你父親的資料。」
「我知道。」溫若棠的聲音很輕,卻帶著一點固執,「可他用的是那種話。」
程砚行的目光停在她臉上,像第一次真正去讀她的情緒曲線。他說:「你想問的是,這句話有沒有真實的部分。」
溫若棠嘴唇微微發白,沒有點頭也沒有否認,像她只要承認,就會變得很難堪。她怕自己像個不夠堅定的人,怕自己辜負他給她的手機、給她的「看我」。
她用很小的聲音說:「我不想懷疑你。但我也……不是完全沒聽過那種說法。」
程砚行沒有立刻問「哪種說法」。他把那支手機的連線確認完,將螢幕上的幾個欄位框起來,像先把風險降到可控,再處理情緒的爆炸物。
「我先做兩件事。」他說,「第一,這支手機從現在起改成只收白名單。簡訊全部關掉,只留通訊軟體加密通道。第二,我要查這則訊息的路由,至少把發送網關鎖定到供應商級別。」
他說完,看著她,補上一句更像承諾的話:「第三,你不用自己吞。」
那句話沒有安慰的形狀,卻讓溫若棠胸口某個硬結鬆了一點。她沒想到他會把「你不用自己吞」當成方案的一部分。
她喉嚨發緊,仍然先想著不要麻煩他。「我可以自己處理——」
「不可以。」程砚行打斷得很短,像在阻止她把自己推回孤立的舊習慣。他停了停,聲音放低一些,沒那麼硬:「這不是情緒問題。這是攻擊鏈的一段。你自己處理就是照他們想要的做。」
溫若棠被他那句「不可以」震了一下,反而有點想笑,笑自己居然在這種時候還想著體面。她把笑壓下去,改問最實際的:「明天醫院……你說你要安排便衣。那個『R.K』是誰?」
程砚行視線移到通訊錄那個縮寫上,像那兩個字母也有重量。「他叫任開。」他說,「Risk keep的縮寫是他自己取的,喜歡裝。以前做軍規通訊案,後來轉做企業風險顧問。人不壞,嘴也不甜。」
溫若棠聽著「嘴不甜」這四個字,心裡那根緊繃的線又鬆了一點。至少那不是一個會把她當作任務物件的公關人員,而是一個能把她當人看的專業者。
她點點頭,又忽然想到另一個未決定的事情:要不要讓沈予安知道。她的室友嘴毒但眼睛毒,早晚會察覺。她拖著不說,只會讓他用更尖的方式逼她開口。
她咬了下舌尖,轉了個角度:「你今天說要做token輪換跟權限模型調整……你打算怎麼做?」
程砚行的注意力立刻切回技術線,像有了可以抓住的欄位。他把筆電轉過來一些,螢幕上是服務權限的圖,密密麻麻像一張城市地圖。「orion-svc這個服務帳號有非排程喚醒,時間點跟你收到信的時候很接近。現在我懷疑兩件事:第一,token被複製;第二,有人透過外部API端點在做影子調用。」
「影子調用?」
「看起來像正常流量,不會在監控上跳紅。」他說,「所以我要做的不是直接封死,而是做輪換後留一個誘餌token,監控它被用在哪裡。這樣才抓得到跳板。」
溫若棠聽著,心裡浮起一個冷冷的畫面:有人在暗處,像投資人看數據一樣看她的生活,看她的父親,看她每一次呼吸的弱點。
她努力把恐懼收好,讓自己跟得上:「你需要我做什麼?」
程砚行看著她,像在衡量要讓她承擔多少。最後他說:「兩件事。第一,把你父親相關的所有窗口聯絡方式列出來,明天只跟既定窗口接觸,不接陌生人。第二,明天醫院你不要離開我視線太久。」
他說得很像規範,很像SOP。可溫若棠卻從那句「不要離開我視線」聽到一點他不願意承認的在意。
她低頭,指尖摳著衣角,聲音很輕:「你會不會覺得我很麻煩?」
程砚行眉頭微不可察地動了一下,像那句話比攻擊還難處理。他沒有用「不會」這種空的回答,而是說:「你現在的風險會外溢到專案、到公司,也會外溢到我。從管理角度,你不是麻煩,你是關鍵節點。」
溫若棠愣了一下,幾乎要被這種「管理角度」氣笑。她抬眼看他,眼眶有點熱,卻硬是維持那種一貫得體的弧度:「那從非管理角度呢?」
書房裡靜了一秒。鍵盤不響了,風扇的聲音也像變得更遠。程砚行的目光停在她臉上,像他在看一個他不熟悉、也不擅長處理的介面。
他沒有立刻回答,像在搜尋語言。
最後他說:「我不喜歡你一個人扛。」
這句話不像情話,甚至有點笨拙,可它不是方案,是一個人說出來的偏好。溫若棠胸口一酸,差點失守。她迅速別開視線,假裝看桌上的線材,把那份酸意用呼吸壓回去。
「那句『你知道他做過什麼』……」她終於把真正卡住她的東西說出口,「我想起以前……學校的事。」
程砚行沒有催她,也沒有裝作不在意。他只是把椅子往後退一點,讓出空間,像在允許她站在安全距離也能說。
溫若棠的聲音更低了,卻比剛才更真實:「那時候有傳聞說你把某個人逼到轉學。說你很冷,很狠,說你做事不留情。有人問過我,我那時候……我沒有替你說話。」
她說到最後,指尖收緊,像握住一塊多年前的石頭。她一直以為自己那時候只是保持距離,保持聰明,保持不被捲入。但現在那份沉默像回旋鏢,終於回到她手上。
程砚行聽完,沒有立刻否認,也沒有急著解釋。他的眼神在某個瞬間變得很深,像那是他不願碰的舊傷被人輕輕揭了一角。
「那個人叫周驍。」他說,語氣平得像念一個無關緊要的名字,「他沒被我逼轉學。他是被他爸帶走的,因為他爸出事。傳聞是我放出去的嗎?不是。但我也沒澄清。」
溫若棠怔住。「你為什麼不澄清?」
程砚行看著她,像在評估把話說到哪裡會讓自己失控。他最後只說:「因為澄清要跟人解釋很多事。我不擅長。」
這個答案太像他,像他用冷處理保護自己,卻在無形中讓別人誤解他。他停了一下,補上一句更像真相的邊角:「周驍那時候一直逼我做一件事。我拒絕了。他後來在某次衝突裡受傷,大家以為是我弄的。」
溫若棠的心跳漏了一拍。她想問是什麼事,想問受傷的程度,想問他童年創傷跟那件事有沒有關係。但她也知道,逼他一次掀開全部,等於讓他在沒有緩衝的地方赤裸。
她把問題吞回去,只問:「所以那句話是拿這個來戳我?」
「是。」程砚行說得很乾脆,「他們查得到你的社交圖譜,查得到你跟我同校,查得到當年的舊聞。這就是社工攻擊。把你最容易動搖的點找出來,用最短的句子打進去。」
溫若棠的胸口像被一隻看不見的手捏了一下。原來她以為的「我知道一些事」也只是對方選擇讓她知道的資訊碎片。她忽然很憤怒,對那個未知的人,也對自己——她怎麼會被一條訊息就拉回那麼遠的過去。
「我不想再沉默了。」她說,聲音不大,卻很清楚,「明天我跟你去醫院。晚宴我也照你教的口徑說。我不會讓他們用我的害怕把你隔開。」
程砚行看著她,眼神裡有很短的一瞬間像是放鬆,隨即又回到警戒。他點頭,像把她的選擇寫進計畫書裡。「好。」
他伸手把那支手機拿回來,開始設定白名單。螢幕上跳出一串選項,像把世界切成可以信任與不可接觸的兩類。
溫若棠看著他操作,忽然想到另一個必須面對的問題:「沈予安……你覺得要不要讓他知道?」
程砚行的手停了一下。「你想讓他知道多少?」
「一部分。」溫若棠說得很快,像早就排演過,「只說有人針對我們專案、針對我個資,請他明天幫忙看log,看orion-svc的異常。不說我爸的細節,也不說……合約的事。」
程砚行抬眼看她,像在判斷她是不是又在把自己藏起來。溫若棠迎著他的目光,補上更誠實的一句:「我怕他用嘴毒把事情鬧大。但我也知道,他不會真的放著我不管。」
程砚行沉默兩秒,點頭。「可以。讓他看技術,不讓他碰你的家庭。他嘴毒,但腦子好用。」
溫若棠忍不住在心裡替沈予安翻了個白眼:被稱讚「腦子好用」大概算是程砚行能給出的最高評價之一。
她剛拿出自己的手機想傳訊,又想起程砚行之前的提醒,手停住。「我用哪支?」
「用我這支。」程砚行把加密手機推回她面前,「用加密通訊軟體發,不要用簡訊。」
溫若棠點頭,手指在螢幕上敲字。她寫得很克制:明天早上能不能早點到公司?我這邊有些異常log想請你一起看。先別問,見面說。
她按送出後,心口那股浮著的慌沒有消失,但至少有了方向。
程砚行把筆電上的圖拉到另一個頁面,開始列明天的時間表,像把混亂的世界硬拉回日程表裡。「明天六點半出門。你先吃點東西,血糖低更容易慌。醫院進出走西側門,人少。任開會在停車場等,我會先跟他對接暗號。」
「暗號?」溫若棠愣了一下。
「為了確認他不是被冒充。」程砚行說得理所當然,「他會先說一句『今晚的雨太假』,我回『因為有人在改路由』。你聽到就知道是他。」
溫若棠一瞬間不知道該不該笑。她的世界正在崩出裂縫,他卻還能用這種方式把裂縫縫起來。可那種縫補又讓她很想哭,因為他真的把她當成同一條線上的人,而不是被保護的物件。
「晚宴呢?」她問,努力把注意力拉回下一個壓力點,「許婧澄那邊一定還會逼顧問團條款。」
程砚行的眼神冷了一點。「她會。她需要把顧問團做成綁定,讓我們在法務上更難抽身。」他停了一下,補上更直接的判斷,「但今天這種匿名勒索的髒手法,不像她的風格。她更喜歡在檯面上用條件壓人。」
溫若棠聽到「不像她的風格」,心裡那個一直把許婧澄跟威脅畫等號的直覺被稍微撥開了一點。她忽然更不安:如果不是許婧澄,那對方是誰?為什麼知道明天醫院?為什麼知道校園舊聞?為什麼能精準把訊息丟進她手裡?
就在這時,桌上的筆電彈出一個提示視窗,像一聲很小的警報。
程砚行目光一沉,手指飛快敲了幾下,把一段log拉出來。溫若棠看不懂那些代碼,只看見其中一行被他用滑鼠反白:一個外部IP在短時間內對某個端點做了多次探測,來源標記顯示靠近公司所在的商辦區。
「他們在附近。」程砚行說,聲音很低,像怕吵醒什麼,「不是遠端亂槍打鳥。他們在試探我們的邊界。」
溫若棠的胃往下沉。她想起那則簡訊說「明天醫院」,想起對方像能提前知道她的行程。她忽然明白,明天不是單純的陪同,是一次測試,甚至是一個陷阱。
「你要誘捕?」她問,喉嚨發緊。
「要。」程砚行說得很簡短,「但誘捕需要你同意。因為明天的你,是他們最想碰的入口。」
溫若棠看著他,忽然很想說不要,說她只想把父親的事處理好,只想把自己縮回安全距離。可她也知道,縮回去不是安全,是把自己交出去。
她深吸一口氣,把那句一直壓著的話說出來:「我同意。但你也要答應我一件事。」
程砚行抬眼。「說。」
溫若棠把指尖的顫抖藏進掌心,聲音仍禮貌,卻不再完美:「明天如果我害怕,我會說。我說了你不要只給我方案,你要……你要看著我。」
這句話像把她的自律拆了一角,露出裡面真正的需求。她說完就想逃,想把自己塞回禮貌裡,可她沒有退。
程砚行盯著她兩秒,像那是他收到過最難的需求變更。然後他點頭,動作很小,卻很確定。
「我會。」他說。
窗外的車聲遠遠滑過,像城市仍照常運行,沒有誰會因為一對合約同居的男女在書房裡做出這樣的承諾而停下。可溫若棠卻覺得自己的世界在這一刻多了一個支點。
她轉身去倒水,手還在抖。玻璃杯碰到桌面發出一聲輕響,像提醒她她仍是人,不是永遠穩定的產品。
水還沒喝到一口,加密手機震了一下。
不是未知號碼。是沈予安回覆了。
他只回了六個字:明早六點,公司。
溫若棠看著那行字,忽然有點鼻酸。沈予安從來不會問你「你還好嗎」,他只會用最不浪費的方式出現,然後用嘴毒把你逼回現實。
她把手機遞給程砚行看了一眼。
程砚行「嗯」了一聲,像把這個變數也納入排程。他伸手拿起自己的外套,掛在椅背上,又把筆電合上一半,像終於允許今晚暫時收線。
「去睡。」他說,「你明天要進戰場,不能先在這裡耗掉。」
溫若棠站在原地沒動。她看著他合上筆電的動作,忽然想到那句挑撥的話,想到自己剛才問出的「非管理角度」。她不確定自己還能不能再問更多,可她怕自己不問,就又會回到沉默。
「程砚行。」她叫他。
他抬眼。
她把話說得很慢,像在走鋼索:「如果明天真的有人在醫院等我,真的有人拿你那件事來逼我,你要我怎麼回?」
程砚行看著她,眼神很沉。「你不用替我辯護。」他說,「你只要做一件事:不要跟任何人單獨講話。你把對方說的每一句記下來,交給我。我會處理。」
他停了一下,像覺得這樣還不夠,終於又補上一句不是方案的話:「還有,不管你聽到什麼,你可以先相信我一晚。」
溫若棠的心臟猛地一跳。她不知道這句話對他來說有多難,因為這等於把他最怕的親密風險丟到桌上,請她握住。
她點頭,喉嚨發緊,卻沒有讓眼淚掉下來。「好。」
她轉身走向臥室,走到門口時又停住,回頭看了一眼書房。程砚行沒有再敲鍵盤,只是站在窗邊看著外面,像在看一條看不見的線從這棟大樓拉出去,拉到公司附近的跳板,拉到明天的醫院,拉到晚宴的燈光裡。
那背影很冷,但也很穩。
溫若棠把門輕輕帶上,靠著門板,才讓自己短暫地喘一口氣。她握著加密手機,指腹還留著剛才截圖的那種微小麻木。她知道對方想要她懷疑,想要她把程砚行隔開,想要她回到那個只會懂事的版本。
可她也知道,明天開始,她要學著做另一種人:不是被操控的節點,而是能跟他並肩的那個人。
手機螢幕暗下去前,她忽然注意到一個細節:那則未知簡訊的時間,剛好卡在程砚行把手機交到她手裡後不久,精準得像對方在某個地方看著。
看著她接過那支手機的瞬間。
她的指尖一冷,像摸到一條藏在黑暗裡的線。
而那條線,正牽向明天清晨的醫院門口。
客廳的燈光沒有變,雨後的濕氣還黏在玻璃上,城市的霓虹在水痕裡暈出一圈又一圈。書房裡鍵盤聲仍規律,像一條穩定的線,提醒她這個晚上至少有一件事還能被掌控。
她深吸一口氣,呼吸在喉間卡了一下,又被她硬生生壓回去。她把那支加密手機握得更緊,往書房走。腳步聲在木地板上很輕,輕得像怕吵醒某個正在維持的平衡。
書房門半掩,門縫裡漏出一條冷白的光。她停在門口,抬手,敲門的動作停在半空,最後只用指節碰了門板一下,像試探。
鍵盤聲停了。
程砚行沒有回頭,只把螢幕上的某個視窗切換到另一個,像把他正在看的東西先藏到能回收的位置,才淡淡開口:「怎麼了?」
溫若棠站在門縫邊,視線先落在他的後頸,再落到他的手上。那雙手在鍵盤上很穩,穩得像任何事情都能被拆成步驟。她忽然想起那則簡訊的最後一句:你知道他做過什麼。那句話像一根細針,扎在她腦子裡最容易疼的地方,讓她一瞬間又回到很多年前。
她把回憶往下按,像按住一個彈起的彈簧。
「你的手機……收到了訊息。」她的聲音很輕,仍舊禮貌,仍舊平整,可尾音有一點點不穩,像她自己也聽得見。
程砚行終於轉過來,椅子沒有往前,只是把身體轉了半圈。目光落在她手裡的手機上,停了一秒,又抬到她臉上。
「給我看。」他說。
她走進去兩步,把手機遞過去。指尖放開的瞬間,她才意識到自己握得太緊,手心一片濕。
程砚行接過去,沒有先看內容,先看時間、發送端,然後把螢幕亮度調高,截了第二張圖。他的動作快而乾淨,像怕證據會蒸發。
「你沒有回?」他問。
「沒有。」她頓了頓,補上一句,「我也沒有封鎖。」
「做對了。」程砚行說完才低頭看內容。那行字在冷光下更刺眼:明天醫院,別帶他進去。你知道他做過什麼。
他看完沒有表情變化,只有喉結微微動了一下,像吞下一口硬東西。接著他把手機放到桌上,打開筆電旁另一台小型設備,把手機用線接上去,螢幕上跳出一排快速滾動的紀錄。
溫若棠站在旁邊,想說的話卡在喉嚨裡。她其實不只想問「怎麼會收到」,她更想問的是那句「你知道他做過什麼」到底指什麼。可她不敢問,像她一旦問了,就等於承認自己也被那句話挑動了。
程砚行看著那些紀錄,眉頭很淡地皺起來。「這不是一般簡訊。」他說。
「什麼意思?」
「看起來像是透過簡訊網關送進來的假系統訊息。」他語氣平平,像在解釋一個漏洞分類,「內容被包成系統格式,降低你的防備。這支手機我做了加密和監控,但簡訊走的是電信層,基頻那一段不是我能完全控的。」
溫若棠的背脊一涼。她不是工程師,但她懂「不是你能完全控」意味著什麼。她努力把聲音維持正常:「所以……他們可以直接傳到你這支手機?」
「有幾種可能。」程砚行說,「一是對方控制了某個簡訊服務供應商,能偽造發送端。二是有人知道這支號碼。」
「知道?」她下意識反問,然後又立刻後悔。因為這問題太像在質問:是不是你不小心?是不是你害我?
程砚行抬眼看她,沒有不耐,只有一種更深的沉。「這支號碼很少人知道。」他說,「我今天拿給你之前,只有兩個地方可能曝光:電信端、或我這裡。」
他沒有說「不可能是我」,也沒有急著替自己辯護。那種不辯護反而更可怕,像他把所有可能都放在桌上,包括他自己。
溫若棠的指尖抖了一下,立刻握住衣角,強迫自己穩住。她想起他剛才說「你本來就被當籌碼」,想起他說「人在害怕時最容易被操控」。她不想成為那個被操控的人。
「那句話……」她終於開口,聲音像被砂紙磨過,「他說別帶你進去,還說……我知道你做過什麼。」
她把最後四個字說得很慢,像不小心就會割到自己。
程砚行看著她,沉默了兩秒。那沉默不是逃避,更像在計算:他要說多少,才不會讓事情失控。
「是挑撥。」他先說,語氣冷靜得像在做威脅建模,「他們要你把我隔開,明天醫院就會變成你的單點故障。你一個人進去,他們就能接觸你,拍你,套話,甚至拿你父親的資料。」
「我知道。」溫若棠的聲音很輕,卻帶著一點固執,「可他用的是那種話。」
程砚行的目光停在她臉上,像第一次真正去讀她的情緒曲線。他說:「你想問的是,這句話有沒有真實的部分。」
溫若棠嘴唇微微發白,沒有點頭也沒有否認,像她只要承認,就會變得很難堪。她怕自己像個不夠堅定的人,怕自己辜負他給她的手機、給她的「看我」。
她用很小的聲音說:「我不想懷疑你。但我也……不是完全沒聽過那種說法。」
程砚行沒有立刻問「哪種說法」。他把那支手機的連線確認完,將螢幕上的幾個欄位框起來,像先把風險降到可控,再處理情緒的爆炸物。
「我先做兩件事。」他說,「第一,這支手機從現在起改成只收白名單。簡訊全部關掉,只留通訊軟體加密通道。第二,我要查這則訊息的路由,至少把發送網關鎖定到供應商級別。」
他說完,看著她,補上一句更像承諾的話:「第三,你不用自己吞。」
那句話沒有安慰的形狀,卻讓溫若棠胸口某個硬結鬆了一點。她沒想到他會把「你不用自己吞」當成方案的一部分。
她喉嚨發緊,仍然先想著不要麻煩他。「我可以自己處理——」
「不可以。」程砚行打斷得很短,像在阻止她把自己推回孤立的舊習慣。他停了停,聲音放低一些,沒那麼硬:「這不是情緒問題。這是攻擊鏈的一段。你自己處理就是照他們想要的做。」
溫若棠被他那句「不可以」震了一下,反而有點想笑,笑自己居然在這種時候還想著體面。她把笑壓下去,改問最實際的:「明天醫院……你說你要安排便衣。那個『R.K』是誰?」
程砚行視線移到通訊錄那個縮寫上,像那兩個字母也有重量。「他叫任開。」他說,「Risk keep的縮寫是他自己取的,喜歡裝。以前做軍規通訊案,後來轉做企業風險顧問。人不壞,嘴也不甜。」
溫若棠聽著「嘴不甜」這四個字,心裡那根緊繃的線又鬆了一點。至少那不是一個會把她當作任務物件的公關人員,而是一個能把她當人看的專業者。
她點點頭,又忽然想到另一個未決定的事情:要不要讓沈予安知道。她的室友嘴毒但眼睛毒,早晚會察覺。她拖著不說,只會讓他用更尖的方式逼她開口。
她咬了下舌尖,轉了個角度:「你今天說要做token輪換跟權限模型調整……你打算怎麼做?」
程砚行的注意力立刻切回技術線,像有了可以抓住的欄位。他把筆電轉過來一些,螢幕上是服務權限的圖,密密麻麻像一張城市地圖。「orion-svc這個服務帳號有非排程喚醒,時間點跟你收到信的時候很接近。現在我懷疑兩件事:第一,token被複製;第二,有人透過外部API端點在做影子調用。」
「影子調用?」
「看起來像正常流量,不會在監控上跳紅。」他說,「所以我要做的不是直接封死,而是做輪換後留一個誘餌token,監控它被用在哪裡。這樣才抓得到跳板。」
溫若棠聽著,心裡浮起一個冷冷的畫面:有人在暗處,像投資人看數據一樣看她的生活,看她的父親,看她每一次呼吸的弱點。
她努力把恐懼收好,讓自己跟得上:「你需要我做什麼?」
程砚行看著她,像在衡量要讓她承擔多少。最後他說:「兩件事。第一,把你父親相關的所有窗口聯絡方式列出來,明天只跟既定窗口接觸,不接陌生人。第二,明天醫院你不要離開我視線太久。」
他說得很像規範,很像SOP。可溫若棠卻從那句「不要離開我視線」聽到一點他不願意承認的在意。
她低頭,指尖摳著衣角,聲音很輕:「你會不會覺得我很麻煩?」
程砚行眉頭微不可察地動了一下,像那句話比攻擊還難處理。他沒有用「不會」這種空的回答,而是說:「你現在的風險會外溢到專案、到公司,也會外溢到我。從管理角度,你不是麻煩,你是關鍵節點。」
溫若棠愣了一下,幾乎要被這種「管理角度」氣笑。她抬眼看他,眼眶有點熱,卻硬是維持那種一貫得體的弧度:「那從非管理角度呢?」
書房裡靜了一秒。鍵盤不響了,風扇的聲音也像變得更遠。程砚行的目光停在她臉上,像他在看一個他不熟悉、也不擅長處理的介面。
他沒有立刻回答,像在搜尋語言。
最後他說:「我不喜歡你一個人扛。」
這句話不像情話,甚至有點笨拙,可它不是方案,是一個人說出來的偏好。溫若棠胸口一酸,差點失守。她迅速別開視線,假裝看桌上的線材,把那份酸意用呼吸壓回去。
「那句『你知道他做過什麼』……」她終於把真正卡住她的東西說出口,「我想起以前……學校的事。」
程砚行沒有催她,也沒有裝作不在意。他只是把椅子往後退一點,讓出空間,像在允許她站在安全距離也能說。
溫若棠的聲音更低了,卻比剛才更真實:「那時候有傳聞說你把某個人逼到轉學。說你很冷,很狠,說你做事不留情。有人問過我,我那時候……我沒有替你說話。」
她說到最後,指尖收緊,像握住一塊多年前的石頭。她一直以為自己那時候只是保持距離,保持聰明,保持不被捲入。但現在那份沉默像回旋鏢,終於回到她手上。
程砚行聽完,沒有立刻否認,也沒有急著解釋。他的眼神在某個瞬間變得很深,像那是他不願碰的舊傷被人輕輕揭了一角。
「那個人叫周驍。」他說,語氣平得像念一個無關緊要的名字,「他沒被我逼轉學。他是被他爸帶走的,因為他爸出事。傳聞是我放出去的嗎?不是。但我也沒澄清。」
溫若棠怔住。「你為什麼不澄清?」
程砚行看著她,像在評估把話說到哪裡會讓自己失控。他最後只說:「因為澄清要跟人解釋很多事。我不擅長。」
這個答案太像他,像他用冷處理保護自己,卻在無形中讓別人誤解他。他停了一下,補上一句更像真相的邊角:「周驍那時候一直逼我做一件事。我拒絕了。他後來在某次衝突裡受傷,大家以為是我弄的。」
溫若棠的心跳漏了一拍。她想問是什麼事,想問受傷的程度,想問他童年創傷跟那件事有沒有關係。但她也知道,逼他一次掀開全部,等於讓他在沒有緩衝的地方赤裸。
她把問題吞回去,只問:「所以那句話是拿這個來戳我?」
「是。」程砚行說得很乾脆,「他們查得到你的社交圖譜,查得到你跟我同校,查得到當年的舊聞。這就是社工攻擊。把你最容易動搖的點找出來,用最短的句子打進去。」
溫若棠的胸口像被一隻看不見的手捏了一下。原來她以為的「我知道一些事」也只是對方選擇讓她知道的資訊碎片。她忽然很憤怒,對那個未知的人,也對自己——她怎麼會被一條訊息就拉回那麼遠的過去。
「我不想再沉默了。」她說,聲音不大,卻很清楚,「明天我跟你去醫院。晚宴我也照你教的口徑說。我不會讓他們用我的害怕把你隔開。」
程砚行看著她,眼神裡有很短的一瞬間像是放鬆,隨即又回到警戒。他點頭,像把她的選擇寫進計畫書裡。「好。」
他伸手把那支手機拿回來,開始設定白名單。螢幕上跳出一串選項,像把世界切成可以信任與不可接觸的兩類。
溫若棠看著他操作,忽然想到另一個必須面對的問題:「沈予安……你覺得要不要讓他知道?」
程砚行的手停了一下。「你想讓他知道多少?」
「一部分。」溫若棠說得很快,像早就排演過,「只說有人針對我們專案、針對我個資,請他明天幫忙看log,看orion-svc的異常。不說我爸的細節,也不說……合約的事。」
程砚行抬眼看她,像在判斷她是不是又在把自己藏起來。溫若棠迎著他的目光,補上更誠實的一句:「我怕他用嘴毒把事情鬧大。但我也知道,他不會真的放著我不管。」
程砚行沉默兩秒,點頭。「可以。讓他看技術,不讓他碰你的家庭。他嘴毒,但腦子好用。」
溫若棠忍不住在心裡替沈予安翻了個白眼:被稱讚「腦子好用」大概算是程砚行能給出的最高評價之一。
她剛拿出自己的手機想傳訊,又想起程砚行之前的提醒,手停住。「我用哪支?」
「用我這支。」程砚行把加密手機推回她面前,「用加密通訊軟體發,不要用簡訊。」
溫若棠點頭,手指在螢幕上敲字。她寫得很克制:明天早上能不能早點到公司?我這邊有些異常log想請你一起看。先別問,見面說。
她按送出後,心口那股浮著的慌沒有消失,但至少有了方向。
程砚行把筆電上的圖拉到另一個頁面,開始列明天的時間表,像把混亂的世界硬拉回日程表裡。「明天六點半出門。你先吃點東西,血糖低更容易慌。醫院進出走西側門,人少。任開會在停車場等,我會先跟他對接暗號。」
「暗號?」溫若棠愣了一下。
「為了確認他不是被冒充。」程砚行說得理所當然,「他會先說一句『今晚的雨太假』,我回『因為有人在改路由』。你聽到就知道是他。」
溫若棠一瞬間不知道該不該笑。她的世界正在崩出裂縫,他卻還能用這種方式把裂縫縫起來。可那種縫補又讓她很想哭,因為他真的把她當成同一條線上的人,而不是被保護的物件。
「晚宴呢?」她問,努力把注意力拉回下一個壓力點,「許婧澄那邊一定還會逼顧問團條款。」
程砚行的眼神冷了一點。「她會。她需要把顧問團做成綁定,讓我們在法務上更難抽身。」他停了一下,補上更直接的判斷,「但今天這種匿名勒索的髒手法,不像她的風格。她更喜歡在檯面上用條件壓人。」
溫若棠聽到「不像她的風格」,心裡那個一直把許婧澄跟威脅畫等號的直覺被稍微撥開了一點。她忽然更不安:如果不是許婧澄,那對方是誰?為什麼知道明天醫院?為什麼知道校園舊聞?為什麼能精準把訊息丟進她手裡?
就在這時,桌上的筆電彈出一個提示視窗,像一聲很小的警報。
程砚行目光一沉,手指飛快敲了幾下,把一段log拉出來。溫若棠看不懂那些代碼,只看見其中一行被他用滑鼠反白:一個外部IP在短時間內對某個端點做了多次探測,來源標記顯示靠近公司所在的商辦區。
「他們在附近。」程砚行說,聲音很低,像怕吵醒什麼,「不是遠端亂槍打鳥。他們在試探我們的邊界。」
溫若棠的胃往下沉。她想起那則簡訊說「明天醫院」,想起對方像能提前知道她的行程。她忽然明白,明天不是單純的陪同,是一次測試,甚至是一個陷阱。
「你要誘捕?」她問,喉嚨發緊。
「要。」程砚行說得很簡短,「但誘捕需要你同意。因為明天的你,是他們最想碰的入口。」
溫若棠看著他,忽然很想說不要,說她只想把父親的事處理好,只想把自己縮回安全距離。可她也知道,縮回去不是安全,是把自己交出去。
她深吸一口氣,把那句一直壓著的話說出來:「我同意。但你也要答應我一件事。」
程砚行抬眼。「說。」
溫若棠把指尖的顫抖藏進掌心,聲音仍禮貌,卻不再完美:「明天如果我害怕,我會說。我說了你不要只給我方案,你要……你要看著我。」
這句話像把她的自律拆了一角,露出裡面真正的需求。她說完就想逃,想把自己塞回禮貌裡,可她沒有退。
程砚行盯著她兩秒,像那是他收到過最難的需求變更。然後他點頭,動作很小,卻很確定。
「我會。」他說。
窗外的車聲遠遠滑過,像城市仍照常運行,沒有誰會因為一對合約同居的男女在書房裡做出這樣的承諾而停下。可溫若棠卻覺得自己的世界在這一刻多了一個支點。
她轉身去倒水,手還在抖。玻璃杯碰到桌面發出一聲輕響,像提醒她她仍是人,不是永遠穩定的產品。
水還沒喝到一口,加密手機震了一下。
不是未知號碼。是沈予安回覆了。
他只回了六個字:明早六點,公司。
溫若棠看著那行字,忽然有點鼻酸。沈予安從來不會問你「你還好嗎」,他只會用最不浪費的方式出現,然後用嘴毒把你逼回現實。
她把手機遞給程砚行看了一眼。
程砚行「嗯」了一聲,像把這個變數也納入排程。他伸手拿起自己的外套,掛在椅背上,又把筆電合上一半,像終於允許今晚暫時收線。
「去睡。」他說,「你明天要進戰場,不能先在這裡耗掉。」
溫若棠站在原地沒動。她看著他合上筆電的動作,忽然想到那句挑撥的話,想到自己剛才問出的「非管理角度」。她不確定自己還能不能再問更多,可她怕自己不問,就又會回到沉默。
「程砚行。」她叫他。
他抬眼。
她把話說得很慢,像在走鋼索:「如果明天真的有人在醫院等我,真的有人拿你那件事來逼我,你要我怎麼回?」
程砚行看著她,眼神很沉。「你不用替我辯護。」他說,「你只要做一件事:不要跟任何人單獨講話。你把對方說的每一句記下來,交給我。我會處理。」
他停了一下,像覺得這樣還不夠,終於又補上一句不是方案的話:「還有,不管你聽到什麼,你可以先相信我一晚。」
溫若棠的心臟猛地一跳。她不知道這句話對他來說有多難,因為這等於把他最怕的親密風險丟到桌上,請她握住。
她點頭,喉嚨發緊,卻沒有讓眼淚掉下來。「好。」
她轉身走向臥室,走到門口時又停住,回頭看了一眼書房。程砚行沒有再敲鍵盤,只是站在窗邊看著外面,像在看一條看不見的線從這棟大樓拉出去,拉到公司附近的跳板,拉到明天的醫院,拉到晚宴的燈光裡。
那背影很冷,但也很穩。
溫若棠把門輕輕帶上,靠著門板,才讓自己短暫地喘一口氣。她握著加密手機,指腹還留著剛才截圖的那種微小麻木。她知道對方想要她懷疑,想要她把程砚行隔開,想要她回到那個只會懂事的版本。
可她也知道,明天開始,她要學著做另一種人:不是被操控的節點,而是能跟他並肩的那個人。
手機螢幕暗下去前,她忽然注意到一個細節:那則未知簡訊的時間,剛好卡在程砚行把手機交到她手裡後不久,精準得像對方在某個地方看著。
看著她接過那支手機的瞬間。
她的指尖一冷,像摸到一條藏在黑暗裡的線。
而那條線,正牽向明天清晨的醫院門口。
— 本章完 —
下一章:第4章 第 4 章
讀者留言 (0)
還沒有留言,來當第一個吧!