進階 AI 模型改變了安全團隊和攻擊者發現安全漏洞的速度和規模。AI 可以在幾分鐘內找出安全漏洞,攻擊者也能比以往更快利用這些漏洞。
Google 已運用 AI 技術改造了安全漏洞管理,如 Naptime 和 Bigsleep 專案所示。我們會使用 AI 掃描、找出並修復自家基礎架構中的安全漏洞。我們也與業界合作夥伴 (包括開放原始碼維護人員、晶片供應商和硬體製造商) 攜手合作,在有心人士利用 AI 錯誤前,找出並修正錯誤。
本文說明如何採用 AI 技術,找出並修補應用程式中的安全漏洞,包括:
- 制定 AI 威脅防禦計畫。
- 掃描外部安全漏洞。
- 排定資產和問題的優先順序。
- 修復重大安全漏洞。
- 使用主動應對手冊監控。
建構 AI 威脅防禦計畫
AI 威脅與傳統威脅在時間和規模上都有所不同。開發、測試及部署應用程式修正的程序不再適用。您必須實作新的策略,包括自動修補程式管理、持續監控、與開發管線更緊密的整合,以及軟體現代化。
如要協助貴機構改變安全漏洞管理方式,請考慮下列原則:
- 安全漏洞管理必須包含 AI 和代理式選項。
- 所有軟體都必須修補。
- 控管措施必須持續探索及管理影子 AI、未經授權的內部 API 整合、瀏覽器擴充功能,以及開發人員在本機管理的工具。
- 貴機構的重要風險定義必須瞭解模型可能會利用攻擊路徑,而不只是單一安全漏洞。
- 貴機構必須能在幾分鐘內採取補救措施。
如要建立 AI 威脅防禦計畫,您需要高階主管的贊助,以及開發、營運、安全和業務團隊的合作夥伴支援。在初始計畫中,請完成下列步驟:
- 建立明確的管理和擁有權,包括定義委員會、角色和決策程序。
- 定義結果和重要指標 (例如服務等級協議遵循情況、例外狀況數量和資產涵蓋範圍),追蹤進度並向高階主管回報。
- 建立政策、服務等級協議和例外狀況程序。
下圖顯示建構有效 AI 威脅防禦計畫的階段。本文的其餘章節將說明各個階段。
如要建立及實施威脅防禦計畫,請與 Mandiant 網路安全諮詢服務聯絡。
第 1 階段:準備
在程式碼庫中部署 AI 安全漏洞掃描器前,請先評估資產風險。優先使用 AI 掃描您需要的掃描類型和資產,避免造成分流管道負擔過重。
掃描對外洩露的內容
最容易受到 AI 威脅的資產是面向網際網路的資產,例如:
- Compute Engine VM
- Cloud Run functions
- Google Kubernetes Engine (GKE) 叢集
- 公開 Cloud Storage bucket
如要長期維護這些資產的完整清單,請使用 Wiz Red Agent 等產品啟用持續探索功能。持續探索是自動化程序,會掃描資產,並在資產建立或變更時即時更新。Wiz Red Agent 可主動掃描面向網際網路的網路,找出作用中的網頁應用程式、公開的 API、自建軟體,甚至是以 Vibe 編碼的應用程式。
找到資產後,Wiz Red Agent 就能模擬真實世界的攻擊,找出安全漏洞並建立攻擊鏈。Wiz Red Agent 發現安全漏洞時,會將資料傳送至 Wiz Security Graph。透過 Wiz 安全性圖表,您可以查看面向網際網路的資產連線至哪些內部資產,進而繪製外部違規事件的潛在影響。
舉例來說,假設開發人員為新的聊天機器人建立測試環境。開發人員想測試聊天機器人與即時資料的互動方式,因此使用 Cloud Run 部署原型。為簡化測試,開發人員允許未經驗證的叫用,讓原型公開。開發人員將包含真實使用者資料快照的暫時性 Cloud Storage bucket 連線至原型。不過,開發人員忘記刪除測試環境。
在本範例中,Wiz Red Agent 可以找到新的 *.run.app 子網域,並透過持續探索功能將資產標示為面向網際網路的資產。Wiz Red Agent 接著會與聊天機器人原型互動,判斷聊天機器人是否已連線至 API 端點。Wiz Red Agent 會模擬各種攻擊 (例如提示注入攻擊),判斷是否有任何安全漏洞。由於開發人員未設定適當的安全性,Wiz Red Agent 發現一項安全漏洞,並判斷該漏洞可橫向移動至 Cloud Storage 值區。Wiz Red Agent 會將資料傳送至 Wiz Security Graph,後者會將這項安全漏洞標示為優先處理的重大問題。您的程序可以在幾分鐘內關閉這個原型。
排定資產優先順序,以執行深度程式碼掃描
在開發人員編寫軟體時,深層程式碼掃描會追蹤資料流和原始碼,找出結構錯誤和安全後門。不過,對所有程式碼進行深層掃描會耗費大量資源和時間。
如要決定哪些程式碼庫需要進行深入程式碼掃描,您必須依平台或環境 (例如 SaaS 或自行代管) 建立所有存放區的清單。請考量下列事項:
- 原始碼或二進位檔的存取便利性 (是否公開或僅供內部使用)。如果二進位檔公開發布,就無法真正防範 LLM 輔助的反向工程。
- 程式設計語言 (程式碼是否採用可保護記憶體的語言,例如 Go、Rust、Java 或 Python)。
- 程式碼執行所需的權限。
- 程式碼必須存取的資產機密程度。
針對風險最高的程式碼 (可公開存取、使用記憶體不安全語言、需要高權限才能執行,以及必須存取極機密資料的程式碼),實作深層程式碼掃描。
此外,請判斷是否可採取其他緩解措施,協助保護程式碼。請考量下列事項:
- 掃描舊版或未充分利用的元件前,請先評估是否能完全淘汰或停用這些元件,以減輕維護和安全負擔。在某些情況下,您可以遷移至攻擊面較小的替代方案。
- 查看修補狀態。如果修補程式落後,請優先將這些依附元件升級至支援的最新版本。
- 做為長期優先策略,請找出以記憶體不安全語言編寫的重要元件,並尋找記憶體安全替代方案。如果沒有更安全的替代方案,建議將這些程式碼列入以記憶體安全語言重寫的藍圖,以減少記憶體安全漏洞。短期內,建議您將沙箱視為風險降低措施,例如使用 GKE Sandbox。
如要優先處理資產,可以使用 Wiz 的下列功能:
Wiz Service Catalog和 Wiz 資源清單,判斷與資產相關的曝光和影響風險。
Wiz 清單會自動探索虛擬機器、資料庫和程式碼存放區等資產。Wiz 清查資料可判斷資產是否可公開存取、處理不受信任的使用者輸入內容或外部 API 流量,以及資產執行的環境。Wiz 服務目錄可將這些資產歸入業務服務 (例如帳單系統或客戶入口網站),並指派擁有權。這些群組有助於識別哪些資產是重要的業務系統、哪些系統可存取機密資料,以及誰負責管理應用程式。
Wiz Security Graph 和 Wiz Workload Scanner,找出即時正式環境中使用的原始碼存放區。
Wiz Workload Scanner 會檢查您的環境,判斷程式碼是否實際在環境中執行,並追蹤程式碼的軟體歷程。Wiz Security Graph 會找出有害組合,判斷潛在問題是否屬於高風險。您可以根據這項資訊,優先針對高風險攻擊路徑和潛在的橫向移動安全漏洞,執行深層程式碼掃描。
Wiz 程式碼到雲端管道會對應正式環境中資產的歷程。
Wiz Code-to-Cloud Pipeline 可優先處理在實際環境中處於活動狀態且可存取的程式碼、判斷漏洞的來源存放區,並強化基礎架構即程式碼 (IaC) 設定。Wiz 程式碼到雲端管線可讓您將程式碼存放區與實際用量連結。
階段 2:掃描並排定優先順序
建立計畫並根據風險為資產排定優先順序後,您可以使用 AI 找出並分類環境中的安全漏洞。
完成程式碼集的深度掃描
完成深層程式碼掃描後,您可以使用進階 AI 推論功能找出複雜的程式碼缺陷、將缺陷與雲端安全漏洞建立關聯,並減少誤報。完成下列類型的掃描:
- 基準掃描:持續掃描 IDE 和 CI/CD 管道中的程式碼,找出常見的程式碼錯誤、硬式編碼密鑰和有安全漏洞的依附元件。
- 深入 AI 掃描:分析具有複雜業務邏輯的高度重要程式碼集,找出 SAST 可能遺漏的連鎖安全漏洞或零時差安全漏洞。
如要完成基準掃描,可以使用 Wiz Code 掃描機密資訊、找出 IaC 設定錯誤、完成靜態應用程式安全防護測試 (SAST),以及使用軟體成分分析 (SCA) 找出第三方軟體中的安全風險。
Wiz Code 會評估 CI/CD 基準中的程式碼,並封鎖任何不符合標準的建構作業,協助您強制執行安全政策。Wiz Code 可以檢查您的資產,判斷實際環境中可觸及哪些安全漏洞。Wiz Code 發現安全漏洞時,Wiz Green Agent 會自動分析周圍的程式碼,並建立修補程式來解決問題。如果開發人員的 IDE 發現問題,Green Agent 可以在開發人員將變更提交至管道前,重構程式碼。如果在 CI/CD pipeline 中發現問題,Wiz Green Agent 可以在 GitHub 或 GitLab 中自動建立含有程式碼修補程式的提取要求。
如要完成深入的 AI 掃描,可以使用 Gemini Enterprise Agent Platform 部署 CodeMender (預先發布版)。CodeMender (由 Google DeepMind 開發) 是一種高度專業的自主 AI 工程代理,專注於深入的程式碼層級推論、偵錯和修補。CodeMender 就像自主的高階軟體工程師,會將程式碼拉進沙箱、執行各種測試,並修正核心邏輯。測試執行可能包括動態分析、模糊測試和自動編譯測試。CodeMender 可根據結構影響自動排定錯誤優先順序、修補問題,並使用疊代方法重構程式碼。
分類並規劃修復措施
編譯漏洞清單後,您可以將 Wiz Code 和 CodeMender 的結果傳送至 Wiz SAST Triage AI Engine 等引擎,以強化結果並判斷攻擊媒介是否可供利用。Wiz Security Graph 也能運用程式碼到雲端的管線,協助擴充脈絡。Wiz Red Agent 可以探查現有網站並驗證攻擊路徑。
完成初步分類工作後,請參考下列建議微調 AI 代理程式,並移除誤判結果:
- 請資深工程師審查一小部分隨機發現的結果,找出模式、釐清信任界線,並改善 AI 程序。
- 根據安全漏洞回報指南建立 AI 技能,定義貴機構認為的真正安全漏洞,而非誤判或非安全性錯誤。
- 使用 AI 代理規劃及編寫測試案例,並在沙箱環境中執行。
- 針對新的樣本結果執行 AI 代理,並調整提示和 AI 技能,直到與人類決策一致為止。
如果證明安全漏洞可遭利用所需的時間,比實作低風險修正措施的時間還長,請略過重現程序,直接進入補救階段。
第 3 階段:修正
如要修正問題,您必須導入高速工作流程,在開發人員 IDE、程式碼存放區和正式環境中,大規模自主驗證、修補及驗證安全漏洞。
Wiz Green Agent 可根據現有資料自動建立補救計畫。這項功能會觸發 Wiz 工作流程,透過票證系統向 SecOps 團隊發出快訊,並將修復計畫傳送至 CodeMender。CodeMender 會編寫修補程式,並在安全的沙箱中測試修正內容,以防迴歸,然後建立提取要求來修補系統。開發人員接著可以審查提取要求,然後按一下以部署變更。
雖然升級依附元件的核心做法並非新創,但維護健全的自動修補系統,是因應 AI 驅動探索所產生大量修補程式的必要做法。貴機構必須做好準備,快速擷取更新內容,且不會中斷生產系統。
建議您採取下列做法,盡量縮短補救程序:
- 建立依附元件的顯示設定:持續維護軟體依附元件的清單。
- 自動執行建構和發布作業:完成測試和資格認證工作後,盡量減少手動步驟,以便發布程式碼並開始升級。
- 建立持續升級的節奏:定期更新依附元件,可盡量減少安全性修補程式發布時的程式碼差異。差異越小,發生重大變更的風險就越低,緊急修補程式的部署時間也越快。
- 透過初期測試部署測試推出作業:導入自動化初期測試部署和健全的回復機制,以升級依附元件。初期測試部署可讓您在實際工作環境中測試修補程式,盡可能降低影響。
更新軟體
從傳統開發工作流程轉移至代理式架構時,需要協調專門的 AI 代理,這些代理會專注於特定工作,例如撰寫、產生測試和安全稽核。以下範例說明如何將 AI 代理導入軟體開發生命週期:
- 開發:開發人員可使用 IDE 內建的聊天功能或 CLI 自然語言提示,設計及製作應用程式原型。
- 建構:AI 處理程序可協助開發人員生成程式碼,或透過程式碼完成功能修改現有程式碼。
- 測試及維護:開發人員和品質保證團隊使用 AI 驅動的測試和自動重構功能。
- 審查及部署:開發人員使用 AI 輔助程式碼審查和基礎架構即程式碼支援。
- 排解問題:開發人員可使用 Firebase Crashlytics 等工具中以 AI 驅動的問題分析功能,排解異常終止和錯誤問題。
- 運作:開發人員和軟體工程師使用 AI 代理程式瞭解及修改現有應用程式。
透過軟體現代化,安全性和技術債務減輕作業會轉移至自主代理程式,這些代理程式旨在對您的環境進行小規模的疊代變更。軟體現代化作業需要仰賴 Model Context Protocol (MCP) 伺服器,讓模型直接即時存取外部工具和即時環境資料。
為在軟體開發生命週期開始時降低不安全程式碼的風險,請部署獨立代理程式,在規劃期間分析依附元件、使用工具整合功能產生單元測試,並直接在來源存放區中進行自動程式碼審查。將專案專屬規則、專業技能和確定性指令掛鉤直接嵌入開發人員工作區,程式設計代理程式就能成為風險降低的第一線主力。如要強制要求服務專員採取正確步驟,請使用確定性指令碼,並透過獨立的專業服務專員啟動同儕審查。專用代理程式包括安全掃描器代理程式、偵錯代理程式或自動化紅隊代理程式。
為協助軟體現代化,Google Antigravity 和 Gemini Code Assist 等工具可做為獨立協作者,在人工審查或中央管道建構程序發生前,擷取、測試及修復問題。Google Antigravity 提供完整的代理程式管理工具和 IDE 體驗,而 Gemini CLI 中的 Gemini Code Assist 則提供終端機 CLI,可供無頭執行。您可以在 Wiz 和其他 Google 產品中使用各種代理程式技能,協助開發流程。Agent Platform 包含 Gemini 3.5 Pro 和 Flash 等模型,可提供多步驟推論、長脈絡窗口和內建工具執行功能。
如要加快開發速度,請使用可逐步規劃、持續測試,以及在提交前掃描本機小變更的代理程式。這些代理程式可確保程式碼集穩定性,並在提交內容小而獨立時執行復原作業。
強化安全基礎
在環境中導入代理程式前,請確保您已適當強化基礎架構和 SDLC 管道。建議採取下列行動,奠定穩固的安全基礎:
- 設定政策和存取控制項,掌握軟體元件的資訊、偵測安全漏洞,並在將軟體部署至正式環境前修正問題。
- 搭配使用受防護的 VM、機密運算和 WizOS,運用經過強化的基礎映像檔,保護應用程式層、OS 層和硬體層。
- 使用 Wiz Runtime Sensor 監控開發人員工作站和 CI/CD 建構執行器,偵測即時 CI/CD 管道攻擊,並提供記憶體內有效內容。
- 找出並修正資安態勢服務的變異,確保環境符合安全政策。
- 設定開放原始碼專用的安全閘道,透過 Wiz 登錄連接器強制執行安全性政策。
- 使用嚴格的網路分割和防火牆規則,隔離開發、測試及實際工作環境。
- 將所有管道、部署作業和存取記錄儲存在集中式不可變更的儲存位置,以便持續監控和進行鑑識。
- 將 CI/CD 管道視為不可變更的基礎架構,避免遭到竄改和設定偏移。不可變動的基礎架構也需要使用生命週期短暫的暫時性執行器,避免攻擊者在基礎架構中長期立足。
- 將應用程式和叢集的所有變更儲存在來源存放區,以便在部署前啟用版本控管和審查。
如需更多最佳做法,請參閱Google Cloud 最低可行安全平台。
強化 SDLC
安全 AI 架構 (SAIF) 說明您必須實作的控制項,確保在 SDLC 管道中安全使用 AI。加入 AI 時,請考量下列要點:
- 人類必須保持控制權,確保責任歸屬,並防止代理程式在未經明確的人為監督或歸屬下,於重大情況中自主行動。您需要不同的代理程式身分、使用者同意聲明機制和安全輸入內容。
- 代理程式的權限必須有所限制,確保代理程式只能完成預定用途,且無法不當提升權限。您必須設定適當的存取權控管機制、範圍憑證管理,並使用沙箱適當隔離元件。
- 所有動作都必須可供觀察,確保資訊公開透明且可稽核,方便做出安全性決策並讓使用者知情。
供應鏈攻擊可能會入侵受信任的代理程式,藉此修改重要資料庫、竄改程式碼或洩漏正式版機密。為減輕風險,使用 AI 的 SDLC 管道會採用下列安全性最佳做法:
- IDE 和工作區設定可控管瀏覽器擴充功能、CLI 公用程式和 IDE 外掛程式,防止未經核准的 AI 程式設計輔助工具將專有程式碼行外洩至未經審查的外部模型端點。
- 嚴格的存取控管機制,防止未經授權的修改。嚴格的身分與存取權管理 (IAM) 和驗證控制項,可確保您只授予管道服務帳戶 (包括代理程式帳戶) 最少的必要權限,並對所有使用者強制執行多重驗證,以及定期檢查使用者和代理程式的存取權,確保權限維持在最新狀態。
- 保護原始碼和設定,確保惡意或意外的程式碼絕不會進入建構階段。請考量下列要點:
- 請確保分支版本經過審查,且提取或合併要求由授權同儕 (尤其是人工審查員) 審查。
- 不允許略過合併選項。
- 請務必簽署所有提交內容,以驗證程式碼的真實性,並防止未經授權的竄改。
- 限制分叉內部程式碼,或不慎將私人存放區設為公開。
- 動態管理密鑰,避免憑證遭盜用。如要動態處理密鑰,請從原始碼和設定檔中移除硬式編碼的密碼、API 金鑰和權杖。IaC 和設定檔中的自動密鑰掃描工具,有助於在接受提交前找出任何密鑰。Secret Manager 可讓您在執行階段動態注入憑證。
- 在管道中自動進行安全檢查,及早發現安全漏洞。請考慮採用包含 SAST、SCA 和 DAST 測試的測試策略,以便在開發期間、第三方程式庫中以及執行應用程式時找出安全漏洞。
- 確保應用程式套件安全,防止遭到竄改。為建構套件使用不可變更的版本管理,並在將容器映像檔和套件推送至 Artifact Registry 之前,先掃描這些項目。在所有環境 (包括開發、測試和實際工作環境) 中,宣傳相同的容器映像檔。
階段 4:監控
由於代理程式攻擊會迅速改變威脅環境,您必須持續監控程序,找出自動化機會。此外,您也必須能夠偵測並回應程式碼安全漏洞造成的威脅,無論程式碼位於何處。如要有效監控威脅,您必須確保感應器已就位、建立適當的指標、完成模擬執行,並使用經過演練的主動應對手冊。
Wiz Defend 與 Google Security Operations 整合,可透過 Wiz 平台提供的快訊和情境資訊,強化資安營運中心 (SOC) 工作流程。Wiz Defend 會直接在雲端環境中監控執行階段行為、雲端設定、身分和安全漏洞。Wiz Defend 會整理即時警示,並將鑑識證據處理為高準確度的偵測結果和整合式威脅。Wiz Blue Agent 可以調查資料,判斷威脅是否真實。接著,Wiz 會將優先順序較高的快訊傳送至 Google SecOps,以利後續的應變活動。
Google SecOps 可擷取整個環境的遙測資料,關聯事件並協調應變手冊。這類遙測資料包括地端部署伺服器、SaaS 身分識別供應商、端點、防火牆和多雲端環境。Google SecOps 包含代理 SOC,可自動調查快訊,提供額外背景資訊。分析師可以自然語言提問,而代理程式則可提供技術背景資訊、遙測資料,以及解決問題的建議。代理程式也能自動建立及管理威脅偵測規則、找出偵測漏洞,並自動生成偵測規則來填補漏洞。
代理式威脅情報可使用 Mandiant 和 VirusTotal 的資料加快調查速度。代理式威脅情報可自動執行複雜又耗時的工作,例如程式碼反向工程、惡意軟體分析和生成自訂威脅簡報,讓資安團隊能專注於其他重要工作。
下圖顯示各種監控工具如何協同運作,以新增背景資訊、完成自動化工作及設定快訊優先順序。
後續步驟
- 請參閱Google Cloud 最低可行安全平台的最佳做法。
- 瞭解 Google 安全 AI 架構 (SAIF)。
- 瞭解 Wiz AI 安全防護機制管理。
- 瞭解 Google SecOps 中的代理式 SOC 如何使用自主安全代理。
- 瞭解 Wiz Red Agent 如何驗證威脅暴露。