AI在發現隱藏軟件漏洞方面表現驚人,甚至能檢測數十年前的代碼

AI在發現隱藏軟件漏洞方面表現驚人,甚至能檢測數十年前的代碼

近日 , 微軟Azure首席技術官馬克·魯西諾維奇在LinkedIn發文稱 , 他使用Anthropic公司的新AI模型Claude Opus 4.6分析了自己在1986年為Apple II 6502處理器編寫的匯編代碼 。

Claude不僅解釋了代碼 , 還進行了\"安全審計\" , 發現了細微的邏輯錯誤 , 包括一個例程在算術運算后未能檢查進位標志的情況 。 這是一個隱藏了幾十年的經典漏洞 。
魯西諾維奇的實驗引人注目 , 因為該代碼早于今天的編程語言、框架和安全檢查清單 。 然而 , AI能夠分析低級控制流和CPU標志位 , 指出真實的缺陷 。 對于資深開發者來說 , 這提醒他們長期存在的代碼庫可能仍然隱藏著傳統工具和開發者已經習以為常的漏洞 。
盡管取得了進展 , 一些專家認為這個實驗引發了擔憂 。
資深市場工程師馬修·特里菲羅表示:\"我看到的對嗎?攻擊面剛剛擴展到包括每一個已發布的編譯二進制文件 。 當AI能夠如此出色地逆向工程40年前的晦澀架構時 , 當前的混淆和安全隱蔽方法基本上就毫無價值了 。 \"
特里菲羅說得有道理 。 一方面 , AI將幫助我們發現漏洞以便修復 , 這是好消息 。 另一方面 , 壞消息是 , AI也可以破解仍在使用但不再被修補或支持的程序 。
Lendsqr創始人阿德德吉·奧洛韋指出:\"這比我們承認的更可怕 。 全球存在數十億個舊微控制器 , 許多可能運行著像這樣脆弱或審計不足的固件 。 \"
他繼續說道:\"真正的影響是 , 惡意行為者可以向它們發送像Opus這樣的模型來系統性地尋找漏洞并加以利用 , 而其中許多系統實際上是無法修補的 。 \"
傳統靜態分析工具如SpotBugs、CodeQL和Snyk Code掃描源代碼中與漏洞相關的模式 。 這些工具擅長捕獲已知問題 , 如空指針解引用、常見注入模式和API誤用 , 并在大型Java和其他語言代碼庫中大規模執行 。
現在已經很清楚 , 大語言模型可以補充這些大型檢測工具 。 在2025年的一項對比研究中 , GPT-4.1、Mistral Large和DeepSeek V3等大語言模型在多個開源項目中發現漏洞的能力與行業標準靜態分析器相當 。
這些模型是如何做到的?它們不是詢問\"這一行是否違反了規則X?\" , 而是有效地詢問\"鑒于這個系統應該做什么 , 故障模式和攻擊路徑在哪里?\"這種方法的結合形成了強大的配對 。
例如 , Anthropic的Claude Opus 4.6 AI正在幫助清理Firefox的開源代碼 。 據Mozilla稱 , Anthropic的前沿紅隊在短短兩周內發現的Firefox高嚴重性漏洞比人們通常兩個月報告的還多 。 Mozilla宣稱:\"這清楚地證明了大規模AI輔助分析是安全工程師工具箱中強大的新補充 。 \"
Anthropic并不是唯一使用AI引擎在代碼中發現漏洞的組織 。 例如 , Black Duck的Signal產品結合了多個大語言模型、模型上下文協議服務器和智能體 , 可以實時自主分析代碼、檢測漏洞并提出修復建議 。
同時 , 諸如NCC Group等安全咨詢公司正在為軟件逆向工程工具(如Ghidra)試驗基于大語言模型的插件 , 以幫助發現安全問題 , 包括人們難以發現的潛在緩沖區溢出和其他內存安全問題 。
這些成功并不意味著我們準備將安全檢查交給AI 。 遠非如此 。
研究人員發現 , 基于大語言模型的漏洞發現不是成熟靜態分析管道的直接替代品 。 比較AI編程智能體與人類開發者的研究顯示 , 雖然AI可能很高產 , 但它也會以更高的速率引入安全缺陷 , 包括不安全的密碼處理和不安全的對象引用 。
CodeRabbit發現\"人類更常創建某些類型的漏洞 , AI更常創建某些其他類型的漏洞 。 例如 , 人類比AI創建更多的拼寫錯誤和難以測試的代碼 。 但總體而言 , AI創建的漏洞是人類的1.7倍 。 \"
代碼生成工具承諾速度 , 但被它們引入的錯誤所困擾 。 這不僅僅是小漏洞:AI創建的關鍵和重大問題是人類的1.3-1.7倍 。
你也可以問問丹尼爾·斯滕伯格 , 這位流行開源數據傳輸程序cURL的創建者 。 他大聲且合理地抱怨他的項目被大量虛假的AI編寫的安全報告淹沒 , 這讓維護者淹沒在無意義的忙碌工作中 。
在合適的人手中 , AI是一個很好的助手 , 但它還沒有準備好成為頂級程序員或安全檢查員 。 也許有一天會 , 但不是今天 。 因此 , 謹慎地將AI與現有工具結合使用 , 你的程序將比目前安全得多 。
至于舊代碼 , 那確實是一個真正的擔憂 。 我預見人們會因為對固件驅動設備很快被攻破的現實擔憂而更換這些設備 。
Q&A
Q1:Claude Opus 4.6在分析1986年的匯編代碼時發現了什么問題?
A:Claude Opus 4.6對1986年為Apple II 6502處理器編寫的匯編代碼進行了安全審計 , 發現了細微的邏輯錯誤 , 包括一個例程在算術運算后未能檢查進位標志的經典漏洞 , 這個bug隱藏了幾十年 。
Q2:大語言模型與傳統靜態分析工具相比有什么優勢?
A:傳統工具主要掃描源代碼中與漏洞相關的已知模式 , 而大語言模型能夠更深入地分析 , 詢問\"鑒于這個系統應該做什么 , 故障模式和攻擊路徑在哪里?\"這種方法可以發現更復雜的安全問題 。
Q3:AI在代碼安全檢查方面存在哪些局限性?
【AI在發現隱藏軟件漏洞方面表現驚人,甚至能檢測數十年前的代碼】A:研究顯示AI會以更高速率引入安全缺陷 , 創建的漏洞是人類的1.7倍 , 關鍵和重大問題是人類的1.3-1.7倍 。 此外 , AI還會產生大量虛假安全報告 , 增加維護者的工作負擔 , 因此不能完全替代人類程序員 。

    推薦閱讀