第12章 第 12 章
門把先震了一下,很輕,像有人用指節試探金屬的耐性。接著是第二下,力道變得平均,規律得像工廠的節拍器。門縫最上緣被擠出一絲冷,冷氣從密封條縫裡鑽出來,帶著霧夜的濕,像外頭那層霧想鑽進來占領機房。
「奉董事會緊急指令,立即接管節點機房,請開門配合。」
聲音隔著門板仍然清楚,語尾不抬不落,像宣判而不是協商。
機房內的風扇噪音沒有任何變化,只有KVM那顆藍燈亮得太穩,像一隻不會眨眼的眼。三台異常機櫃的指示燈維持陰沉節奏,綠一短、暗一長,像有人在遠端扣著它們的脈。
知夏盯著螢幕上滾動的「只讀合併演算」結果。比對像河流往下沖,哈希、時間戳、簽名鏈、區塊高度、交易序列,密密麻麻,任何一個字母錯位都能把真相變成謊。她掌心的冷汗被空調吹得發緊,指尖卻穩,沒有碰那個「同意」鍵。
祁承站在門口攝像頭前,背挺得很直,像把自己釘在那條他剛學會的規矩上。他按著祁雲岫給他的錄音鍵,喉結滾了一下,聲音仍發顫,字卻咬得很清楚:「請報姓名、單位、工單號。對著門口攝像頭念。並出示原件證件。」
門外那人短促笑了一聲,笑裡沒溫度:「小祁先生,這是董事會指令。」
祁承的手指更用力,像怕自己一鬆就會退回那個被操控的角色:「我現在是見證人。你不報,就算你把門撞開,程序也會把你留下。」
季崇在操作台旁,眼神在門與螢幕之間來回,像同時看兩個深渦。一邊是權力,一邊是證據。他的聲音壓得很低,對知夏說:「他們可能會走消防緊急解鎖。你這個演算還要多久?」
「三分鐘內出可用結論,」知夏沒抬頭,像在回報工序,「前提是他們別讓機櫃重啟。」
她話音剛落,門把又震了一下,這次帶著試圖扭動的力道。密封條發出一聲極細的吱,像膠被拉扯。
祁承對著門外更大聲:「再一次,報姓名、單位、工單號。你不報,我就按資安事件拒絕配合,並將你拒報行為上鏈。」
外頭靜了兩秒,像有人在衡量。然後一個新的聲音接上來,刻意放柔,像要把人從規矩裡哄出來:「內控稽核組,徐澤,工單號……」
他報了一串數字,念得很快,像怕念慢了會被抓住漏洞。祁承立刻打斷:「慢一點。再念一遍,逐字念。並請把工單原件貼門口玻璃,讓攝像頭拍清楚。」
外頭的呼吸重了一下。紙張摩擦玻璃的聲音傳進來,像有人不情不願把一張文件壓上去。祁承把攝像頭角度微調,讓工單的抬頭、印章、日期都入鏡。他的手抖得厲害,卻沒有縮回去。
知夏分出一線注意力去聽,心裡卻在算:工單有了,還差原件證件,還差那個最關鍵的跳板紀錄。她眼角瞥向季崇:「你說要走流程。那就把內控封存箱的開啟紀錄、board-emg憑證取用紀錄拿出來。現在。別等他們把你也算進去。」
季崇的嘴唇抿緊。他一向擅長站在制度的陰影裡講理,講到最後讓所有人都變成「程序的一部分」。可此刻程序正被人拿來當刀。他看著螢幕上那串「來源簽名:board-emg」,喉結動了動:「我沒有封存箱最高權限。內控室主任有。」
知夏冷聲:「那就叫他來報名、報工單。讓他把封存箱的開啟紀錄上鏈。你敢不敢打電話?」
季崇沉默一瞬,像被逼到了選擇題的答案格。他終於拿起手機,撥了一個號。鈴聲響到第三下才被接起,對面的人聲音很乾:「季主管?今晚不是……」
「內控封存箱,board-emg憑證,誰開過?」季崇問得直接,像把所有修飾都拔掉,「現在董事會要接管節點機房。你不把紀錄拿出來,明天你就準備跟顧行舟一起上新聞。」
電話那頭沉了沉,像終於聽懂他不是來請示的:「你們在哪?」
「節點機房門內。」季崇說,「要你到門口,對著鏡頭報名,帶封存箱開啟紀錄原件。現在。」
他掛斷電話的手有一瞬在抖,抖得比他平常更像個人。知夏沒給他喘息,回到螢幕上。比對河流忽然跳出一行紅色警示,字很短,卻像一根釘子打進牆裡:
時間戳偏移:0.8秒,連續23筆,同向一致。
她的眼神一凝。她見過這種偏移。不是機器抖動,是有人把一批交易先在別處包好,再搬進來,像把魚先腌過再拿來說是現殺。
接著第二行警示跳出:
簽名鏈斷裂,重簽憑證指紋與第三方風控模板簽名同源。
知夏的背脊瞬間發涼,卻也瞬間穩了。她把那兩行警示截取成「可驗證結論摘要」,不公布細節,只公布可比對的指紋集合與偏移特徵,立刻推到法務節點。螢幕提示跳出:摘要已上鏈,等待法務節點回簽。
門外又有人敲門,敲得更急。那個自稱徐澤的聲音不再柔,變得硬:「你們已經看到工單。請立即開門。拖延視為抗命。」
祁承深吸一口氣,像把恐懼壓進肋骨間:「工單有效性需要雙簽。請出示你本人證件原件,貼玻璃。並說明接管依據條款與接管範圍。你只說董事會,不說條款,就是空口。」
外頭傳來一陣衣料摩擦聲,像有人被逼得把皮包翻開。片刻後,一張證件被拍在玻璃上,照片略模糊,像臨時印的。祁承看了一眼,心口發緊,仍然照規矩念出:「證件號末四碼……四七三二。請你本人對著鏡頭念一遍你的姓名與證件號末四碼。」
外頭那人咬著牙念了。祁承按著錄音鍵,聲音穩了一點:「已錄。請你再說一遍,接管依據條款與接管範圍。」
對方沉默了半秒,像沒料到這個平常被當成棋子的年輕人真的敢一條條問。他終於丟出一句:「依公司緊急事件處置條例第九條。接管範圍,節點機房所有設備與操作權。」
知夏在操作台前冷笑,笑意不大,卻很冷。她終於抬頭,對著門板說,聲音不高卻能穿過風扇噪音:「第九條我背得比你熟。緊急事件處置接管,前提是『事件未被控制、且存在立即擴散風險』。我們已封存、已隔離、已雙簽錄影、已只讀驗算,風險被控制。你要接管可以,請你先把董事會緊急授權書原件上鏈,簽名人名單上鏈,並由法務節點回簽。否則你這叫強行奪證。」
門外有人低聲罵了一句,像在罵她嘴硬。隨即那個徐澤的聲音換了個角度,像要從情理切入:「林工,你這樣只會讓祁總更難。明天九點董事會要公開鑑定,媒體已經在路上。你們現在把事情弄得這麼僵,最後受傷的是誰,你自己想。」
知夏沒接他的恐嚇,反而像抓住他露出的尾巴:「媒體在路上?誰通知的?緊急事件處置條例不允許未定性前對外擴散。你剛才那句話,足夠讓主管機關介入。麻煩你再說一次,對著鏡頭。」
門外那人噎住。祁承趁機把那段話重播一遍,按下「標記」,讓錄音自動生成哈希指紋上鏈。那一瞬,他的手還在抖,但眼神第一次像是有了重量。
季崇看著知夏的操作,忽然低聲說:「你這樣會把事情推到無法收拾。」
知夏回他一句,乾脆得像扳手落下:「早就無法收拾了,是你們以前一直假裝能。」
螢幕上,法務節點回簽彈出,像一枚冷硬的印章蓋下來:摘要成立,可作仲裁保全。知夏立刻把回簽哈希再推送到平台端公告,仍然克制,卻足以讓任何想把鍋甩給養老站的人先停手。
同一時間,她手機震動一下,是賀清婉的來電。知夏按下免提,清婉的聲音從喇叭裡傳出來,依舊溫吞,卻每個字都像針線一樣把網織起來:「他們剛才帶著臨時查核函來,說要進養老站機房看節點。我讓他們先把函件掃描給我,然後問了三件事:第一,查核單位抬頭是誰;第二,有沒有載明查核範圍包含『老人個資』;第三,陪同人員名單與證號。結果他們的函件抬頭用的是協會,不是主管機關,還把範圍寫成『全項』,這在我們這種有個資的場域是不成立的。」
知夏心口一鬆,卻仍硬:「你撐得住嗎?」
「撐得住。」清婉輕聲說,「我已經報警備案,理由是陌生人持不明查核函要求進入含個資設備間。我也通知真正的社會局窗口,請他們出正式回函,走明天白天流程。還有,老人們我都安撫好了,說只是設備檢修,沒有任何人會被打擾。你放心,老人不是他們的盾牌。」
知夏閉了閉眼,喉頭發熱:「謝了。」
清婉停了一下,像在等她把情緒吞回去,才又補上一句更狠的:「另外,剛才有媒體想進來拍。我讓他們在門口的訪客登記簿上簽名、留名片、留拍攝計畫,並告知我們場域有未成年人家屬探視與老人個資,未經同意拍攝我會提告。他們退了。但我把他們的名片也封存了,照片、時間戳都有。你那邊如果有人說『媒體在路上』,就對得上。」
知夏看向門口的祁承,祁承也看向她,兩人的眼神在空調風裡碰了一下,像共同確認:對方真的在用同一份劇本。
通話掛斷的下一秒,知夏手機又彈出祁雲岫的訊息,只有幾個字:我抓到聲明包的出處。別開門。拖到我到。
緊接著是一個節點路由截圖和一串權限ID。知夏眼皮一跳,那串ID她見過,屬於集團「對外公關發布」的簽名權限池,本該與法務隔離,卻被用來上鏈「公開聲明包」。而那個提交端的內網IP段,不在備援大樓,反而在一個對外租用的共用辦公區,地址正是顧行舟名下投資的基金辦公室樓層。
她把手機遞給季崇看,聲音平平:「看清楚了嗎?這不是『內控失誤』,是有人故意把聲明包丟出去,逼明早九點表決。」
季崇的臉色一點點白下去。他想說什麼,嘴唇動了動,最後只吐出一句:「這個……可以當成線索,但要坐實,還差跳板機紀錄。還差VPN工單原件。」
知夏盯著他:「你知道在哪。」
季崇沉默像一道牆。門外的敲門聲忽然停了,取而代之的是更低的交談聲,像有人在商量換一種進門方式。祁承吞了口口水,仍把錄音鍵按住,像按住一枚即將炸的雷。
就在這時,走道裡傳來電梯到站的叮聲,接著是一串急促但乾淨的高跟鞋聲,踩在玻璃走道上,節奏利落得像裁決。那腳步停在門前,有人不大不小地說:「內控主任,周啟明。工單原件在此。封存箱開啟紀錄在此。請門內確認接收方式。」
祁承像被這個名字打了一針強心劑,立刻把攝像頭對準玻璃:「請你對鏡頭報姓名、職務、證件末四碼。並說明你帶來的資料內容。」
外頭那人一板一眼照做,還把一份厚厚的紙本貼上玻璃,手指點著其中一行:「今晚19:58封存箱被開啟一次,取出board-emg應急憑證。取用人簽名……」他停了一下,像也覺得荒謬,「顧行舟特助,韓沅。備註:董事會授權。」
門內三人同時靜了一瞬。風扇噪音像突然變得更大,把那句名字吹得更冷。
門外那個徐澤立刻插話,聲音拔高:「周主任,你不要被他們帶偏。董事會授權合法合規。現在請開門,讓我們接管!」
周啟明沒理他,反而對著門內說:「依制度,應急憑證取用需法務回簽。你們有回簽嗎?」
知夏把法務節點回簽畫面切到副螢幕,放大哈希與時間戳,讓攝像頭能拍到:「我們只有對比摘要回簽,沒有對你們那份board-emg取用回簽。因為我們沒有取用。我們封存的是你們正在用來逼合併的簽名。」
周啟明的表情在玻璃反光裡看不清,但他的聲音沉下去:「那就對了。應急憑證被濫用。依制度,內控有權暫停該憑證效力,並移交法務。」
徐澤急了:「周主任,你這是……」
「我是在保你。」周啟明打斷,語氣不重,卻像把每個字都按在桌上,「你剛才說接管『所有設備與操作權』,那是超範圍。你今天硬進去,明天你第一個背鍋。」
走道裡一陣沉默,像一群人突然發現自己站在誰的雷區上。
知夏抓住那個空隙,把螢幕上最關鍵的一段「只讀合併演算」結論再補上一行:備援區塊內交易序列與原始生產上鏈序列不一致,存在二次封裝。她把這行也封存上鏈,並生成一份「只讀驗算報告」的可公開版,刪掉任何會牽涉到老人站內部資料的細節,只留下對供應鏈造假有用的指紋特徵與序列偏移。
她轉身對季崇,聲音冷硬卻不再只是逼迫:「你要走流程,就把VPN跳板紀錄交出來,補齊最後一段。你可以自保,但別用『自保』來幫顧行舟拖到明早九點。」
季崇的肩膀像塌了一點。他看向門外那群人,又看向螢幕上清清楚楚的「韓沅取用」。那一瞬,知夏看見他眼底那點自以為中立的灰終於裂開。他低聲說:「銀港VPN跳板機的連線紀錄在資安組,但……只有我有讀取權。因為是我當初寫的權限隔離。」
知夏盯著他:「那你就讀。現在。」
季崇閉了閉眼,像在把一個多年築起的牆推倒。他伸手到鍵盤,卻在按下前看了知夏一眼:「你答應我一件事。這份紀錄只交法務節點,不交媒體。至少先讓仲裁成立。」
知夏嘴硬得要命,卻沒有拒絕:「我只要真相能站住腳。你別再跟我談面子。」
季崇點頭,手指落下,動作迅速而克制。幾秒後,一份連線列表被拉出來:今晚19:47至20:05,有一條從基金辦公室IP段進入銀港VPN,再跳入備援節點管理介面的連線,使用者帳號標記為「board-emg-ops」,雙因素驗證通過方式是一次性碼,但一次性碼發送端顯示為「韓沅手機末四碼」。而連線期間同時有帶外管理登入記錄與風控模板簽名部署。
證據像最後一塊拼圖嵌上去,卡得嚴絲合縫,甚至發出一聲只有懂的人才聽得見的「咔」。
知夏把那份紀錄生成哈希,直接推送法務節點,並要求回簽。她沒有多說一句狠話,只對著門口攝像頭開口,語速不快,像把每個字都釘進牆裡:「現在時間二十點五十六分。節點機房內完成只讀合併驗算,確認備援合併請求存在時間戳一致偏移與二次封裝痕跡;內控封存箱開啟紀錄顯示board-emg應急憑證由顧行舟特助韓沅取用;銀港VPN跳板機連線紀錄已封存,顯示基金辦公室IP段進入備援管理介面,使用board-emg-ops操作。以上證據已上鏈至法務節點,等待回簽。」
門外一片死寂。徐澤那種「奉指令」的底氣像被抽走,只剩呼吸聲。
下一秒,走道裡又響起一串更熟悉的腳步,步伐比剛才更快、更重,像把怒火踩在鞋跟裡不讓它散。祁雲岫的聲音隔著門板傳進來,冷得像刀出鞘:「開門。」
知夏一愣,隨即走到門邊,卻沒有立刻解鎖,只隔門問:「你一個人?」
「法務跟內控在外面。」祁雲岫說,「還有兩個警務協勤。周啟明也在。」
周啟明在旁補了一句:「祁總以集團執行長權限,要求暫停董事會緊急接管。依制度,我支持。」
祁承的手抖得更厲害,卻仍先照程序:「請祁總對鏡頭報名,並說明開門後第一件事。」
祁雲岫沒有不耐,反而乾脆:「祁雲岫。開門後第一件事,封存現場,封存接管人員名單,當場宣讀:board-emg憑證濫用,董事會緊急議程暫停執行,明早九點公開鑑定與聯姻提案撤案,改為法務調查與監管報備。」
她的每個字都像砸在玻璃上,砸得外頭那些人無處躲。
知夏把視線落回KVM藍燈,那顆藍眼睛依舊睜著。她忽然想起很久以前,祁雲岫也是這樣,什麼都替她擋,卻在最該解釋的時候沉默,讓她一個人背著誤會走了好多年。如今她仍然冷硬,仍然不說軟話,但她已經把「撤案」這種刀從自己身上拔出來,準備反刺回去。
知夏把門禁解鎖,卻先把手機鏡頭對準門縫與門槓,讓封條與螺絲再次入鏡。她像把一扇門開成一份文件,讓所有人都得按程序走。
門開的瞬間,走道的冷霧像被吸進來,霧裡站著祁雲岫,外套領口濕得發深,眼神卻亮得像火。她身後是法務的人、內控的人,還有兩名協勤。再後面,徐澤那幾個人退得很不甘心,像剛才還要宣判的人忽然成了旁聽。
祁雲岫沒有先看任何人,第一眼就落在知夏臉上。那眼神停得極短,短到像怕自己露出情緒,卻又足夠讓知夏知道:她來了,不會再讓她一個人扛。
「把名單拿出來。」祁雲岫轉身,對外頭的人聲音冷硬,「剛才敲門的、持工單的、要求接管的,全部報名。誰不報,直接請出去,必要時以妨害證據保全處置。」
徐澤的嘴唇動了動,想說「董事會」,卻被法務的人一眼壓回去。他終於低下頭,像吞下苦果,開始報姓名。
周啟明站在一旁,拿出封存箱開啟紀錄原件,當著鏡頭宣讀並簽名。法務的人把每一份材料的哈希當場生成,回簽上鏈。協勤站在走道兩端,沒有動武,卻讓所有人的肩膀都不敢再往前一寸。
季崇站在知夏身後,像忽然失去了退路。他低聲說:「我已把跳板紀錄交法務。你要我怎麼配合?」
知夏沒有回頭,只說:「你今天終於做了件像人的事。剩下的,別又縮回去。」
祁雲岫把視線從名單移到操作台,看到那份只讀驗算報告的結論,眼底那點火終於不再壓。她轉向知夏,聲音低了一階,卻更狠:「公開聲明包的發布權限池我已經封停。顧行舟那邊的公關線,我也斷了。明早九點,他想用媒體逼我們就範,沒門。」
知夏喉頭一緊,還是嘴硬:「你斷得了公關,斷得了董事會的婚帖嗎?」
祁雲岫看著她,像看著一個她欠了太久的人。她沒有立刻回答「能」,也沒有說任何漂亮話,只把一份剛打印出的法務通知交到知夏手上:「這是法務緊急保全令。今晚起,任何人不得以『聯姻』或『鑑定』為名挪用節點資料、影響平台運作,違者刑責。你要的平台,我保它跑。你要的老人,我也保他們不被當盾牌。」
那張紙很薄,卻像一塊終於落地的石頭,把知夏心裡那根繃到極限的線壓住了。她吸了一口冷氣,聲音仍硬,卻不再刺人:「你別說得像你一個人能扛。你欠的道歉,別想用一張保全令抵。」
祁雲岫的指尖微不可察地收了一下,像被戳到舊傷。她沒有躲,反而在眾人忙亂的背影裡,低聲回:「我知道。等今晚先把顧行舟釘死。我會把當年的事,一句不漏說給你聽。」
知夏心口猛地一跳,像被人突然拽回那個分手的雨夜。她想再逼一句,卻被祁承的聲音打斷。
祁承站在攝像頭旁,仍在按著錄音鍵,卻不再像剛才那樣只剩恐懼。他看著祁雲岫,聲音還抖,卻第一次有了主動的堅定:「祁總,明早九點的議程……你真的能撤嗎?他們會不會改成私下表決?」
祁雲岫沒有安撫,回答得很現實:「會。所以我們今晚就把他們的手印按在光下。內控、法務、監管回函,三條線同時走。顧行舟想切割?切不了。因為跳板紀錄、封存箱紀錄、風控模板簽名,都在同一條鏈上。」
她說完,轉向法務的人:「把顧行舟特助韓沅列為緊急訊問對象。同步申請基金辦公室的設備保全。今晚就去。」
法務點頭。協勤也點頭,像一切已經從家族內鬥跨入真正的規則場域。
門口那群人終於散開。徐澤退走時回頭看了一眼知夏,眼神像恨又像怕。他沒有再說「抗命」,因為他知道現在每個字都會變成自己的指紋。
機房恢復到只有風扇噪音的密。KVM藍燈仍亮,三台異常機櫃的燈號卻在某一刻忽然變回正常節奏,像遠端那隻手終於鬆開,知道再按也只會留下更多證據。
知夏盯著那一排綠燈,忽然覺得眼眶發酸。她沒讓自己哭,只把那份法務保全令折好,塞進口袋,像塞進一個可以暫時信任的明天。
她低聲對祁雲岫說:「清婉那邊撐住了。老人沒被拍。查核函也被她打回去走流程。媒體名片她都封存了。」
祁雲岫的喉結動了一下,像把一口硬氣吞下去:「她做得很好。等這波過去,我會讓養老站的節點從『人質』變成『盾』,有正式的監管合作與資源,不再讓任何人拿老人當槓桿。」
知夏斜她一眼:「你說的。別又沉默。」
祁雲岫看著她,眼神很深,深到像終於承認自己也怕:「我不會再用沉默把你推出去。」
機房裡的螢幕還停著那份只讀驗算報告,結論像鋼印一樣冷:0.8秒一致偏移,二次封裝,同源簽名。那不是戲劇,是製造業最硬的語言。知夏忽然明白,她這一路用規則、用技術、用不肯低頭的嘴硬,終於把權力逼到必須說人話的地方。
可她也知道,今晚只是把刀柄握回來,刀還沒落下去。
祁雲岫的手機響了一下,她看了一眼,眼底的火又起:「顧行舟剛發第二份聲明,改口說『一切由特助擅自行動』,並表示明早九點他將親自到場,配合鑑定,順便宣布與某家族的聯姻『為集團穩定』。」
她把手機遞給知夏看,聲音冷得像霧夜裡的鋼:「他還想死撐。」
知夏看著那行字,嘴角硬硬抬起:「那就讓他撐。撐得越久,斷得越乾淨。」
她轉頭看向祁承:「你今晚做得夠好了。接下來還有一件事要你做。」
祁承一怔,像怕自己又被推回棋盤,但他還是點頭:「你說。」
知夏把攝像頭轉向他,語氣像交代最後一段工序:「明天不管他們怎麼把話講漂亮,你只做見證。你看到什麼就說什麼,聽到誰逼誰就錄誰。你不是他們的少爺,你是你自己。懂嗎?」
祁承的眼眶紅了一瞬,卻用力點頭:「懂。」
祁雲岫看著這一幕,像有什麼在她胸口鬆了一點。她沒有說「辛苦」,那太軟,也太晚。她只說:「回去休息兩小時。明天一早,我們去監管局。把這條鏈,放到他們不敢掰的地方。」
知夏把手覆在操作台邊緣,指尖感到冰冷金屬的實在。她抬眼看祁雲岫,想把那句「你欠我的」再說一次,卻終於只吐出一句更像承諾的話:「明天我也去。平台端我會讓它繼續跑。共享產線的單,我一個都不退。老人那邊的照護費,我也會讓它準時到。」
祁雲岫的目光停在她臉上,像要把這句話刻進記憶。她低聲回:「我陪你跑完。」
風扇噪音依舊,KVM藍燈依舊。只是此刻那顆不眨眼的藍,像不再是獸的眼,而是一台終於被拉回規則裡的機器,安靜記錄著誰的手伸進來、又被誰按回去。
機房外的霧還很厚,明天九點的倒數仍在走。可今晚,至少有人把第一份不可否認的指紋,按在了光底下。
「奉董事會緊急指令,立即接管節點機房,請開門配合。」
聲音隔著門板仍然清楚,語尾不抬不落,像宣判而不是協商。
機房內的風扇噪音沒有任何變化,只有KVM那顆藍燈亮得太穩,像一隻不會眨眼的眼。三台異常機櫃的指示燈維持陰沉節奏,綠一短、暗一長,像有人在遠端扣著它們的脈。
知夏盯著螢幕上滾動的「只讀合併演算」結果。比對像河流往下沖,哈希、時間戳、簽名鏈、區塊高度、交易序列,密密麻麻,任何一個字母錯位都能把真相變成謊。她掌心的冷汗被空調吹得發緊,指尖卻穩,沒有碰那個「同意」鍵。
祁承站在門口攝像頭前,背挺得很直,像把自己釘在那條他剛學會的規矩上。他按著祁雲岫給他的錄音鍵,喉結滾了一下,聲音仍發顫,字卻咬得很清楚:「請報姓名、單位、工單號。對著門口攝像頭念。並出示原件證件。」
門外那人短促笑了一聲,笑裡沒溫度:「小祁先生,這是董事會指令。」
祁承的手指更用力,像怕自己一鬆就會退回那個被操控的角色:「我現在是見證人。你不報,就算你把門撞開,程序也會把你留下。」
季崇在操作台旁,眼神在門與螢幕之間來回,像同時看兩個深渦。一邊是權力,一邊是證據。他的聲音壓得很低,對知夏說:「他們可能會走消防緊急解鎖。你這個演算還要多久?」
「三分鐘內出可用結論,」知夏沒抬頭,像在回報工序,「前提是他們別讓機櫃重啟。」
她話音剛落,門把又震了一下,這次帶著試圖扭動的力道。密封條發出一聲極細的吱,像膠被拉扯。
祁承對著門外更大聲:「再一次,報姓名、單位、工單號。你不報,我就按資安事件拒絕配合,並將你拒報行為上鏈。」
外頭靜了兩秒,像有人在衡量。然後一個新的聲音接上來,刻意放柔,像要把人從規矩裡哄出來:「內控稽核組,徐澤,工單號……」
他報了一串數字,念得很快,像怕念慢了會被抓住漏洞。祁承立刻打斷:「慢一點。再念一遍,逐字念。並請把工單原件貼門口玻璃,讓攝像頭拍清楚。」
外頭的呼吸重了一下。紙張摩擦玻璃的聲音傳進來,像有人不情不願把一張文件壓上去。祁承把攝像頭角度微調,讓工單的抬頭、印章、日期都入鏡。他的手抖得厲害,卻沒有縮回去。
知夏分出一線注意力去聽,心裡卻在算:工單有了,還差原件證件,還差那個最關鍵的跳板紀錄。她眼角瞥向季崇:「你說要走流程。那就把內控封存箱的開啟紀錄、board-emg憑證取用紀錄拿出來。現在。別等他們把你也算進去。」
季崇的嘴唇抿緊。他一向擅長站在制度的陰影裡講理,講到最後讓所有人都變成「程序的一部分」。可此刻程序正被人拿來當刀。他看著螢幕上那串「來源簽名:board-emg」,喉結動了動:「我沒有封存箱最高權限。內控室主任有。」
知夏冷聲:「那就叫他來報名、報工單。讓他把封存箱的開啟紀錄上鏈。你敢不敢打電話?」
季崇沉默一瞬,像被逼到了選擇題的答案格。他終於拿起手機,撥了一個號。鈴聲響到第三下才被接起,對面的人聲音很乾:「季主管?今晚不是……」
「內控封存箱,board-emg憑證,誰開過?」季崇問得直接,像把所有修飾都拔掉,「現在董事會要接管節點機房。你不把紀錄拿出來,明天你就準備跟顧行舟一起上新聞。」
電話那頭沉了沉,像終於聽懂他不是來請示的:「你們在哪?」
「節點機房門內。」季崇說,「要你到門口,對著鏡頭報名,帶封存箱開啟紀錄原件。現在。」
他掛斷電話的手有一瞬在抖,抖得比他平常更像個人。知夏沒給他喘息,回到螢幕上。比對河流忽然跳出一行紅色警示,字很短,卻像一根釘子打進牆裡:
時間戳偏移:0.8秒,連續23筆,同向一致。
她的眼神一凝。她見過這種偏移。不是機器抖動,是有人把一批交易先在別處包好,再搬進來,像把魚先腌過再拿來說是現殺。
接著第二行警示跳出:
簽名鏈斷裂,重簽憑證指紋與第三方風控模板簽名同源。
知夏的背脊瞬間發涼,卻也瞬間穩了。她把那兩行警示截取成「可驗證結論摘要」,不公布細節,只公布可比對的指紋集合與偏移特徵,立刻推到法務節點。螢幕提示跳出:摘要已上鏈,等待法務節點回簽。
門外又有人敲門,敲得更急。那個自稱徐澤的聲音不再柔,變得硬:「你們已經看到工單。請立即開門。拖延視為抗命。」
祁承深吸一口氣,像把恐懼壓進肋骨間:「工單有效性需要雙簽。請出示你本人證件原件,貼玻璃。並說明接管依據條款與接管範圍。你只說董事會,不說條款,就是空口。」
外頭傳來一陣衣料摩擦聲,像有人被逼得把皮包翻開。片刻後,一張證件被拍在玻璃上,照片略模糊,像臨時印的。祁承看了一眼,心口發緊,仍然照規矩念出:「證件號末四碼……四七三二。請你本人對著鏡頭念一遍你的姓名與證件號末四碼。」
外頭那人咬著牙念了。祁承按著錄音鍵,聲音穩了一點:「已錄。請你再說一遍,接管依據條款與接管範圍。」
對方沉默了半秒,像沒料到這個平常被當成棋子的年輕人真的敢一條條問。他終於丟出一句:「依公司緊急事件處置條例第九條。接管範圍,節點機房所有設備與操作權。」
知夏在操作台前冷笑,笑意不大,卻很冷。她終於抬頭,對著門板說,聲音不高卻能穿過風扇噪音:「第九條我背得比你熟。緊急事件處置接管,前提是『事件未被控制、且存在立即擴散風險』。我們已封存、已隔離、已雙簽錄影、已只讀驗算,風險被控制。你要接管可以,請你先把董事會緊急授權書原件上鏈,簽名人名單上鏈,並由法務節點回簽。否則你這叫強行奪證。」
門外有人低聲罵了一句,像在罵她嘴硬。隨即那個徐澤的聲音換了個角度,像要從情理切入:「林工,你這樣只會讓祁總更難。明天九點董事會要公開鑑定,媒體已經在路上。你們現在把事情弄得這麼僵,最後受傷的是誰,你自己想。」
知夏沒接他的恐嚇,反而像抓住他露出的尾巴:「媒體在路上?誰通知的?緊急事件處置條例不允許未定性前對外擴散。你剛才那句話,足夠讓主管機關介入。麻煩你再說一次,對著鏡頭。」
門外那人噎住。祁承趁機把那段話重播一遍,按下「標記」,讓錄音自動生成哈希指紋上鏈。那一瞬,他的手還在抖,但眼神第一次像是有了重量。
季崇看著知夏的操作,忽然低聲說:「你這樣會把事情推到無法收拾。」
知夏回他一句,乾脆得像扳手落下:「早就無法收拾了,是你們以前一直假裝能。」
螢幕上,法務節點回簽彈出,像一枚冷硬的印章蓋下來:摘要成立,可作仲裁保全。知夏立刻把回簽哈希再推送到平台端公告,仍然克制,卻足以讓任何想把鍋甩給養老站的人先停手。
同一時間,她手機震動一下,是賀清婉的來電。知夏按下免提,清婉的聲音從喇叭裡傳出來,依舊溫吞,卻每個字都像針線一樣把網織起來:「他們剛才帶著臨時查核函來,說要進養老站機房看節點。我讓他們先把函件掃描給我,然後問了三件事:第一,查核單位抬頭是誰;第二,有沒有載明查核範圍包含『老人個資』;第三,陪同人員名單與證號。結果他們的函件抬頭用的是協會,不是主管機關,還把範圍寫成『全項』,這在我們這種有個資的場域是不成立的。」
知夏心口一鬆,卻仍硬:「你撐得住嗎?」
「撐得住。」清婉輕聲說,「我已經報警備案,理由是陌生人持不明查核函要求進入含個資設備間。我也通知真正的社會局窗口,請他們出正式回函,走明天白天流程。還有,老人們我都安撫好了,說只是設備檢修,沒有任何人會被打擾。你放心,老人不是他們的盾牌。」
知夏閉了閉眼,喉頭發熱:「謝了。」
清婉停了一下,像在等她把情緒吞回去,才又補上一句更狠的:「另外,剛才有媒體想進來拍。我讓他們在門口的訪客登記簿上簽名、留名片、留拍攝計畫,並告知我們場域有未成年人家屬探視與老人個資,未經同意拍攝我會提告。他們退了。但我把他們的名片也封存了,照片、時間戳都有。你那邊如果有人說『媒體在路上』,就對得上。」
知夏看向門口的祁承,祁承也看向她,兩人的眼神在空調風裡碰了一下,像共同確認:對方真的在用同一份劇本。
通話掛斷的下一秒,知夏手機又彈出祁雲岫的訊息,只有幾個字:我抓到聲明包的出處。別開門。拖到我到。
緊接著是一個節點路由截圖和一串權限ID。知夏眼皮一跳,那串ID她見過,屬於集團「對外公關發布」的簽名權限池,本該與法務隔離,卻被用來上鏈「公開聲明包」。而那個提交端的內網IP段,不在備援大樓,反而在一個對外租用的共用辦公區,地址正是顧行舟名下投資的基金辦公室樓層。
她把手機遞給季崇看,聲音平平:「看清楚了嗎?這不是『內控失誤』,是有人故意把聲明包丟出去,逼明早九點表決。」
季崇的臉色一點點白下去。他想說什麼,嘴唇動了動,最後只吐出一句:「這個……可以當成線索,但要坐實,還差跳板機紀錄。還差VPN工單原件。」
知夏盯著他:「你知道在哪。」
季崇沉默像一道牆。門外的敲門聲忽然停了,取而代之的是更低的交談聲,像有人在商量換一種進門方式。祁承吞了口口水,仍把錄音鍵按住,像按住一枚即將炸的雷。
就在這時,走道裡傳來電梯到站的叮聲,接著是一串急促但乾淨的高跟鞋聲,踩在玻璃走道上,節奏利落得像裁決。那腳步停在門前,有人不大不小地說:「內控主任,周啟明。工單原件在此。封存箱開啟紀錄在此。請門內確認接收方式。」
祁承像被這個名字打了一針強心劑,立刻把攝像頭對準玻璃:「請你對鏡頭報姓名、職務、證件末四碼。並說明你帶來的資料內容。」
外頭那人一板一眼照做,還把一份厚厚的紙本貼上玻璃,手指點著其中一行:「今晚19:58封存箱被開啟一次,取出board-emg應急憑證。取用人簽名……」他停了一下,像也覺得荒謬,「顧行舟特助,韓沅。備註:董事會授權。」
門內三人同時靜了一瞬。風扇噪音像突然變得更大,把那句名字吹得更冷。
門外那個徐澤立刻插話,聲音拔高:「周主任,你不要被他們帶偏。董事會授權合法合規。現在請開門,讓我們接管!」
周啟明沒理他,反而對著門內說:「依制度,應急憑證取用需法務回簽。你們有回簽嗎?」
知夏把法務節點回簽畫面切到副螢幕,放大哈希與時間戳,讓攝像頭能拍到:「我們只有對比摘要回簽,沒有對你們那份board-emg取用回簽。因為我們沒有取用。我們封存的是你們正在用來逼合併的簽名。」
周啟明的表情在玻璃反光裡看不清,但他的聲音沉下去:「那就對了。應急憑證被濫用。依制度,內控有權暫停該憑證效力,並移交法務。」
徐澤急了:「周主任,你這是……」
「我是在保你。」周啟明打斷,語氣不重,卻像把每個字都按在桌上,「你剛才說接管『所有設備與操作權』,那是超範圍。你今天硬進去,明天你第一個背鍋。」
走道裡一陣沉默,像一群人突然發現自己站在誰的雷區上。
知夏抓住那個空隙,把螢幕上最關鍵的一段「只讀合併演算」結論再補上一行:備援區塊內交易序列與原始生產上鏈序列不一致,存在二次封裝。她把這行也封存上鏈,並生成一份「只讀驗算報告」的可公開版,刪掉任何會牽涉到老人站內部資料的細節,只留下對供應鏈造假有用的指紋特徵與序列偏移。
她轉身對季崇,聲音冷硬卻不再只是逼迫:「你要走流程,就把VPN跳板紀錄交出來,補齊最後一段。你可以自保,但別用『自保』來幫顧行舟拖到明早九點。」
季崇的肩膀像塌了一點。他看向門外那群人,又看向螢幕上清清楚楚的「韓沅取用」。那一瞬,知夏看見他眼底那點自以為中立的灰終於裂開。他低聲說:「銀港VPN跳板機的連線紀錄在資安組,但……只有我有讀取權。因為是我當初寫的權限隔離。」
知夏盯著他:「那你就讀。現在。」
季崇閉了閉眼,像在把一個多年築起的牆推倒。他伸手到鍵盤,卻在按下前看了知夏一眼:「你答應我一件事。這份紀錄只交法務節點,不交媒體。至少先讓仲裁成立。」
知夏嘴硬得要命,卻沒有拒絕:「我只要真相能站住腳。你別再跟我談面子。」
季崇點頭,手指落下,動作迅速而克制。幾秒後,一份連線列表被拉出來:今晚19:47至20:05,有一條從基金辦公室IP段進入銀港VPN,再跳入備援節點管理介面的連線,使用者帳號標記為「board-emg-ops」,雙因素驗證通過方式是一次性碼,但一次性碼發送端顯示為「韓沅手機末四碼」。而連線期間同時有帶外管理登入記錄與風控模板簽名部署。
證據像最後一塊拼圖嵌上去,卡得嚴絲合縫,甚至發出一聲只有懂的人才聽得見的「咔」。
知夏把那份紀錄生成哈希,直接推送法務節點,並要求回簽。她沒有多說一句狠話,只對著門口攝像頭開口,語速不快,像把每個字都釘進牆裡:「現在時間二十點五十六分。節點機房內完成只讀合併驗算,確認備援合併請求存在時間戳一致偏移與二次封裝痕跡;內控封存箱開啟紀錄顯示board-emg應急憑證由顧行舟特助韓沅取用;銀港VPN跳板機連線紀錄已封存,顯示基金辦公室IP段進入備援管理介面,使用board-emg-ops操作。以上證據已上鏈至法務節點,等待回簽。」
門外一片死寂。徐澤那種「奉指令」的底氣像被抽走,只剩呼吸聲。
下一秒,走道裡又響起一串更熟悉的腳步,步伐比剛才更快、更重,像把怒火踩在鞋跟裡不讓它散。祁雲岫的聲音隔著門板傳進來,冷得像刀出鞘:「開門。」
知夏一愣,隨即走到門邊,卻沒有立刻解鎖,只隔門問:「你一個人?」
「法務跟內控在外面。」祁雲岫說,「還有兩個警務協勤。周啟明也在。」
周啟明在旁補了一句:「祁總以集團執行長權限,要求暫停董事會緊急接管。依制度,我支持。」
祁承的手抖得更厲害,卻仍先照程序:「請祁總對鏡頭報名,並說明開門後第一件事。」
祁雲岫沒有不耐,反而乾脆:「祁雲岫。開門後第一件事,封存現場,封存接管人員名單,當場宣讀:board-emg憑證濫用,董事會緊急議程暫停執行,明早九點公開鑑定與聯姻提案撤案,改為法務調查與監管報備。」
她的每個字都像砸在玻璃上,砸得外頭那些人無處躲。
知夏把視線落回KVM藍燈,那顆藍眼睛依舊睜著。她忽然想起很久以前,祁雲岫也是這樣,什麼都替她擋,卻在最該解釋的時候沉默,讓她一個人背著誤會走了好多年。如今她仍然冷硬,仍然不說軟話,但她已經把「撤案」這種刀從自己身上拔出來,準備反刺回去。
知夏把門禁解鎖,卻先把手機鏡頭對準門縫與門槓,讓封條與螺絲再次入鏡。她像把一扇門開成一份文件,讓所有人都得按程序走。
門開的瞬間,走道的冷霧像被吸進來,霧裡站著祁雲岫,外套領口濕得發深,眼神卻亮得像火。她身後是法務的人、內控的人,還有兩名協勤。再後面,徐澤那幾個人退得很不甘心,像剛才還要宣判的人忽然成了旁聽。
祁雲岫沒有先看任何人,第一眼就落在知夏臉上。那眼神停得極短,短到像怕自己露出情緒,卻又足夠讓知夏知道:她來了,不會再讓她一個人扛。
「把名單拿出來。」祁雲岫轉身,對外頭的人聲音冷硬,「剛才敲門的、持工單的、要求接管的,全部報名。誰不報,直接請出去,必要時以妨害證據保全處置。」
徐澤的嘴唇動了動,想說「董事會」,卻被法務的人一眼壓回去。他終於低下頭,像吞下苦果,開始報姓名。
周啟明站在一旁,拿出封存箱開啟紀錄原件,當著鏡頭宣讀並簽名。法務的人把每一份材料的哈希當場生成,回簽上鏈。協勤站在走道兩端,沒有動武,卻讓所有人的肩膀都不敢再往前一寸。
季崇站在知夏身後,像忽然失去了退路。他低聲說:「我已把跳板紀錄交法務。你要我怎麼配合?」
知夏沒有回頭,只說:「你今天終於做了件像人的事。剩下的,別又縮回去。」
祁雲岫把視線從名單移到操作台,看到那份只讀驗算報告的結論,眼底那點火終於不再壓。她轉向知夏,聲音低了一階,卻更狠:「公開聲明包的發布權限池我已經封停。顧行舟那邊的公關線,我也斷了。明早九點,他想用媒體逼我們就範,沒門。」
知夏喉頭一緊,還是嘴硬:「你斷得了公關,斷得了董事會的婚帖嗎?」
祁雲岫看著她,像看著一個她欠了太久的人。她沒有立刻回答「能」,也沒有說任何漂亮話,只把一份剛打印出的法務通知交到知夏手上:「這是法務緊急保全令。今晚起,任何人不得以『聯姻』或『鑑定』為名挪用節點資料、影響平台運作,違者刑責。你要的平台,我保它跑。你要的老人,我也保他們不被當盾牌。」
那張紙很薄,卻像一塊終於落地的石頭,把知夏心裡那根繃到極限的線壓住了。她吸了一口冷氣,聲音仍硬,卻不再刺人:「你別說得像你一個人能扛。你欠的道歉,別想用一張保全令抵。」
祁雲岫的指尖微不可察地收了一下,像被戳到舊傷。她沒有躲,反而在眾人忙亂的背影裡,低聲回:「我知道。等今晚先把顧行舟釘死。我會把當年的事,一句不漏說給你聽。」
知夏心口猛地一跳,像被人突然拽回那個分手的雨夜。她想再逼一句,卻被祁承的聲音打斷。
祁承站在攝像頭旁,仍在按著錄音鍵,卻不再像剛才那樣只剩恐懼。他看著祁雲岫,聲音還抖,卻第一次有了主動的堅定:「祁總,明早九點的議程……你真的能撤嗎?他們會不會改成私下表決?」
祁雲岫沒有安撫,回答得很現實:「會。所以我們今晚就把他們的手印按在光下。內控、法務、監管回函,三條線同時走。顧行舟想切割?切不了。因為跳板紀錄、封存箱紀錄、風控模板簽名,都在同一條鏈上。」
她說完,轉向法務的人:「把顧行舟特助韓沅列為緊急訊問對象。同步申請基金辦公室的設備保全。今晚就去。」
法務點頭。協勤也點頭,像一切已經從家族內鬥跨入真正的規則場域。
門口那群人終於散開。徐澤退走時回頭看了一眼知夏,眼神像恨又像怕。他沒有再說「抗命」,因為他知道現在每個字都會變成自己的指紋。
機房恢復到只有風扇噪音的密。KVM藍燈仍亮,三台異常機櫃的燈號卻在某一刻忽然變回正常節奏,像遠端那隻手終於鬆開,知道再按也只會留下更多證據。
知夏盯著那一排綠燈,忽然覺得眼眶發酸。她沒讓自己哭,只把那份法務保全令折好,塞進口袋,像塞進一個可以暫時信任的明天。
她低聲對祁雲岫說:「清婉那邊撐住了。老人沒被拍。查核函也被她打回去走流程。媒體名片她都封存了。」
祁雲岫的喉結動了一下,像把一口硬氣吞下去:「她做得很好。等這波過去,我會讓養老站的節點從『人質』變成『盾』,有正式的監管合作與資源,不再讓任何人拿老人當槓桿。」
知夏斜她一眼:「你說的。別又沉默。」
祁雲岫看著她,眼神很深,深到像終於承認自己也怕:「我不會再用沉默把你推出去。」
機房裡的螢幕還停著那份只讀驗算報告,結論像鋼印一樣冷:0.8秒一致偏移,二次封裝,同源簽名。那不是戲劇,是製造業最硬的語言。知夏忽然明白,她這一路用規則、用技術、用不肯低頭的嘴硬,終於把權力逼到必須說人話的地方。
可她也知道,今晚只是把刀柄握回來,刀還沒落下去。
祁雲岫的手機響了一下,她看了一眼,眼底的火又起:「顧行舟剛發第二份聲明,改口說『一切由特助擅自行動』,並表示明早九點他將親自到場,配合鑑定,順便宣布與某家族的聯姻『為集團穩定』。」
她把手機遞給知夏看,聲音冷得像霧夜裡的鋼:「他還想死撐。」
知夏看著那行字,嘴角硬硬抬起:「那就讓他撐。撐得越久,斷得越乾淨。」
她轉頭看向祁承:「你今晚做得夠好了。接下來還有一件事要你做。」
祁承一怔,像怕自己又被推回棋盤,但他還是點頭:「你說。」
知夏把攝像頭轉向他,語氣像交代最後一段工序:「明天不管他們怎麼把話講漂亮,你只做見證。你看到什麼就說什麼,聽到誰逼誰就錄誰。你不是他們的少爺,你是你自己。懂嗎?」
祁承的眼眶紅了一瞬,卻用力點頭:「懂。」
祁雲岫看著這一幕,像有什麼在她胸口鬆了一點。她沒有說「辛苦」,那太軟,也太晚。她只說:「回去休息兩小時。明天一早,我們去監管局。把這條鏈,放到他們不敢掰的地方。」
知夏把手覆在操作台邊緣,指尖感到冰冷金屬的實在。她抬眼看祁雲岫,想把那句「你欠我的」再說一次,卻終於只吐出一句更像承諾的話:「明天我也去。平台端我會讓它繼續跑。共享產線的單,我一個都不退。老人那邊的照護費,我也會讓它準時到。」
祁雲岫的目光停在她臉上,像要把這句話刻進記憶。她低聲回:「我陪你跑完。」
風扇噪音依舊,KVM藍燈依舊。只是此刻那顆不眨眼的藍,像不再是獸的眼,而是一台終於被拉回規則裡的機器,安靜記錄著誰的手伸進來、又被誰按回去。
機房外的霧還很厚,明天九點的倒數仍在走。可今晚,至少有人把第一份不可否認的指紋,按在了光底下。
— 本章完 —
🎉 恭喜!您已讀完本書全部章節
讀者留言 (0)
還沒有留言,來當第一個吧!