Articles in Turing Academy cover three major themes: ESG Net Zero Laboratory, AI Laboratory and Lean Management Laboratory. We will share articles on related topics from time to time. We also welcome students who are interested in the above topics to submit articles and share them with you. Insights (I want to contribute)

「Google 推出 CodeMender:AI 自動重寫原始碼以修補弱點」


 

圖靈學院
科楠老師
2025-10-8

 

前言

 

    Google DeepMind 最近發布一款名為 CodeMender 的 AI agent。它能自主偵測、修補程式漏洞。這對軟體安全是重大突破。本文從技術、風險、應用與未來展望切入,原汁原味報導這項創新。

 

一、CodeMender 是什麼?

 

    CodeMender 是 Google DeepMind 所開發的 AI agent,旨在自動偵測並修補程式碼中的安全漏洞。

 

它結合 反應式(reactive) 與 前瞻式(proactive) 的策略:

  • 反應式:當發現新的漏洞時,CodeMender 能迅速生成修補程式並套用。
  • 前瞻式:它能重寫現有程式碼,把整類漏洞從根本抹除。

 

 

過去六個月裡,CodeMender 已對開源專案提交 72 項安全修補程式(部分專案規模達數百萬行程式碼)。這些修補程式經人工審查後才提交上游。

 

二、技術原理與架構

 

    要讓 AI 自動修補漏洞,不只是「寫程式碼」。背後涉及複雜機制與工具鏈整合。以下是 CodeMender 的技術架構與核心組件。

 

修補程式2.1 所用模型與推理基底

 

    CodeMender 借助 Google 最新的 Gemini Deep Think 模型進行語意推理與決策。

 

該模型讓 agent 能分析程式邏輯、控制流程與資料流,以理解漏洞出現的根源,而非只做簡單的「補一行程式碼」。

 

修補程式2.2 工具鏈支持

 

為保證修補程式正確性,CodeMender 搭配多種分析與驗證工具。


包括:

  • 靜態分析(static analysis)
  • 動態分析(dynamic analysis)
  • 差異測試(differential testing)
  • 模糊測試(fuzzing)
  • SMT 解算器(satisfiability modulo theories)
  • 專門 agent(例如「批評工具」)比對原始與修改後程式碼差異
  • 自我校正機制:如果修補程式引入錯誤,agent 會進行調整。

 

這樣的流程可確保:

 

  • 修補能對準漏洞根源
  • 功能不被破壞
  • 不引入回歸錯誤
  • 修補程式風格符合原始碼規範

 

修補程式2.3 多 agent 架構

 

    CodeMender 採用多 agent 架構,各 agent 負責不同任務。例如批評 agent 檢查變更的副作用、審核 agent 分析修補程式是否合理。這降低單一 agent 的失誤風險。

 

修補程式2.4 前瞻性重寫能力

 

    CodeMender 不只補漏洞。它進一步改寫程式碼,將不安全 API 或資料結構替換為更安全版本。例如在 libwebp 上加入 `-fbounds-safety` 標註,使編譯器自動插入邊界檢查,從而防止 buffer overflow 類型漏洞。

 

以 CVE-2023-4863 為例:該漏洞曾在 iOS 零點擊攻擊中被利用。若這類註解已被加入,該漏洞在該程式庫中的可利用性可大幅降低。


三、應用場景與意義

 

    CodeMender 如果成功落地,對軟體開發、安全防護與開源社群都將產生深遠影響。

 

修補程式3.1 對開發者與維護者的助益

 

  • 減少人力負擔:開發者不需花大量時間追蹤漏洞修補。
  • 提高產能:可把時間投入於功能設計與創新。
  • 降低錯誤率:AI 驗證機制可過濾低質修補程式、減少引入回歸風險。

 

修補程式3.2 對開源社群的益處

 

    72 個修補程式的提交,代表 DeepMind 正在與開源專案建立信任關係。

 

若社群逐步接受 CodeMender 提交修補程式,將促進「AI 修補程式即服務」成為可能。對於許多資源有限的專案尤其關鍵。

 

修補程式3.3 對安全生態的意義

 

    當漏洞發現速度被 AI 加速,手動修補可能成瓶頸。CodeMender 的出現,是在防禦端升級。

 

Google 同時還推出 AI 安全漏洞獎勵計畫(AI Vulnerability Reward Program),整合安全漏洞與內容安全範疇,以鼓勵安全研究者參與。


四、風險與挑戰

 

    這類自動化安全工具固然具潛力,但有不少風險需正視。

 

修補程式4.1 修補程式不被接受

 

    即使修補程式技術上正確,開源維護者可能因風格、專案特性、上下文限制而拒絕接受 AI 修補程式。AI 修補程式若缺乏可解釋性,信任度或成障礙。

 

