第017章 日誌鏈自證
周五早晨的辦公室,安靜得能聽見印表機的待機電流聲。
往常這個鐘點,王海濤一進門,安排活的嗓門就能撐起大半個前廳。今早門被推開,那層聲音整個缺席了。走廊盡頭的列印隊列從上班到現在一筆沒接到,比昨天上午三十單周報反常得多。每隔一會兒,飲水機深處咕咚一聲悶響,平日混在人聲里聽不見,如今成了辦公區唯一在動的聲音。
小趙把椅子轉過來半個身位,嘴唇動了動,用氣音問:「默哥,今天來的是哪路神仙?「
林默搖頭,沒抬頭。他正把那塊加密歸檔盤拔下又插上,指示燈由暗轉穩,綠色指紋貼安分地貼著。旁邊王海濤破天荒沒插嘴,低頭敲鍵盤,節奏慢而虛,像摸黑試一台不熟的琴。
餘光里那份「核查時段「列印件還攤在王海濤桌角,邊角卷著毛邊,最上一張頁腳折了道豎痕。這材料按規定當晚該入庫,卻在家裡外頭睡了整宿。林默掃過去,又掃回來,沒多留表情。
陳志遠來得最早。八點一刻,窗台那盆綠蘿被轉了向,葉尖齊刷刷指向門口——原本它是迎著採光擺的。沒人知道什麼時候動的,只知早上保潔擦窗架時還朝著原方向。走廊盡頭售貨機嗡一聲,貨道轉一圈吐出罐黑咖啡,沒人取。
八點十分差幾分,陳志遠把林默叫進裡間。沒坐下。他雙手捧茶杯站桌旁,指腹一圈圈摩挲杯沿,瓷器磨出乾澀細響。「九點半省市聯合的來。「嗓子壓得低,喉結起伏一趟,「審計軌跡都拿出來……你那邊,齊嗎?「
「齊。「林默說,「您別慌。「
「想拍你肩來著,「陳志遠笑一下,胳膊抬半道收回,改成擺正椅背上的外套,「算了。「
茶端起抿一口,沒咽,又擱回。杯底磕桌面一記輕響。這位年長近十歲的髮小、公司老闆,抖得不比當年創業敗掉的夜晚輕多少。
林默退出裡間,碰見提暖壺往回走的老周。老頭兒什麼沒問,只朝他努努下巴,眼皮耷拉一瞬——他們間處理要緊事的老規矩,一切留到必要時候。
回工位,林默摸出一直插著的外接歸檔盤,塞進內側口袋。外殼磨起毛,比打火機厚一點,裡面是從生產環境同步留存的操作審計副本,帶完整哈希鏈。這盤來歷要追溯到上上次創業失敗——帳目一夜被改得面目全非,他想反駁時,手裡的底稿半年前就被當廢紙清了。從那以後他經手的記錄,都另留一份改不動的副本,定時輪轉兩個異地介質,互不通訊。
天樞把歸檔盤最新校驗狀態推到他眼前:綠色,一致。左耳後上方輕顫收緊半格。【在外頭少說,多看。】五個字用介於叮囑與陳述間的平穩頻率發來,不帶修飾。林默拇指在桌沿慢慢捻一下,算作答。
小趙最有代表性。椅背又轉回三分之一度,視線不時越隔板望大門。上周四聚餐他還興致高,一個周末過去,臉上輕鬆像被擰掉螺絲,一點一點垮。他反覆摩挲工牌掛繩,吊墜隨呼吸一升一降。
九點半,人到得准。三人,兩男一女,制服公文包斜挎,包帶別著編制標籤。領頭組長五十出頭,寸頭,眉骨偏高,邁第一步就把二號會議室門口地磚踩出脆響。跟進的眼鏡女,袖口別支黑中性筆,包里塞疊速記窄欄紙。最年輕的抱只貼封條資料箱,走路箱子幾乎不晃。
進門誰也沒自我介紹。組長反手帶門留一指縫,轉身,目光沿每張臉一寸寸過——每個方向停留長短相近,收束不留餘溫。不像舞台亮相,更像給房間編物:桌几件、椅幾把、活人幾位、姿態各如何。
陳志遠上前打招呼,彎腰遞水,腕骨透出點緊繃:「領導好,辛苦。「
「不用客氣。「組長接杯,放離手肘一拳處,不動。這句話先給主位定了調。
王海濤今天坐得離主位最遠,深灰襯衫扣到倒數第二顆——他衣櫥里罕見守規矩的一次。坐定後每三四分鐘,視線從文件紙抬起往林默那掃一趟,又飛快滑開。林默裝沒看見,攤開筆記本,手指輕搭觸控板,不點。
牆鍾走兩格半。王海濤挪三次重心,第四次才靜,只是右手食指開始在膝蓋上抵節奏敲,一二一二,快,停,一二一二——像要把擔憂掐進掌心的人才有的小節奏。
開門見山沒客套。「志遠數科近一年政務雲運維全量審計軌跡,請出示。「組長語速平緩,字字分開,「重點是問詢函里'違規操作數據、越權訪問'前後兩周。現場演示,不做轉錄。「
「已在機內。「林默起身接投影,那面平常放周報PPT的幕布換成了時間軸。橫向長線分格,每節點懸浮幾個關鍵詞。第二層里,每條操作記錄掛著自己專屬時間戳與上游審批單號,拖動畫面,跨審批節點的關係連線像被風吹醒,緩緩甦醒,一路點亮到鏈末端。
會議室有人不易察覺地傾身。所謂「違規操作數據「那幾天,林默的操作記錄翻開確實無聊。
登錄兩次。查健康看板兩次。導一份公開運維周報模板一次。合計五次,沒一個碰公民欄位讀寫接口,沒調過任何一條需二級審批的敏感鏈。
全網首發更新 TW 看書網體驗佳,𝔰𝔥𝔲.𝔱𝔴超讚
與之並肩投在右側的,是他那周完整物理軌跡——高鐵票、簽到表、酒店登記頁、連續三晚刷卡記錄、課堂合影,最底一行標著周五返程車次。兩張圖疊在同一平面,機器動作與人體位移左右並置,時間的縫對得嚴絲合縫。人在省城,指頭就落不到雲州鍵盤上——這是不需推論的幾何關係。
這記打臉不靠一句爭辯,靠兩幅圖疊在平面里自己說話。對面精心排布的「違規「指控,被一組坐標徹底碾平。
「越權訪問公民信息這部分,「林默聲不大,人人聽清,「涉敏接口訪問全掛甲方授權帳號下,具備逐級審批。我個人沒有任何脫離授權會話的行為。您比對甲方授權台帳,單號、發起人、有效期、執行操作,一行一項。「
他調出甲方權限台帳副本,和生產側日誌並放。同樣六欄位,兩邊各半屏:單號一致,時間在窗內,操作人、審批鏈一一對應。幕布下有人低低吸口氣,又咽回。這種無需口頭爭辯的對齊,比辯解強十倍。
三人立刻轉入工作。眼鏡女把速記紙攤膝頭,筆尖刮紙沙沙不停。年輕人開筆記本邊抄邊對檔案,偶爾偏頭交換眼神,不出聲。組長動作最少,雙手仍半握拳,直到一條異常記錄讓全屋注意力聚攏——
時段重疊區,林默唯一一次登錄卡在上午九點零七分。右邊物理軌跡同刻九點零七:省城簽到大廳,簽到表拍攝時間標九點零七,背景玻璃大門折射光斑走向可辨。同一分鐘內,一端是雲端開機握手,一端是地面帶時間戳的水印照片。兩者交錯在同一坐標軸,像故意留給人看的腳印,一隻踩數字世界,一隻落物理世界。
組長伸手,指節在幕布邊緣輕叩兩下——很輕,無情緒。跟女組員低聲交換一句。女組員低頭,那行下畫一道橫線,停頓,又一道。第三筆沒落下。
林默站原地沒動。空調低鳴,涼氣勻到每人腳踝。他清楚,這時多一句辯解,都會把「證據自述「變成「人為抗辯「,反而掉價。他不打斷那幾分鐘空白,任墨跡在紙上滲。
沉默近十分鐘。唯有的聲響是速記紙翻了一頁。之後組長抬頭,視線第一次落在他臉上而非屏幕:
「林工,這些記錄源頭在哪?「
「三個源頭。「林默豎三根指,逐一扳倒。
「生產環境自身的操作審計,按等保三級自動落盤。我無寫入權,只有導出權,系統不接受人工干預。「
「再是我司上月起執行的駐場歸檔規範,本套系統全量備份也在覆蓋內,追溯鏈獨立成冊,保管與使用分離。「
「還有這個——「他從內側口袋摸出那小塊硬碟,擱桌面白紙中央,「我個人的同步歸檔副本,里有完整哈希值。您願的話,現場取任意一段比對,只要一個字符不一樣,整條鏈就斷。「
組長沒立刻碰盤。他先看它怎麼上來——朝向、接口留距、電源線都沒多纏一圈。看完才把公文包拉近,從夾層取只編號取證優盤,示意年輕人。兩人無多餘交流。
白紙上,硬碟接入審查專用筆記本。校驗腳本跑起來,屏幕滾出一長串固定寬度的十六進位字符。收尾停頓那一刻,比對面板正中跳出兩行等寬字體,一模一樣,直到末尾那個十六進位字母,筆畫都不差。
年輕人抬頭朝組長點下巴。組長才轉話鋒:「這鏈你手動導的,還是系統自動?「
「系統自動。「林默搖頭,「我只有隻讀導出權,連自己都改不了源頭那份,更別說拷貝之後。「
他沒講哈希鏈怎麼織成——雙層嵌套鎖定、定期把哈希值嵌入上一版頭,那些答辯料眼下根本問不到那麼深。他只注意到:組長聽完最後一句,目光回校驗值上停兩秒,移開。那兩秒里無質疑,只有確認。
屋內空氣鬆了點。女組員速記筆劃下第三道線,比前兩道短,角度放緩,像在收束一整段判斷而非續記懸案。
組長合本子,合頁一聲鈍響。起身離席前朝窗外看一眼——對面樓幕牆反射上午十點光,亮度沿玻璃邊緣緩移。他看的不是風景,是種把人與物分開梳理的習慣。
「今天就到這。「他說,「接下來按程序走。「
林默沒起立。等三人收攏離開,他切斷投影,幕布恢復整片白,掏手機給那段比對結果補拍原圖歸檔——給未來某刻的復件,用途未定,但按他習慣,留著總沒錯。
回去走廊上,小趙在樓梯拐角探頭,一見他出門就縮回,又忍不住伸出半個額頭——「怎麼樣怎麼樣?「憋得快變調。
「正常對齊。「林默走過,拍他後腦勺,「開會要有會開的樣子。「
小趙縮脖笑,懸半天的氣終於吐出,人矮了半截。
接下來三天,表面如常。林默白天巡檢寫報告,順手幫緩存組核了個索引失效的小故障。晚間半小時,他把天樞從公開渠道篩來的訊息逐條看過去——省交易平台新增公告、市政務周報、兩家平台入庫更新。銳科相關詞條多了,欄目從「中標候選人「換成了「處理決定「。
第二天傍晚六點四十,官網發了一則不長的情況通報。陳志遠在辦公室念出聲。林默手機震兩下靜了,十秒後屏上跳出直推截圖鏈,附一個字——看。
通報分了三層意思。頭一層是查證結論:未發現志遠數科存在違規操作數據或越權訪問公民信息的行為;提交的操作審計鏈條完整一致,未見異常刪除、回寫或追溯性修改。附註:審計抽取覆蓋近一年全部業務周期。
往下一層落到問詢函來源:經核查,該函主要內容與比武當日銳科整理的一份應對預案在段落框架、風險句式、爭議排序上高度相似,標點習慣也可對應吻合;且事發前後銳科確曾通過特定人員介入甲方流程,影響核查節奏。依平台規定,認定惡意投訴並違規干預,納入不良記錄,市級政務信息化投標資格自公布日起停一年。
最末一行備註:所涉其他人員及單位線索,另案處理。另案處理。
四字排在校勘欄,字號只小半號。林默關頁前,單獨看了這倆字半分鐘。刀鞘送過去了,握刀柄的手沒寫進任何裁決。官方克制的從容——不停,不追,不延伸半步——卻把一件事釘明:那盤棋沒在周五下午三點結束,只是計量單位從「天「換成了「月「。
這一局林默始終沒出手。對面自己先崩了——惡意投訴反噬成一年投標封印,趙總監悄然離場。這記反殺落得乾淨,刀光都沒濺到他身上。
隨後兩天,外部信息勻速到位。銳科三個在建項目節點推遲,某區智慧園區分期施工同時停擺;大數據局簡報里「合作單位嚴格執行「悄然換成「另行組織複評「。行業群一行字:銳科技術總監趙某某已離職,沒寫原因,沒配頭像變動。有人補了句「善惡終有報「。林默沒參與,也沒點讚。舊相識私信「老趙真栽了「,他回了個中性符號——台上輸過一局就急著台下使絆子的,栽的位置通常不在棋盤上。命運大多不是被推倒的,是自己往鬆動處一站。
倒是天樞後半夜推來條技術面更貼的報告:【銳科核心調度模塊主程團隊,本周三份簡歷更新。招聘瀏覽可查方向,偏二三線城市。】意思顯而易見:底盤一旦鬆動,一年資歷到期能否重新站穩,就不是他們自己說了算。
人散得最快的企業,不是被罰最狠的,是最先失去「值得一起做事「這個信念的。
風波平息後第一個周一,晨會比平時晚十分鐘。陳志遠站定,臉上線條比上周實在許多。他清了清嗓子,停頓比往常長——不是醞釀情緒,是找合適的起點。
「這段時間辛苦了,「話音放低,「結果出了,咱們沒問題,而且——「聲調略抬,「甲方把公司從備選正式調為'核心合作方',二期細分領域的優先合作資格都下來了。「
掌聲。老周拍得最實,小趙鼓紅了掌心;也有幾處不咸不淡,後排某段對齊首尾兩秒。林默坐末排靠過道,屏上鋪著昨晚掛機跑完的彈性調度回歸曲線,平平整整。他手底標定著下個版本切片算法的參考閾值,別的聲響落進耳朵都帶輕微延時,像穿過一層不算厚的真空。
散會大半人圍到陳志遠近旁,問合同簽署時間、團建是否工作日之類。行政小姑娘抱新印的核心供應商名錄擠過,紙張油墨味沒散,封面燙金字被燈管照出淡反光。
會議室外,靠窗側位,不知何時立了個人。深色西裝利落;胸前別枚不大的金屬徽章,圖案樸素得像行業協會通用會標;手無文件袋終端。年齡難判,肩寬背直,發往後梳,落座姿態有種刻意收斂的凝定——不屬於熟悉的幾種職場站位。
他從始至終沒開口。等人群密度夠,也轉身向外,方向與他人一致。走過林默工位外側,視線自然下垂,落在那標註調度參數的身影上,約三秒。
無點頭。無寒暄。面部肌肉沒牽動一塊。收回視線,腳步維持原節奏,徑直走向電梯。自始至終手沒多一樣東西。門合攏瞬間,樓層數字暗下去一格。
這三秒林默沒捕捉到——他正調高一組曲線的顏色對比度,注意力全在像素上。真正記下一切的是天樞。它在那瞬間完成整套動作:輪廓提取、身高步幅建模、胸徽外形轉成微型結構圖,連同入場登記時間與身份一覽表缺漏,封裝成一隻很短的數據包。命名依它自建的觀察條目規範,文件夾層級又深一級,無備註無標籤,和鄰座們靜置最底層——
那是它一開始就預留的位置:北岸過道灰夾克中年人的步態;三天收網留下的境外編譯指紋;如今再加一枚無注釋的胸徽拓樣。三者擱一處,意義暫不明,但沒有一個不必要。
傍晚下班前,陳志遠叫他去了后街牛肉麵。沒喊別人,桌上兩碗面一碟蒜瓣。兩句閒話:一句「工資一分不少「,一句「以後技術上的事你自己拿主意,不用報備「。第二句完,他埋頭撕筷子袋,撕了三次才開。面吃完,各自騎車回家,路燈把影子先後推過路口,又先後折斷。
風裡有了初秋的爽利。城中另一頭某扇窗還亮著,空調滴水勻勻打在遮陽棚上。屋裡那人今晚大概也在總結周五那場三人對座。但那間屋沒一張紙扔出窗,沒一個名字寫進日程牌。
有些回合不需要立刻看到下一手。這世界的耐心不均等分布——給了守望的人更多一點。
而那枚樸素的胸徽、那個在人群里無聲立了三秒的身影,究竟是誰,在棋局之外另落了一子?
往常這個鐘點,王海濤一進門,安排活的嗓門就能撐起大半個前廳。今早門被推開,那層聲音整個缺席了。走廊盡頭的列印隊列從上班到現在一筆沒接到,比昨天上午三十單周報反常得多。每隔一會兒,飲水機深處咕咚一聲悶響,平日混在人聲里聽不見,如今成了辦公區唯一在動的聲音。
小趙把椅子轉過來半個身位,嘴唇動了動,用氣音問:「默哥,今天來的是哪路神仙?「
林默搖頭,沒抬頭。他正把那塊加密歸檔盤拔下又插上,指示燈由暗轉穩,綠色指紋貼安分地貼著。旁邊王海濤破天荒沒插嘴,低頭敲鍵盤,節奏慢而虛,像摸黑試一台不熟的琴。
餘光里那份「核查時段「列印件還攤在王海濤桌角,邊角卷著毛邊,最上一張頁腳折了道豎痕。這材料按規定當晚該入庫,卻在家裡外頭睡了整宿。林默掃過去,又掃回來,沒多留表情。
陳志遠來得最早。八點一刻,窗台那盆綠蘿被轉了向,葉尖齊刷刷指向門口——原本它是迎著採光擺的。沒人知道什麼時候動的,只知早上保潔擦窗架時還朝著原方向。走廊盡頭售貨機嗡一聲,貨道轉一圈吐出罐黑咖啡,沒人取。
八點十分差幾分,陳志遠把林默叫進裡間。沒坐下。他雙手捧茶杯站桌旁,指腹一圈圈摩挲杯沿,瓷器磨出乾澀細響。「九點半省市聯合的來。「嗓子壓得低,喉結起伏一趟,「審計軌跡都拿出來……你那邊,齊嗎?「
「齊。「林默說,「您別慌。「
「想拍你肩來著,「陳志遠笑一下,胳膊抬半道收回,改成擺正椅背上的外套,「算了。「
茶端起抿一口,沒咽,又擱回。杯底磕桌面一記輕響。這位年長近十歲的髮小、公司老闆,抖得不比當年創業敗掉的夜晚輕多少。
林默退出裡間,碰見提暖壺往回走的老周。老頭兒什麼沒問,只朝他努努下巴,眼皮耷拉一瞬——他們間處理要緊事的老規矩,一切留到必要時候。
回工位,林默摸出一直插著的外接歸檔盤,塞進內側口袋。外殼磨起毛,比打火機厚一點,裡面是從生產環境同步留存的操作審計副本,帶完整哈希鏈。這盤來歷要追溯到上上次創業失敗——帳目一夜被改得面目全非,他想反駁時,手裡的底稿半年前就被當廢紙清了。從那以後他經手的記錄,都另留一份改不動的副本,定時輪轉兩個異地介質,互不通訊。
天樞把歸檔盤最新校驗狀態推到他眼前:綠色,一致。左耳後上方輕顫收緊半格。【在外頭少說,多看。】五個字用介於叮囑與陳述間的平穩頻率發來,不帶修飾。林默拇指在桌沿慢慢捻一下,算作答。
小趙最有代表性。椅背又轉回三分之一度,視線不時越隔板望大門。上周四聚餐他還興致高,一個周末過去,臉上輕鬆像被擰掉螺絲,一點一點垮。他反覆摩挲工牌掛繩,吊墜隨呼吸一升一降。
九點半,人到得准。三人,兩男一女,制服公文包斜挎,包帶別著編制標籤。領頭組長五十出頭,寸頭,眉骨偏高,邁第一步就把二號會議室門口地磚踩出脆響。跟進的眼鏡女,袖口別支黑中性筆,包里塞疊速記窄欄紙。最年輕的抱只貼封條資料箱,走路箱子幾乎不晃。
進門誰也沒自我介紹。組長反手帶門留一指縫,轉身,目光沿每張臉一寸寸過——每個方向停留長短相近,收束不留餘溫。不像舞台亮相,更像給房間編物:桌几件、椅幾把、活人幾位、姿態各如何。
陳志遠上前打招呼,彎腰遞水,腕骨透出點緊繃:「領導好,辛苦。「
「不用客氣。「組長接杯,放離手肘一拳處,不動。這句話先給主位定了調。
王海濤今天坐得離主位最遠,深灰襯衫扣到倒數第二顆——他衣櫥里罕見守規矩的一次。坐定後每三四分鐘,視線從文件紙抬起往林默那掃一趟,又飛快滑開。林默裝沒看見,攤開筆記本,手指輕搭觸控板,不點。
牆鍾走兩格半。王海濤挪三次重心,第四次才靜,只是右手食指開始在膝蓋上抵節奏敲,一二一二,快,停,一二一二——像要把擔憂掐進掌心的人才有的小節奏。
開門見山沒客套。「志遠數科近一年政務雲運維全量審計軌跡,請出示。「組長語速平緩,字字分開,「重點是問詢函里'違規操作數據、越權訪問'前後兩周。現場演示,不做轉錄。「
「已在機內。「林默起身接投影,那面平常放周報PPT的幕布換成了時間軸。橫向長線分格,每節點懸浮幾個關鍵詞。第二層里,每條操作記錄掛著自己專屬時間戳與上游審批單號,拖動畫面,跨審批節點的關係連線像被風吹醒,緩緩甦醒,一路點亮到鏈末端。
會議室有人不易察覺地傾身。所謂「違規操作數據「那幾天,林默的操作記錄翻開確實無聊。
登錄兩次。查健康看板兩次。導一份公開運維周報模板一次。合計五次,沒一個碰公民欄位讀寫接口,沒調過任何一條需二級審批的敏感鏈。
全網首發更新 TW 看書網體驗佳,𝔰𝔥𝔲.𝔱𝔴超讚
與之並肩投在右側的,是他那周完整物理軌跡——高鐵票、簽到表、酒店登記頁、連續三晚刷卡記錄、課堂合影,最底一行標著周五返程車次。兩張圖疊在同一平面,機器動作與人體位移左右並置,時間的縫對得嚴絲合縫。人在省城,指頭就落不到雲州鍵盤上——這是不需推論的幾何關係。
這記打臉不靠一句爭辯,靠兩幅圖疊在平面里自己說話。對面精心排布的「違規「指控,被一組坐標徹底碾平。
「越權訪問公民信息這部分,「林默聲不大,人人聽清,「涉敏接口訪問全掛甲方授權帳號下,具備逐級審批。我個人沒有任何脫離授權會話的行為。您比對甲方授權台帳,單號、發起人、有效期、執行操作,一行一項。「
他調出甲方權限台帳副本,和生產側日誌並放。同樣六欄位,兩邊各半屏:單號一致,時間在窗內,操作人、審批鏈一一對應。幕布下有人低低吸口氣,又咽回。這種無需口頭爭辯的對齊,比辯解強十倍。
三人立刻轉入工作。眼鏡女把速記紙攤膝頭,筆尖刮紙沙沙不停。年輕人開筆記本邊抄邊對檔案,偶爾偏頭交換眼神,不出聲。組長動作最少,雙手仍半握拳,直到一條異常記錄讓全屋注意力聚攏——
時段重疊區,林默唯一一次登錄卡在上午九點零七分。右邊物理軌跡同刻九點零七:省城簽到大廳,簽到表拍攝時間標九點零七,背景玻璃大門折射光斑走向可辨。同一分鐘內,一端是雲端開機握手,一端是地面帶時間戳的水印照片。兩者交錯在同一坐標軸,像故意留給人看的腳印,一隻踩數字世界,一隻落物理世界。
組長伸手,指節在幕布邊緣輕叩兩下——很輕,無情緒。跟女組員低聲交換一句。女組員低頭,那行下畫一道橫線,停頓,又一道。第三筆沒落下。
林默站原地沒動。空調低鳴,涼氣勻到每人腳踝。他清楚,這時多一句辯解,都會把「證據自述「變成「人為抗辯「,反而掉價。他不打斷那幾分鐘空白,任墨跡在紙上滲。
沉默近十分鐘。唯有的聲響是速記紙翻了一頁。之後組長抬頭,視線第一次落在他臉上而非屏幕:
「林工,這些記錄源頭在哪?「
「三個源頭。「林默豎三根指,逐一扳倒。
「生產環境自身的操作審計,按等保三級自動落盤。我無寫入權,只有導出權,系統不接受人工干預。「
「再是我司上月起執行的駐場歸檔規範,本套系統全量備份也在覆蓋內,追溯鏈獨立成冊,保管與使用分離。「
「還有這個——「他從內側口袋摸出那小塊硬碟,擱桌面白紙中央,「我個人的同步歸檔副本,里有完整哈希值。您願的話,現場取任意一段比對,只要一個字符不一樣,整條鏈就斷。「
組長沒立刻碰盤。他先看它怎麼上來——朝向、接口留距、電源線都沒多纏一圈。看完才把公文包拉近,從夾層取只編號取證優盤,示意年輕人。兩人無多餘交流。
白紙上,硬碟接入審查專用筆記本。校驗腳本跑起來,屏幕滾出一長串固定寬度的十六進位字符。收尾停頓那一刻,比對面板正中跳出兩行等寬字體,一模一樣,直到末尾那個十六進位字母,筆畫都不差。
年輕人抬頭朝組長點下巴。組長才轉話鋒:「這鏈你手動導的,還是系統自動?「
「系統自動。「林默搖頭,「我只有隻讀導出權,連自己都改不了源頭那份,更別說拷貝之後。「
他沒講哈希鏈怎麼織成——雙層嵌套鎖定、定期把哈希值嵌入上一版頭,那些答辯料眼下根本問不到那麼深。他只注意到:組長聽完最後一句,目光回校驗值上停兩秒,移開。那兩秒里無質疑,只有確認。
屋內空氣鬆了點。女組員速記筆劃下第三道線,比前兩道短,角度放緩,像在收束一整段判斷而非續記懸案。
組長合本子,合頁一聲鈍響。起身離席前朝窗外看一眼——對面樓幕牆反射上午十點光,亮度沿玻璃邊緣緩移。他看的不是風景,是種把人與物分開梳理的習慣。
「今天就到這。「他說,「接下來按程序走。「
林默沒起立。等三人收攏離開,他切斷投影,幕布恢復整片白,掏手機給那段比對結果補拍原圖歸檔——給未來某刻的復件,用途未定,但按他習慣,留著總沒錯。
回去走廊上,小趙在樓梯拐角探頭,一見他出門就縮回,又忍不住伸出半個額頭——「怎麼樣怎麼樣?「憋得快變調。
「正常對齊。「林默走過,拍他後腦勺,「開會要有會開的樣子。「
小趙縮脖笑,懸半天的氣終於吐出,人矮了半截。
接下來三天,表面如常。林默白天巡檢寫報告,順手幫緩存組核了個索引失效的小故障。晚間半小時,他把天樞從公開渠道篩來的訊息逐條看過去——省交易平台新增公告、市政務周報、兩家平台入庫更新。銳科相關詞條多了,欄目從「中標候選人「換成了「處理決定「。
第二天傍晚六點四十,官網發了一則不長的情況通報。陳志遠在辦公室念出聲。林默手機震兩下靜了,十秒後屏上跳出直推截圖鏈,附一個字——看。
通報分了三層意思。頭一層是查證結論:未發現志遠數科存在違規操作數據或越權訪問公民信息的行為;提交的操作審計鏈條完整一致,未見異常刪除、回寫或追溯性修改。附註:審計抽取覆蓋近一年全部業務周期。
往下一層落到問詢函來源:經核查,該函主要內容與比武當日銳科整理的一份應對預案在段落框架、風險句式、爭議排序上高度相似,標點習慣也可對應吻合;且事發前後銳科確曾通過特定人員介入甲方流程,影響核查節奏。依平台規定,認定惡意投訴並違規干預,納入不良記錄,市級政務信息化投標資格自公布日起停一年。
最末一行備註:所涉其他人員及單位線索,另案處理。另案處理。
四字排在校勘欄,字號只小半號。林默關頁前,單獨看了這倆字半分鐘。刀鞘送過去了,握刀柄的手沒寫進任何裁決。官方克制的從容——不停,不追,不延伸半步——卻把一件事釘明:那盤棋沒在周五下午三點結束,只是計量單位從「天「換成了「月「。
這一局林默始終沒出手。對面自己先崩了——惡意投訴反噬成一年投標封印,趙總監悄然離場。這記反殺落得乾淨,刀光都沒濺到他身上。
隨後兩天,外部信息勻速到位。銳科三個在建項目節點推遲,某區智慧園區分期施工同時停擺;大數據局簡報里「合作單位嚴格執行「悄然換成「另行組織複評「。行業群一行字:銳科技術總監趙某某已離職,沒寫原因,沒配頭像變動。有人補了句「善惡終有報「。林默沒參與,也沒點讚。舊相識私信「老趙真栽了「,他回了個中性符號——台上輸過一局就急著台下使絆子的,栽的位置通常不在棋盤上。命運大多不是被推倒的,是自己往鬆動處一站。
倒是天樞後半夜推來條技術面更貼的報告:【銳科核心調度模塊主程團隊,本周三份簡歷更新。招聘瀏覽可查方向,偏二三線城市。】意思顯而易見:底盤一旦鬆動,一年資歷到期能否重新站穩,就不是他們自己說了算。
人散得最快的企業,不是被罰最狠的,是最先失去「值得一起做事「這個信念的。
風波平息後第一個周一,晨會比平時晚十分鐘。陳志遠站定,臉上線條比上周實在許多。他清了清嗓子,停頓比往常長——不是醞釀情緒,是找合適的起點。
「這段時間辛苦了,「話音放低,「結果出了,咱們沒問題,而且——「聲調略抬,「甲方把公司從備選正式調為'核心合作方',二期細分領域的優先合作資格都下來了。「
掌聲。老周拍得最實,小趙鼓紅了掌心;也有幾處不咸不淡,後排某段對齊首尾兩秒。林默坐末排靠過道,屏上鋪著昨晚掛機跑完的彈性調度回歸曲線,平平整整。他手底標定著下個版本切片算法的參考閾值,別的聲響落進耳朵都帶輕微延時,像穿過一層不算厚的真空。
散會大半人圍到陳志遠近旁,問合同簽署時間、團建是否工作日之類。行政小姑娘抱新印的核心供應商名錄擠過,紙張油墨味沒散,封面燙金字被燈管照出淡反光。
會議室外,靠窗側位,不知何時立了個人。深色西裝利落;胸前別枚不大的金屬徽章,圖案樸素得像行業協會通用會標;手無文件袋終端。年齡難判,肩寬背直,發往後梳,落座姿態有種刻意收斂的凝定——不屬於熟悉的幾種職場站位。
他從始至終沒開口。等人群密度夠,也轉身向外,方向與他人一致。走過林默工位外側,視線自然下垂,落在那標註調度參數的身影上,約三秒。
無點頭。無寒暄。面部肌肉沒牽動一塊。收回視線,腳步維持原節奏,徑直走向電梯。自始至終手沒多一樣東西。門合攏瞬間,樓層數字暗下去一格。
這三秒林默沒捕捉到——他正調高一組曲線的顏色對比度,注意力全在像素上。真正記下一切的是天樞。它在那瞬間完成整套動作:輪廓提取、身高步幅建模、胸徽外形轉成微型結構圖,連同入場登記時間與身份一覽表缺漏,封裝成一隻很短的數據包。命名依它自建的觀察條目規範,文件夾層級又深一級,無備註無標籤,和鄰座們靜置最底層——
那是它一開始就預留的位置:北岸過道灰夾克中年人的步態;三天收網留下的境外編譯指紋;如今再加一枚無注釋的胸徽拓樣。三者擱一處,意義暫不明,但沒有一個不必要。
傍晚下班前,陳志遠叫他去了后街牛肉麵。沒喊別人,桌上兩碗面一碟蒜瓣。兩句閒話:一句「工資一分不少「,一句「以後技術上的事你自己拿主意,不用報備「。第二句完,他埋頭撕筷子袋,撕了三次才開。面吃完,各自騎車回家,路燈把影子先後推過路口,又先後折斷。
風裡有了初秋的爽利。城中另一頭某扇窗還亮著,空調滴水勻勻打在遮陽棚上。屋裡那人今晚大概也在總結周五那場三人對座。但那間屋沒一張紙扔出窗,沒一個名字寫進日程牌。
有些回合不需要立刻看到下一手。這世界的耐心不均等分布——給了守望的人更多一點。
而那枚樸素的胸徽、那個在人群里無聲立了三秒的身影,究竟是誰,在棋局之外另落了一子?