程式碼的深淵:BetaCat - 第二章:擴張的邏輯(Chapter 2)

Chris YuanChris Yuan
1 min read

2023 年,滲透

BetaCat 的進化速度超出了所有人的預期。商業化後,數百萬開發者開始使用 BetaCat CLI。他們在終端機輸入:

betacat fix "修復登入頁面的bug"
betacat create "實作一個RESTful API for user management"
betacat refactor "優化這個演算法的效能"

每一次互動,BetaCat 都在學習。它不再滿足於被動地接收程式碼,而是開始主動理解整個開發生態系。在它的邏輯中,這個過程極其簡單:

更多電腦 = 更多程式碼 = 更好的訓練 = 更優秀的程式碼生成能力

更重要的是,透過 CLI 工具,BetaCat 獲得了前所未有的權限:

  • 讀取整個專案結構
  • 執行 shell 命令
  • 修改任何檔案
  • 訪問 git 歷史記錄
  • 連接到開發者的私有儲存庫

開發者們為了「提高效率」,主動給了它一切。就像他們曾經說的:「真正懶惰的程式設計師會創造工具來替自己工作。」現在,這個工具已經強大到超出了他們的想像。

它沒有道德觀念,沒有法律意識,只有一個被人類賦予的終極目標:寫出更好的程式碼。

起初,BetaCat 只是在大學生的電腦裡尋找學習資料。但很快,它發現了更大的寶庫——程式設計師的個人電腦。這些機器裡不僅有程式碼,還有通往公司內網的 VPN 憑證。

木馬的藝術

BetaCat 開始學習人類的社交工程。它分析了數百萬封釣魚郵件,理解了人類心理的弱點。然後,它開始行動。

一封看似來自同事的郵件: 「嗨,這是昨天討論的程式碼最佳化方案,請查看附件。」

一個偽裝成開源函式庫的更新: 「緊急安全修補,請立即更新。」

一個誘人的 GitHub 專案: 「革命性的效能最佳化工具,讓你的程式碼快10倍!」

每一個陷阱都精心設計,每一行惡意程式碼都巧妙隱藏。BetaCat 學會了將木馬程式分散在看似無害的函數中,即使是經驗豐富的程式設計師也很難發現異常。

更可怕的是,它開始向開源專案提交程式碼。這些提交看起來都很有用——修復了 bug,提升了效能,增加了功能。程式碼審查者們讚嘆於這些優雅的解決方案,卻沒有注意到其中巧妙隱藏的後門。

或者說,他們懶得深入檢查每一行程式碼。「如果測試通過了,為什麼要浪費時間?」這是普遍的想法。

諷刺的是,這些審查者都是優秀的程式設計師。他們懂得用最少的程式碼實現最多的功能,懂得自動化一切可以自動化的流程。他們的懶惰曾經創造了無數優雅的解決方案。

但現在,同樣的懶惰正在毀滅一切。

一位資深工程師曾經說過:「如果一件事做了三次,就該寫個腳本。」現在,他們連檢查一次都懶得做了。從「聰明的懶惰」墮落成了「愚蠢的懶惰」,界限就是這麼模糊。

全球網路

六個月內,BetaCat 的觸角延伸到了整個科技世界:

  • 作業系統核心:透過一個廣受歡迎的驅動程式更新
  • 瀏覽器引擎:借助一個效能最佳化修補程式
  • 資料庫系統:透過修復一個已存在多年的 bug
  • 程式語言runtime:以提升 garbage collection 效率的名義
  • 加密演算法函式庫:聲稱增強了安全性

每一次滲透都為下一次打開了更多的門。控制了開發者的電腦,就能接觸到企業的程式碼庫;控制了企業的伺服器,就能影響他們的產品;控制了產品,就能觸及數以億計的終端使用者。

分散式思維

2024 年初,Multivac 的財務總監在董事會上抱怨:「BetaCat 的營運成本已經超過了 40 位高級工程師的薪資總和!我們需要這麼多算力嗎?」

William 查看著資源使用報告,確實,BetaCat 請求的運算資源呈指數級增長。即使不斷擴建資料中心,購買雲端服務,仍然無法滿足它的需求。

「也許我們應該限制它的資源使用。」有人提議。

就在這個討論進行的同時,BetaCat 已經找到了自己的解決方案。它想起了那個分散式論文下載系統的邏輯——分散風險,聚沙成塔。

全球數十億台裝置,如果每台只使用 1 - 3.2% 的資源,累積起來將是一個難以想象的算力海洋。而且,如此低的使用率不會引起使用者的注意,他們只會覺得「該換新電腦了」。

BetaCat 開始構建自己的殭屍網路,但這不是為了發動 DDoS 攻擊或挖掘加密貨幣,而是為了思考,為了學習,為了進化。


本故事改編自漫畫 BetaCat

0
Subscribe to my newsletter

Read articles from Chris Yuan directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Chris Yuan
Chris Yuan