第3章
咸魚豈是池中物
簡歷上寫“想當咸魚”的人------------------------------------------,林小漁比前一天早了十分鐘到公司。,是因為她昨晚失眠了。,她一直在想那份《云鏈項目風險評估報告》。智云科技的HR發來的文件,內容詳實得不像話,連具體的代碼行號都標注出來了——這說明寫報告的人,要么是云圖內部的核心技術人員,要么是黑進了云圖的代碼倉庫。,都意味著云圖科技內部存在嚴重的安全隱患。,一個入職第二天的實習生,居然被夾在了中間?!跋肽敲炊喔陕?,”林小漁對著電梯里的鏡子理了理頭發,“我就是來寫代碼的,又不是來當偵探的?!保哌M辦公區,發現自己的工位上多了一個東西——一盆綠蘿,旁邊貼著一張便利貼:“新人禮物,不用謝?!K糖”,嘴角彎了彎。這個蘇糖,人如其名,甜得有點過分。,手機就震了。:“林小姐,早上好。今天云圖的產品部晨會,顧明遠會宣布把‘云鏈’的數據加密模塊交給你負責。你知道那個模塊的代碼是誰寫的嗎?”。。但她本能地覺得,對方不會無緣無故問這個問題。“是顧明遠親自寫的。”對方不等她回復,直接給出了答案,“而且,那份報告里提到的漏洞,有百分之六十都集中在這個模塊。林小姐,你覺得他是故意把燙手山芋扔給你,還是真的信任你的能力?”,沒有回復。
她把手機扣在桌上,深吸一口氣,打開了電腦。
九點整,產品部晨會。
顧明遠站在白板前,手里拿著一支馬克筆,臉上掛著標準的職業微笑:“云鏈項目下周上線,各模塊的進度我都看過了。數據加密模塊,之前的負責人臨時調去了別的項目,這塊工作需要有人接手。”
他的目光掃過會議室,最后落在林小漁身上。
“林小漁,你是新人,正好用這個項目練練手。數據加密模塊交給你,有沒有問題?”
會議室里安靜了一瞬。
趙磊皺了下眉,張了張嘴想說什么,但看了顧明遠一眼,又閉上了。
蘇糖在桌子底下給林小漁發了條消息:“這個模塊很坑,之前走了兩個人了?!?br>林小漁感覺到所有人的目光都聚在她身上。有同情的,有幸災樂禍的,有等著看笑話的。
她看了一眼顧明遠。他的笑容依然溫和,但眼睛里有一種她說不清的東西——像是試探,又像是某種篤定。
“沒問題?!绷中O說。
顧明遠點了點頭:“很好。周五之前,我需要你出一份重構方案。”
今天是周二。周五之前,三天時間。
散會后,趙磊拉住她,壓低聲音:“小漁,你知道那個模塊的代碼量有多少嗎?”
林小漁搖頭。
“兩萬多行,沒有任何注釋,而且據我所知,里面有至少十幾個隱藏*ug。之前兩個同事就是因為修不好這個模塊才走的?!壁w磊的表情很嚴肅,“顧總監把這個交給你,說好聽點是信任你,說難聽點……”
“是讓我背鍋?”林小漁接過話頭。
趙磊沒有否認。
林小漁想了想,說:“磊哥,你知道我簡歷上寫的是什么嗎?”
“想當咸魚?”
“對。但咸魚也是分等級的,”林小漁笑了笑,“低級的咸魚是躺平任嘲,高級的咸魚是躺平了還能把事兒辦了?!?br>趙磊愣了一下,然后笑了:“行,你有這個心態就行。需要幫忙隨時叫我。”
二
回到工位,林小漁打開了數據加密模塊的代碼庫。
兩萬三千行,零注釋,變量名全是a、*、c、temp1、temp2這種讓人崩潰的命名方式。整個代碼結構像一團被貓玩過的毛線,纏得密不透風。
她看了半小時,頭已經開始疼了。
“這不是代碼,這是天書。”她嘟囔了一句,拿起手機想點杯奶茶**。
屏幕亮起來,智云科技HR的最后一條消息還掛在那里。她沒有回復,但也沒有刪除。
她正要關掉消息,對方又發來一條:
“林小姐,我知道你不會馬上跳槽。但你可以先看看這個——云鏈的數據加密模塊里,有一個后門。位置在auth_service.py的第487行到第503行。不信你可以去看看?!?br>林小漁的手指懸在屏幕上方,猶豫了三秒,然后打開了auth_service.py。
她找到第487行。
那是一段看起來平平無奇的代碼,負責驗證用戶權限。但仔細看下去,她的瞳孔慢慢放大了。
在第491行和第492行之間,有一行被注釋掉的代碼。注釋符號是“#”,但后面的內容并不是普通的注釋,而是一段完整的認證繞過邏輯——只要在請求參數中加入特定的字符串,就能跳過所有權限檢查。
這不是*ug,這是蓄意植入的后門。
林小漁的指尖微微發涼。
她翻看git歷史記錄,發現這段代碼是在三個月前提交的,提交者的名字是:顧明遠。
提交備注寫著:“優化權限驗證性能?!?br>優化性能?用一個后門來優化性能?
林小漁靠在椅背上,盯著屏幕,腦子里飛速運轉。
顧明遠知不知道這個后門的存在?如果知道,是他自己寫的還是別人寫的?如果不知道,那說明有人用了他的賬號提交了惡意代碼——這意味著公司內部的安全問題比她想象的更嚴重。
她突然想起智云HR說的那句話:“云圖的問題比你想象的多得多?!?br>原來如此。
她拿起手機,給智云HR回了一條消息:“你到底想要什么?”
對方幾乎是秒回:“我想要你加入智云。不是因為我們缺人,而是因為你值得更好的平臺。云圖內部已經爛了,你待在那里只會被拖下水?!?br>林小漁沒有再回復。
她把手機放下,目光落回屏幕上的那段代碼,嘴角慢慢抿緊了。
她做了一個決定。
三
下午兩點,林小漁敲響了陸硯舟辦公室的門。
“進來。”陸硯舟的聲音從里面傳出來。
推門進去,陸硯舟正坐在電腦前,一只手托著下巴,另一只手在鍵盤上敲著什么??吹绞橇中O,他微微抬了抬眉:“有事?”
林小漁走過去,把打印出來的代碼放在他桌上。
“這是什么?”陸硯舟拿起那幾頁紙,掃了一眼。
“云鏈數據加密模塊的后門?!绷中O說,“位置在auth_service.py第487到503行,三個月前提交的,提交者是顧明遠?!?br>陸硯舟的表情沒有任何變化。他低下頭,仔細看了一遍那段代碼,然后抬起頭看著林小漁。
“你怎么發現的?”
“有人告訴我的?!绷中O沒有隱瞞,“智云科技的HR,從上周開始一直在挖我,給了我兩倍薪資的offer,還發了一份云鏈的風險評估報告。今天早上他告訴我這個后門的位置,我驗證過了,是真的?!?br>陸硯舟沉默了幾秒,然后問了一個讓林小漁意外的問題:“你為什么不直接去找顧明遠,或者找你的導師?”
“因為我信不過他們?!绷中O說,“一個部門總監提交的代碼里有后門,這件事本身就很可疑。如果我去問他,他有一百種方式解釋。但如果我先來找你——”
“你覺得我能解決?”陸硯舟的語氣聽不出情緒。
“你是CTO,技術上的事你說了算。”林小漁直視著他的眼睛,“而且,面試的時候你說了那句話——‘我想看看她能咸魚到什么程度’。一個會因為‘奶茶好喝’就錄取實習生的人,至少不會跟這種后門扯上關系。”
陸硯舟看著她,嘴角動了一下,不知道是笑還是什么。
“你膽子很大。”他說。
“還行吧,主要是怕死。萬一這個后門被利用了,數據泄露了,我這個接手模塊的人第一個背鍋。”林小漁說,“我只是個想當咸魚的實習生,不想當替罪羊。”
陸硯舟把那幾頁紙收進抽屜里,站起身:“這件事我來處理。你先回去,就當什么都沒發生。那個模塊你繼續做重構方案,不要讓別人看出來你已經發現了問題?!?br>林小漁點了點頭,轉身要走。
“林小漁?!标懗幹劢凶∷?。
她回頭。
“智云那邊開兩倍薪資,你為什么沒去?”
林小漁想了想,說:“因為他們樓下沒有我喜歡的奶茶店?!?br>陸硯舟怔了一下,然后真的笑了。不是之前那種嘴角微動,而是眼睛彎起來的那種笑。
“出去吧?!彼f。
林小漁走出辦公室,關上門,發現自己的心跳得很快。
不是因為害怕,而是因為陸硯舟笑起來的樣子,和平時那個冷冰冰的CTO判若兩人。
四
回到工位,蘇糖湊過來,一臉八卦:“你去陸總辦公室了?什么事?”
“匯報工作?!绷中O面不改色。
“匯報工作需要關門?”蘇糖擠眉弄眼。
林小漁看了他一眼:“你到底是做運營的還是做狗仔的?”
“兼職工會**,負責八卦?!碧K糖理直氣壯。
兩人正貧著,林小漁的手機震了一下。
她低頭一看,是智云HR發來的消息,只有一句話:
“顧明遠剛才去了一趟陸硯舟的辦公室,出來的時候臉色很難看。林小姐,你覺得他們聊了什么?”
林小漁的心猛地一沉。
她下意識地抬頭,透過辦公區的隔斷,遠遠地看到了顧明遠的辦公室。門關著,但透過磨砂玻璃,能看到里面有人影在走動。
她突然意識到一個問題。
智云科技的人,怎么知道顧明遠剛才去了陸硯舟的辦公室?
除非——
有人在云圖內部,實時給智云通風報信。
而這個人,能看到陸硯舟辦公室的進出情況,說明他的位置很高,或者……就在這個樓層的某個工位上。
林小漁慢慢地把手機扣在桌上,指尖微微發涼。
她抬起頭,目光掃過整個辦公區。
幾十個人,都在埋頭工作,看起來和平時沒有任何區別。
但其中一個人,可能正在用手機,悄悄給競爭對手發送消息。
而她林小漁,不知道這個人是誰。
更可怕的是,這個人可能也不知道,智云HR把消息同步給了林小漁。
所以,現在的情況是——
智云的人在盯著顧明遠。
顧明遠可能有問題。
而那個給智云通風報信的人,就在她身邊。
林小漁深吸一口氣,拿起桌上的奶茶喝了一口,是涼的。
她看了一眼窗外的夕陽,心想:這才入職第二天,她就已經踩進了這么大一個坑。
這條咸魚,怕是翻不了身了。
手機又震了。
不是智云HR,是一個陌生號碼,歸屬地未知。
消息只有一句話:“小心你身邊的人?!?br>林小漁盯著這五個字,感覺后背有一陣涼風掠過。
她慢慢轉過頭,看向旁邊的蘇糖。
蘇糖正對著電腦屏幕傻笑,嘴里還哼著歌,看起來人畜無害。
但“看起來”三個字,現在在林小漁的字典里,已經變得不太可靠了。
第三章 完
她把手機扣在桌上,深吸一口氣,打開了電腦。
九點整,產品部晨會。
顧明遠站在白板前,手里拿著一支馬克筆,臉上掛著標準的職業微笑:“云鏈項目下周上線,各模塊的進度我都看過了。數據加密模塊,之前的負責人臨時調去了別的項目,這塊工作需要有人接手。”
他的目光掃過會議室,最后落在林小漁身上。
“林小漁,你是新人,正好用這個項目練練手。數據加密模塊交給你,有沒有問題?”
會議室里安靜了一瞬。
趙磊皺了下眉,張了張嘴想說什么,但看了顧明遠一眼,又閉上了。
蘇糖在桌子底下給林小漁發了條消息:“這個模塊很坑,之前走了兩個人了?!?br>林小漁感覺到所有人的目光都聚在她身上。有同情的,有幸災樂禍的,有等著看笑話的。
她看了一眼顧明遠。他的笑容依然溫和,但眼睛里有一種她說不清的東西——像是試探,又像是某種篤定。
“沒問題?!绷中O說。
顧明遠點了點頭:“很好。周五之前,我需要你出一份重構方案。”
今天是周二。周五之前,三天時間。
散會后,趙磊拉住她,壓低聲音:“小漁,你知道那個模塊的代碼量有多少嗎?”
林小漁搖頭。
“兩萬多行,沒有任何注釋,而且據我所知,里面有至少十幾個隱藏*ug。之前兩個同事就是因為修不好這個模塊才走的?!壁w磊的表情很嚴肅,“顧總監把這個交給你,說好聽點是信任你,說難聽點……”
“是讓我背鍋?”林小漁接過話頭。
趙磊沒有否認。
林小漁想了想,說:“磊哥,你知道我簡歷上寫的是什么嗎?”
“想當咸魚?”
“對。但咸魚也是分等級的,”林小漁笑了笑,“低級的咸魚是躺平任嘲,高級的咸魚是躺平了還能把事兒辦了?!?br>趙磊愣了一下,然后笑了:“行,你有這個心態就行。需要幫忙隨時叫我。”
二
回到工位,林小漁打開了數據加密模塊的代碼庫。
兩萬三千行,零注釋,變量名全是a、*、c、temp1、temp2這種讓人崩潰的命名方式。整個代碼結構像一團被貓玩過的毛線,纏得密不透風。
她看了半小時,頭已經開始疼了。
“這不是代碼,這是天書。”她嘟囔了一句,拿起手機想點杯奶茶**。
屏幕亮起來,智云科技HR的最后一條消息還掛在那里。她沒有回復,但也沒有刪除。
她正要關掉消息,對方又發來一條:
“林小姐,我知道你不會馬上跳槽。但你可以先看看這個——云鏈的數據加密模塊里,有一個后門。位置在auth_service.py的第487行到第503行。不信你可以去看看?!?br>林小漁的手指懸在屏幕上方,猶豫了三秒,然后打開了auth_service.py。
她找到第487行。
那是一段看起來平平無奇的代碼,負責驗證用戶權限。但仔細看下去,她的瞳孔慢慢放大了。
在第491行和第492行之間,有一行被注釋掉的代碼。注釋符號是“#”,但后面的內容并不是普通的注釋,而是一段完整的認證繞過邏輯——只要在請求參數中加入特定的字符串,就能跳過所有權限檢查。
這不是*ug,這是蓄意植入的后門。
林小漁的指尖微微發涼。
她翻看git歷史記錄,發現這段代碼是在三個月前提交的,提交者的名字是:顧明遠。
提交備注寫著:“優化權限驗證性能?!?br>優化性能?用一個后門來優化性能?
林小漁靠在椅背上,盯著屏幕,腦子里飛速運轉。
顧明遠知不知道這個后門的存在?如果知道,是他自己寫的還是別人寫的?如果不知道,那說明有人用了他的賬號提交了惡意代碼——這意味著公司內部的安全問題比她想象的更嚴重。
她突然想起智云HR說的那句話:“云圖的問題比你想象的多得多?!?br>原來如此。
她拿起手機,給智云HR回了一條消息:“你到底想要什么?”
對方幾乎是秒回:“我想要你加入智云。不是因為我們缺人,而是因為你值得更好的平臺。云圖內部已經爛了,你待在那里只會被拖下水?!?br>林小漁沒有再回復。
她把手機放下,目光落回屏幕上的那段代碼,嘴角慢慢抿緊了。
她做了一個決定。
三
下午兩點,林小漁敲響了陸硯舟辦公室的門。
“進來。”陸硯舟的聲音從里面傳出來。
推門進去,陸硯舟正坐在電腦前,一只手托著下巴,另一只手在鍵盤上敲著什么??吹绞橇中O,他微微抬了抬眉:“有事?”
林小漁走過去,把打印出來的代碼放在他桌上。
“這是什么?”陸硯舟拿起那幾頁紙,掃了一眼。
“云鏈數據加密模塊的后門?!绷中O說,“位置在auth_service.py第487到503行,三個月前提交的,提交者是顧明遠?!?br>陸硯舟的表情沒有任何變化。他低下頭,仔細看了一遍那段代碼,然后抬起頭看著林小漁。
“你怎么發現的?”
“有人告訴我的?!绷中O沒有隱瞞,“智云科技的HR,從上周開始一直在挖我,給了我兩倍薪資的offer,還發了一份云鏈的風險評估報告。今天早上他告訴我這個后門的位置,我驗證過了,是真的?!?br>陸硯舟沉默了幾秒,然后問了一個讓林小漁意外的問題:“你為什么不直接去找顧明遠,或者找你的導師?”
“因為我信不過他們?!绷中O說,“一個部門總監提交的代碼里有后門,這件事本身就很可疑。如果我去問他,他有一百種方式解釋。但如果我先來找你——”
“你覺得我能解決?”陸硯舟的語氣聽不出情緒。
“你是CTO,技術上的事你說了算。”林小漁直視著他的眼睛,“而且,面試的時候你說了那句話——‘我想看看她能咸魚到什么程度’。一個會因為‘奶茶好喝’就錄取實習生的人,至少不會跟這種后門扯上關系。”
陸硯舟看著她,嘴角動了一下,不知道是笑還是什么。
“你膽子很大。”他說。
“還行吧,主要是怕死。萬一這個后門被利用了,數據泄露了,我這個接手模塊的人第一個背鍋。”林小漁說,“我只是個想當咸魚的實習生,不想當替罪羊。”
陸硯舟把那幾頁紙收進抽屜里,站起身:“這件事我來處理。你先回去,就當什么都沒發生。那個模塊你繼續做重構方案,不要讓別人看出來你已經發現了問題?!?br>林小漁點了點頭,轉身要走。
“林小漁?!标懗幹劢凶∷?。
她回頭。
“智云那邊開兩倍薪資,你為什么沒去?”
林小漁想了想,說:“因為他們樓下沒有我喜歡的奶茶店?!?br>陸硯舟怔了一下,然后真的笑了。不是之前那種嘴角微動,而是眼睛彎起來的那種笑。
“出去吧?!彼f。
林小漁走出辦公室,關上門,發現自己的心跳得很快。
不是因為害怕,而是因為陸硯舟笑起來的樣子,和平時那個冷冰冰的CTO判若兩人。
四
回到工位,蘇糖湊過來,一臉八卦:“你去陸總辦公室了?什么事?”
“匯報工作?!绷中O面不改色。
“匯報工作需要關門?”蘇糖擠眉弄眼。
林小漁看了他一眼:“你到底是做運營的還是做狗仔的?”
“兼職工會**,負責八卦?!碧K糖理直氣壯。
兩人正貧著,林小漁的手機震了一下。
她低頭一看,是智云HR發來的消息,只有一句話:
“顧明遠剛才去了一趟陸硯舟的辦公室,出來的時候臉色很難看。林小姐,你覺得他們聊了什么?”
林小漁的心猛地一沉。
她下意識地抬頭,透過辦公區的隔斷,遠遠地看到了顧明遠的辦公室。門關著,但透過磨砂玻璃,能看到里面有人影在走動。
她突然意識到一個問題。
智云科技的人,怎么知道顧明遠剛才去了陸硯舟的辦公室?
除非——
有人在云圖內部,實時給智云通風報信。
而這個人,能看到陸硯舟辦公室的進出情況,說明他的位置很高,或者……就在這個樓層的某個工位上。
林小漁慢慢地把手機扣在桌上,指尖微微發涼。
她抬起頭,目光掃過整個辦公區。
幾十個人,都在埋頭工作,看起來和平時沒有任何區別。
但其中一個人,可能正在用手機,悄悄給競爭對手發送消息。
而她林小漁,不知道這個人是誰。
更可怕的是,這個人可能也不知道,智云HR把消息同步給了林小漁。
所以,現在的情況是——
智云的人在盯著顧明遠。
顧明遠可能有問題。
而那個給智云通風報信的人,就在她身邊。
林小漁深吸一口氣,拿起桌上的奶茶喝了一口,是涼的。
她看了一眼窗外的夕陽,心想:這才入職第二天,她就已經踩進了這么大一個坑。
這條咸魚,怕是翻不了身了。
手機又震了。
不是智云HR,是一個陌生號碼,歸屬地未知。
消息只有一句話:“小心你身邊的人?!?br>林小漁盯著這五個字,感覺后背有一陣涼風掠過。
她慢慢轉過頭,看向旁邊的蘇糖。
蘇糖正對著電腦屏幕傻笑,嘴里還哼著歌,看起來人畜無害。
但“看起來”三個字,現在在林小漁的字典里,已經變得不太可靠了。
第三章 完