修補程式4.2 錯誤修補程式風險

 

    自動生成程式碼可能引入邏輯錯誤、程式崩潰或安全漏洞(連鎖失敗)。即使有驗證機制,錯誤風險仍存在。

 

修補程式4.3 模型偏差與盲點

 

    AI 模型能處理主流語言與常見漏洞類型,但針對冷門語言或特殊模組可能失靈。

 

修補程式4.4 安全濫用風險

 

    若此類 AI 工具落入惡意者手中,也可能被用來「反向利用」— 自動生成漏洞誘導或攻擊碼。

 

修補程式4.5 法律與責任界定

 

    當 AI 修補程式出錯,導致系統崩潰或資安事故,誰應負責?工具開發者?使用者?專案所有者?這些責任邊界尚未明確。


五、相關研究與業界對比

 

    在 Google 自己的研發中,有多篇論文探討 agent 程式修復機制。

 

  • “Evaluating Agent-based Program Repair at Google” 研究指出,在 Google 的內部錯誤資料集中,agent 修補程式生成成功率在某種條件下可達約 73%(機器報錯類型)
  • “Agentic Bug Reproduction for Effective Automated Program Repair at Google” 則探討 agent 自動從錯誤報告還原可重現測試(BRT,Bug Reproduction Tests),提升修補程式品質。
  • 最新如 “SecureFixAgent”(針對 Python 靜態漏洞修復)提出將靜態分析工具與 LLM 結合,進行 detect-repair-validate 的迴圈方式,減少誤補貼與假陽性率。

 

在業界方面,Google 並非唯一投入此方向。像 Microsoft、GitHub、OpenAI 等公司也在探討自動程式修補與安全工具整合。 CodeMender 的特色在於結合多工具、跨 agent 驗證與前瞻性重寫能力。


六、未來展望

 

    要讓 CodeMender 真正走向普及,還有幾道關鍵門檻要跨越:

 

1. 廣泛社群採用:要讓更多開源專案允許 AI 修補程式提交。


2. 修補程式可解釋性強化:AI 修補程式需附說明與理論佐證,降低維護者疑慮。


3. 量化效果衡量:要與人工作業相比較平均修補時間(MTTR)、錯誤率等績效指標。


4. 治理與審計機制:設計誰能操作 agent、哪些修補程式可自動提交、哪些需人工審核。


5. 跨語言、跨框架擴展:目前案例多偏 C/C++、libwebp 等,要向更多語言(如 Python、Go、Rust)擴展。


6. 安全隔離與權限控管:agent 所能操作的範圍要受限,避免誤操作或惡意利用。


7. 責任與法律規範:業界與政府可能需制定標準與責任條款,使事故可追溯。

 

對 ESG(環境、社會、治理)顧問身份的我來說,CodeMender 若被廣泛採用,在「治理」層面具潛力成為新工具:

 

  • 在軟體公司或平台治理中,能作為強制安全審查機制的一環
  • 在供應鏈安全中,協助提高弱鏈環節的程式碼質量
  • 在合規與責任審查中,作為證據之一(某漏洞若無採用自動修補工具,可能被質疑疏失)

 

但這一切都假定工具成熟、信任建立、法規跟得上。


結語

 

    CodeMender 是 Google 在安全自動化領域的重要嘗試。它嘗試使 AI 不只是生成程式碼,更能主動 修補 程式漏洞。這是從被動偵測走向主動防禦的關鍵一步。

 

目前為研究階段。所有產出修補程式都由人工審查後提交。 要走向大規模應用,需要解決信任、責任、擴展性與治理問題。

 

在 AI 與安全的交會處,CodeMender 提供一個新的方向:未來或許我們會看到「自動安全維護」成為標準服務的一部分。現在,還是要謹慎觀察其落地效果。

 

 

參考資料

 

1. DeepMind Blog, “Introducing CodeMender: an AI agent for code security”

 

2. Artificial Intelligence News, “Google’s new AI agent rewrites code to automate vulnerability fixes”


3. SiliconANGLE, “Google DeepMind unveils CodeMender, an AI agent that autonomously patches software vulnerabilities”

 

4. BetaNews, “Google builds new AI agent to improve code security”

 

5. Implicator AI, “Google automates defense as AI agents expand the attack surface”

 

6. arXiv, “Evaluating Agent-based Program Repair at Google”

 

7. arXiv, “Agentic Bug Reproduction for Effective Automated Program Repair at Google”

 

8. arXiv, “SecureFixAgent: A Hybrid LLM Agent for Automated Python Static Vulnerability Repair”