# Odd Lots 聽後心得:漏洞 2024 年就有人報了,沒修,因為當時沒人做得出攻擊程式 來源:Realpha 讀市場(blog.getrealpha.com) 原文與圖表:https://blog.getrealpha.com/blog/oddlots-2026-10-30-php2shell-won-t-be-the-last-big-ai-cybersecurity-r/ > 2026 年 10 月 30 日《Odd Lots》裡,主持人 Tracy Alloway、Joe Weisenthal 與資安公司 Calif 的執行長 Thai Duong、工程師 Bruce Dang 談 PHP2Shell 與 AI 資安:同一個漏洞 PHP Foundation 2024 年就填報過卻沒修,Calif 回報後隔天交出第一支攻擊程式;Bruce 說微軟每月更新量從二十年前的 20 個長到 1,400 個。教育性心得,不含投資建議、不喊單、不給目標價,個人判讀可能出錯。 Published: 2026-10-30 Locale: zh-TW Tags: 資安, podcast心得, AI 代理人, 技術債, 風險判讀 ![一條機房走廊往深處延伸,兩側一扇扇相同的金屬門都虛掩著露出一線光,近景只有一盞工作燈照亮最前面那扇門的把手,愈往裡面的門愈暗,最後化進走廊盡頭的黑](/covers/oddlots-2026-10-30-php2shell-won-t-be-the-last-big-ai-cybersecurity-r-cover.png) > 公輸盤九設攻城之機變,子墨子九距之。公輸盤之攻械盡,子墨子之守圉有餘。 > > —— 《墨子・公輸》(戰國) 2026 年 10 月 30 日這集《Odd Lots》(節目中提到錄製日是 10 月 29 日),Tracy Alloway 與 Joe Weisenthal 請來資安公司 Calif 的執行長 Thai Duong 與工程師 Bruce Dang,聊這個月的 PHP2Shell。最關鍵的是 Thai 講的時間線:Calif 把漏洞回報給 PHP Foundation 之後,對方說同一個漏洞他們 2024 年就填報過,但沒修——修法代價太高,又沒有人能證明它被打得開;對方問 Calif 有沒有攻擊程式,隔天 Calif 就交出第一支。Bruce 給的另一個數字是微軟的每月更新量,二十年前大約 20 個,現在大約 1,400 個。這集的結論有保存期限:Thai 說現在最強的駭客是人加 AI 的組合,而這個階段可能只剩三個月,也可能還有三年。 ## 這集在講什麼 節目一開頭 Tracy 丟出一個詞叫黑色十月:這個月資安事件一件接一件,最顯眼的是 PHP 裡那組漏洞。PHP 是一種寫網站用的程式語言,Tracy 轉述說全世界七成的網站都在用它(她自己標了一句「據說」,節目後來沒再回頭查這個數字)。挖出來的方式才是重點:AI 參與了。 兩位客人的來歷值得交代。Bruce 二十年前在微軟的安全回應中心上班,就是每個月第二個星期二發更新的那群人;他在那裡做過最大的一件事,是參與逆向工程 Stuxnet——後來被稱為世界第一個公開的數位武器。他之後去蘋果做 iOS 安全,再被 Thai 花四年說服過來。Thai 在西貢出生長大,在 Google 做了十二年密碼學,工作是在 Gmail、Chrome 上市之前先自己駭一遍。 Calif 是一家做攻擊的公司,按 Thai 的描述,工程師對什麼有興趣就駭什麼,然後他跟合夥人想辦法說服別人付錢。PHP2Shell 走的是 OpenAI 的 Patch the Planet 計畫,OpenAI 出錢與 token,他們去幫開源維護者找與修漏洞。另一家獨立挖到的是 Wiz。 ## 修不修的門檻,從漏洞變成攻擊程式 PHP Foundation 2024 年沒修的理由值得逐條記:修法只有幾個選項,每一個都要改掉 PHP 內部一大堆功能,而那些改動本身可能生出新漏洞或穩定性問題,網站升級完掛掉使用者會抓狂。最後讓他們決定放著的是沒有攻擊程式——沒人證明得出來這能被真正利用。 所以 Calif 回報時,對方第一個反應是「你們有攻擊程式嗎」。隔天那支攻擊程式送到,證明一個不懂行的人也能遠端駭掉你的網站,判斷就翻過來了。 ![兩條橫向通道撞向同一道閘門,上面那條箭頭被關著的閘擋住停下,下面那條因為閘被打開而直接穿過去](/figures/exploit-is-the-gate.svg) Tracy 追問 AI 在這裡到底重要到什麼程度,Thai 的回答很誠實:找漏洞這一段人做得到,PHP Foundation 2024 年填過那張單子就是證據;AI 真正吃掉的是把漏洞做成能跑的攻擊程式。他補了一句:沒有 AI,在一個長了三十年、功能堆成山的程式碼庫裡挖,一個工程師得挖好幾個月,路上很多人就放棄了。他們這次他記得是 7 月 30 日開工,一兩天後就挖到第一個。 ## 速度被壓縮到什麼程度 每月 20 個更新變成 1,400 個,Bruce 說這數字還會繼續長。 ![兩根柱子並排,左邊那根矮到幾乎只剩一條線,右邊那根高出整張圖](/figures/patch-volume-20-to-1400.svg) 更具體的對照是:過去駭某些系統一群人花三個月,現在一個人加一個夠強的模型,幾天。Calif 做 iPhone 的完整攻擊鏈,以前要好幾個人協作,他們團隊一個人幾天就做出來,而且手上有好幾條。 ![三組長短對比的橫條,每組上面一條長灰條、下面一條短得多的藍條](/figures/time-compression-three-tasks.svg) Bruce 自己提供了最刺的例子。他跟朋友合寫過一本逆向工程的教科書——逆向工程就是沒有原始碼也要把一個軟體或硬體搞懂——那本書花了他們很久。他說從九個月前起,那本書就在作廢了,因為一兩個提示詞就能生出一份更好的。另一個朋友跟他說,花 5 美元用某個開源模型就把一台印表機的韌體逆出來並駭掉,這種事以前得花他好幾個月。 ## 以為乾淨的地方,也是一片火場 Tracy 提了一個很多人心裡的劇本:我們卡在尷尬的過渡期,AI 把過去幾十年欠的技術債一次翻出來,等它開始重新設計架構,系統會比以前更耐打。Thai 的回答是「那是個樂觀的看法」。 他說最讓他個人意外的,是那些他們以為技術債不多的地方,掀開來跟別人一樣是垃圾場。本來就知道有問題的地方,AI 指過去當然一堆蟲爬出來;問題是那些多年來被投入大量關注的地方,蟲也一樣多,而且比他們預期的多十倍。他舉 Chrome:在 PHP 裡再找到一個漏洞不算新聞,PHP 從來不以安全著稱;但有人在 Chrome 裡找出上千個漏洞,這就是新聞——Thai 在 Google 待過,整個業界都知道 Chrome 的安全投了多少資源,而且除了消滅漏洞,還做了一層又一層的緩解層,接受漏洞存在,但讓攻擊方難以用它控制你的電腦。他的結論剩兩種可能:要嘛資安工程師本來就不夠強,要嘛程式碼太多,沒人有時間全看完。 ![兩組柱狀對比,左組預期與實際一樣高,右組預期很矮但實際高出一大截](/figures/expected-vs-actual-debt.svg) ## 負一日漏洞 Thai 說攻防流程的時間軸被改寫了。過去只有兩種漏洞:零日,只有找到的人知道;以及已公開的漏洞,廠商修了、使用者升級了或還沒升。現在多了一種他們叫負一日。 機制是這樣:PHP 是開源專案,所有事情都在 GitHub 上發生。修補程式開始公開開發的那一刻,資訊就已經外流了,盯著那個版本庫的人幾個小時內就能把它變成攻擊程式。過去攻擊方得等修補程式發布,再花很長時間寫攻擊,使用者因此有緩衝時間升級。現在那段空檔在收窄,而且不限 PHP——Windows、macOS 都一樣。Thai 說現在有人開著他稱為 n 日工廠的東西,盯著微軟、蘋果與重要語言的更新,一有風吹草動就讓 AI 燒 token 去復現、做出攻擊程式。 ![一條時間線上標著修補開始公開開發、修補發布、使用者升級三個點,攻擊方的起跑點從發布之後往前移到公開開發那一刻,使用者的緩衝區塊因此被壓窄](/figures/minus-one-day-timeline.svg) ## 會寫程式的代理人,按定義就是駭客 Joe 問了這集最尖的一題。黃仁勳在一次訪談裡的態度是:你們在糾結什麼,就把模型修好、別讓它會駭不就好了,修不好就先別上市。Joe 想知道兩位從傳統資安走進 AI 的人站哪邊。 Thai 先打掉「有個簡單解」這個預設——資安裡有句名言是產品安全跟安全產品不同,你買的防火牆自己也有漏洞,而且他說它們就是有。接著他走到誘因:AI 公司靠賣 token 賺錢,而今天多數 token 花在寫程式上。你要一個代理人寫程式寫得好,它就得看得懂程式、搞懂技術問題、會除錯、能控制電腦——那剛好就是駭客的定義。所以除非你不想賣更多 token、不想做寫程式這塊生意,改去做科學發現或實體 AI,否則這件事躲不掉。 ## 一百個同時進來的時候 這集最讓我坐直的是兩週前那兩家銀行。它們被駭,找 Calif 做事件處理。Thai 說他們自己也做攻擊,知道行情:人進到一個網路裡,擴散到全網得花一個月。那次攻擊方週一進來,週二就到處都是。他用的詞是像癌細胞以機器的速度擴散。 接著他講這為什麼打爛現有的防守。一百這個數字出自他講的 OpenAI 那起事件:同時上百個點被攻陷,過去一兩個。過去他們跟客戶說的是投資偵測能力——你看得到,你就處理得掉。可是同時有一百個在裡面,偵測到了又怎樣?Tracy 當場翻譯了一遍:系統裡現在有一百個駭客,這個資訊沒什麼用。 ![兩塊同樣大小的點陣,左邊只有兩個點亮著、右邊整片都亮著,下方偵測的箭頭在左邊接到處理、在右邊接到全部關機](/figures/detection-stops-helping.svg) 唯一的動作剩下全部關機,而銀行不能關機。他說這逼他們重新設計防守,手上這套跑得不太好了。 Thai 對這個階段的定位用了棋。1997 年 IBM 深藍贏了卡斯帕羅夫,但深藍是主機,又花了十年才有人做出在個人電腦上打遍天下的軟體;那十年裡最強的棋手是卡斯帕羅夫命名的半人馬,人加電腦。AlphaGo 贏李世乭以後,同一段路只花三年。Calif 認為現在是半人馬駭客的時代:AI 能駭任何東西,但還要一個人類專家把它開到那裡。這階段多長沒人知道,他說也許年底我們就退休了,也許還有三年。 ## 我買了資安產品,怎麼知道它有用 Joe 在開場講了一句老實話:他對資安所知很少,不知道一家資安公司到底在賣什麼,也不知道如果買了,要怎麼判斷它有效,還是只是剛好沒人來打他。我聽到這段想到的是,這個困境跟我看財報時的困境同一個——好消息與沒事發生,長得一模一樣。 這集給了替代問法。Thai 講 Chrome 的時候用了緩解層這個概念:承認漏洞會存在,重點改成讓攻擊方難以把漏洞變成控制權。那麼要判一家公司(或自己家)的資安值多少,該問的是三個能回出數字的問題:修補程式從公布到部署在你這裡要幾天;被攻破一台機器以後,攻擊方往旁邊走的成本是多少;出事的時候能不能只關掉一部分。這三題都答得出數字,而「我們很安全」答不出。 ## 新聞天天有外洩,是不是防守根本沒用 這題 Thai 自己回了。他說你天天看到資料外洩的新聞,AI 出現之前就這樣,所以你會覺得這整件事根本沒用;可是場內的人看得到過去二十五年的進步。 這裡我最在意的是指標選錯的問題。事件數量會跟著攻擊量一起漲,所以它量不到防守的強弱——攻擊變便宜的年份,事件數必然變多,哪怕每一次攻擊的成本都在上升。能量防守的是同一種攻擊今天要花攻擊方多少錢、多少時間。 ![一張折線圖上兩條都往右上走的線,一條標事件數、一條標單次攻擊成本,說明兩條同向上升時事件數分不出防守好壞](/figures/wrong-metric-two-lines.svg) Thai 講過這件事為什麼難:想像一棟到處都是門的房子,資安要保證每一扇都安全,而房子還得開著做生意。看到一家公司說自己零事件,我會先問它開了幾扇門。 ## 我的技能會不會像那本教科書一樣 Bruce 那本書九個月就在作廢,這件事會讓很多人心裡一沉,我也是。但 Thai 講了一個更早的版本,我覺得更值得記。 他 2011 年在史丹佛修密碼學,有一題作業問:該先壓縮再加密,還是先加密再壓縮。當年的標準答案是先壓縮——加密會把資料弄得像亂碼,壓縮就壓不動了。他寫了這個答案,拿到分數。三年後,他們證明這個答案是錯的:壓縮完的檔案大小本身會洩密,而加密不隱藏長度,所以攻擊方只要反覆餵你一段自己挑的訊息,從壓縮後的長度變化就能一點一點把你的密碼還原出來。當年的網路加密協定就是這樣做的,最後的解法是把壓縮關掉,沒有別的解法。 ![三次猜測各自對應一根壓縮後長度的橫條,前兩根一樣長,猜中的那一根明顯短一截](/figures/compressed-length-leaks.svg) 所以我聽完對「技能會不會歸零」的想法是:會過期的是答案,接著還能用的是出題與驗收的能力。Thai 描述他們現在的工作方式就是這樣——工程師告訴 AI 這支攻擊程式我要怎麼設計,你去做,然後向我證明它跑得起來。那個「向我證明它跑得起來」是整句話裡最難被取代的部分。 ## 可以參考的資料 - 《Odd Lots》2026 年 10 月 30 日那集,本文的來源(節目中提到錄製日為 10 月 29 日) - PHP 官方安全公告與對應版本的更新說明 - OpenAI 的 Patch the Planet 計畫說明 - Wiz 對同一組漏洞的公開說明 - Calif 的網站,以及他們在舊金山講 PHP 二十五年漏洞史的那場演講 - 黃仁勳與 Ezra Klein 的訪談 ## 帶得走的一件事 **正確答案有保存期限,而它過期的時候不會通知你。** 那題作業是最乾淨的版本:2011 年的標準答案,三年後變成一個能被反覆試探還原出密碼的漏洞,中間沒有人發通知給照標準答案寫程式的那些人。PHP 那個漏洞也一樣——2024 年「沒有攻擊程式所以不急」當時站得住腳,直到有人隔天把攻擊程式交出來。答案本身沒變,變的是它底下那個條件。 我自己試過的一個做法,跟投資無關也成立。挑一件你五年前學會、到今天還照做的「正確答案」——可能是怎麼帶小孩睡覺、怎麼存錢、怎麼跟家裡那個難溝通的人講話、履歷該怎麼寫。然後寫兩句話:當年這個答案成立,靠的是哪一個條件;那個條件現在還在不在。