跳到主要內容
← 回找觀念
第五架構:防禦控制與 Git 安全網|第 7 篇

會跑不等於安全:兩個資安外掛和一份難看的數據

Veracode 2026 年 7 月 28 日的報告:AI 產的程式安全通過率 56%,大約 44% 的產生任務會帶進風險漏洞,跨站腳本那一類只有 15% 過關。功能對不等於安全對。這篇講這個落差長什麼樣,以及 5 月和 7 月上線的兩個官方資安外掛怎麼補上這一關。

2026-09-26 · 作者整理:Lucas · 資安審稿後整理
資安審稿註記:本文已把「保證安全」「最強防線」等過度承諾改成保守表述;凡涉及金鑰、權限、刪除、提交、外部發送與自動化執行,均保留人工確認、沙盒或測試環境前提。

你請 AI 寫一段「使用者上傳檔案」的功能,它三分鐘給你,跑起來也對,測試也綠。你怎麼驗收的?多數人驗的是會不會跑。

2026 年 7 月 28 日 Veracode 發了一份報告,把這個習慣的代價講得很清楚。他們拿上百個模型做安全敏感的程式任務,結論一句話:語法解決了,安全沒有。

項目數字
安全通過率56%(上一版 55%)
引入風險漏洞的產生任務約 44%
跨站腳本的通過率15%
日誌注入的通過率12%
SQL 注入的通過率83%
表現最好的模型68%

功能對不等於安全對,而且這個落差兩版報告之間幾乎沒有改善。有意思的是它不是全面的差:SQL 注入和加密演算法那幾類,模型已經學得不錯;跨站腳本和日誌注入這兩類,十次有八九次過不了。

你驗的                  沒有人驗的
跑不跑得起來            輸出有沒有被跳脫
測試綠不綠              日誌有沒有被注入
功能對不對              權限有沒有被繞過

為什麼會差在這幾類

我的理解是這樣:模型學的是「能跑的程式碼」,網路上能跑的範例遠多於安全的範例。跨站腳本和日誌注入的共同點是,寫錯了程式照樣跑、測試照樣綠,要有人刻意去戳才會現形。你不驗,它就不會自己冒出來。

所以真正的問題不在模型,在驗收條件。你的驗收標準寫什麼,它就往哪裡最佳化。你說「跑起來就好」,它給你跑得起來的東西,這句話它做到了。

兩個現成的外掛,做的不是同一件事

官方市集上有兩個,功能常被混為一談。

2026 年 5 月底上線的 security-guidance 是邊寫邊看:每次編輯跑一次快速的樣式檢查,每一輪對話結束跑一次模型審查,到你要 commit 或 push 時再跑一次比較深的代理審查。專案自己的規則寫在 .claude/claude-security-guidance.md,例如「我們的日誌絕對不能出現使用者輸入的原文」。

7 月下旬上線的 claude-security 是週期性體檢:它在一場 Claude Code 對話裡派出一組代理分工——先畫出架構、建威脅模型、再去找漏洞,然後對每一個發現做獨立覆核,報告寫進一個 CLAUDE-SECURITY- 開頭加時間戳的資料夾。掃描範圍可以是整個專案,也可以只掃某條分支的差異、一個 PR 或一個 commit。你挑要修的,它產出修補,但最後那一下是你自己按的,它不會自己改進去

一個是每天的刷牙,一個是半年一次的洗牙。兩個都要,理由不同:前者攔的是當下這一次的疏忽,後者找的是已經躺在專案裡很久的東西。

動手做

兩行指令裝起來,裝完要重新載入外掛才會生效:

/plugin install security-guidance@claude-plugins-official
/plugin install claude-security@claude-plugins-official
/reload-plugins

裝好之後,整包掃描用 /claude-security 起跑,第一次建議先掃一條分支的差異,不要一開始就掃整個專案——報告太長你不會讀完。

不寫程式但要驗收的人,這段拿去要求交付方。它把「安全」變成可以逐項核對的東西:

這是一段要上線的程式碼。請以資安審查員的身分回答,不要改寫它:
1. 列出它處理了哪些 OWASP Top 10 的風險類別,各在第幾行。
2. 列出它沒有處理、但這段程式碼的情境下會遇到的風險類別,說明會怎麼被利用。
3. 特別檢查四件事:使用者輸入有沒有被跳脫、寫進日誌的東西有沒有過濾、
   錯誤訊息會不會洩漏內部資訊、權限判斷是不是只做在前端。
4. 每一項只回「有處理/沒處理/不適用」加一句證據,不要建議重寫。
程式碼:(貼上)

做對了的樣子:你的驗收清單裡有「安全」這一欄,而且那一欄有證據不是打勾;交付方知道你會問跳脫和日誌;掃描報告你只讀「高」那一段,剩下的排進下一次。

站內延伸

來源: Veracode:2026 GenAI Code Security Report(2026-07-28;通過率 56%、約 44% 任務引入風險漏洞、跨站腳本 15%、日誌注入 12%、SQL 注入 83%、最高分模型 68%、「語法解決了,安全沒有」);Claude Code:security-guidance 外掛週報 2026-w22(三層審查時機、專案規則檔路徑);Claude Code:Claude Security 外掛週報 2026-w30(多代理掃描、獨立覆核、報告資料夾、掃描範圍、修補由你套用)。

安全通過率 56%、跨站腳本 15%,這個落差兩版之間沒有改善,因為沒有人在驗它。模型往你的驗收條件最佳化,你只問跑不跑,它就只保證跑得起來。邊寫邊看的外掛負責當下的疏忽,整包掃描負責陳年的舊帳,兩個都裝,然後在你的驗收表上加一欄安全。

第五架構 · 第 7 篇 · 安全驗收

它保證跑得起來,
沒保證安全

什麼時候看這張:它三分鐘給你一段程式,跑起來也對、測試也綠,你正要收下。

常漏掉學得不錯記錄檔注入一成二網頁跳脫一成五資料庫注入八成三
  • 一百多個模型測下來,安全通過率只有五成六
  • 大約四成四的產生任務會帶進風險漏洞
  • 寫錯了照樣跑、測試照樣綠,要有人刻意去戳

第一個動作在你的驗收表上加一欄「安全」,要求交付方逐項給證據,不是打勾。五分鐘;程式那邊再裝兩個外掛。

2026-09-26 查證稜線 Ridgeline
← 看更多觀念總論
取得 AI 實戰工具與更新

之後會不定期整理:新方法、指令包(Prompt Pack)、Checklist 與模板。免費、無廣告;送出後會收到一封確認信,點了連結才算訂閱成功,之後每封信都附一鍵退訂。