DevSecOps 的開發與測試決定了安全是否成為日常工程工作的一部分,還是團隊為時已晚才處理的問題。 在程式碼撰寫、工具設計、整合與測試方面的強而有力的實務,幫助團隊在程式碼撰寫時發現並修正問題。
此能力領域描述團隊如何撰寫安全程式碼、利用認可的工具與元件加速開發,以及整合與測試工作。 這正是安全性要麼成為日常工程實務的一部分,要麼始終只是事後才考慮的事的關鍵點。
隨著組織成熟,開發與測試從分散且無管理的活動,轉向為個別開發者調整的優化環境。 安全測試變得持續,AI 與 開放原始碼 從無政府化轉向企業安全且有目的性,測試也從定期手動轉向自動化且左移。
核心能力領域
DevSecOps 的開發與測試聚焦於三個子功能:
程式碼安全:安全工具與測試如何在程式碼撰寫與審查時應用。
開發加速器:人工智慧、開放原始碼 及可重複使用元件如何被治理與使用以加速交付。
整合與測試:如何管理倉庫、分支、建置與自動化測試。
階段
開發與測試會經歷五個成熟階段。 這些階段展示了 DevSecOps 原則如何在開發者活動中體現,從非受控實驗到優化的程式碼與測試環境,提升開發效率。
| 整體階段 | 藝名 | 外觀 |
|---|---|---|
| 特設 | 差異 | 不管理資源;快速原型製作與無拘無束的探索。 |
| 起始 | 湧現 | 團隊即興監督,開始轉向 DevOps 思維模式。 |
| 指揮 | 連續的 | 結合自動化的全面策略,將標準融入持續流程中。 |
| 簡化 | 左移 | 向左移動意味著問題能更早被發現,且修復成本較低。 |
| 開創性 | 已最佳化 | 程式碼與測試環境優化以優化個別開發者的效率。 |
分散(臨時)
無需資源管理或初期程式設計,快速原型製作與自由探索成為可能。 這個州是新創公司和新組織的自然起點。
程式碼安全:程式碼安全工具幾乎沒有或沒有持續穩定的使用,導致風險層面不斷擴大。
開發加速器:團隊在組織外使用未經授權的 AI 工具,並廣泛且不受監管地使用 開放原始碼 軟體或社群程式碼範例。 缺乏政策也可能讓部分開發者完全避開這些工具,錯失提升效率的機會。
整合與測試:工作分散在多個倉庫中,建置多為手動且不頻繁,配置各異。
初現(啟動中)
團隊開始即興監督資產與方法論,開啟向 DevOps 思維的更廣泛轉變。
程式碼安全:Teams 偶爾會使用本地安全測試工具。
開發加速器:團隊會承認來自未經授權的 AI 與 開放原始碼 風險,組織內部會產生政策,包括開發者社群對程式碼重用的限制或指引。
整合與測試:Teams 定義儲存庫與分支策略。 測試仍多為定期、手動,有時外包。 同時,可測試性在部分地區開始出現,部分團隊採用持續整合的做法。
連續(編曲)
透過自動化支持的全面策略,動態工具與流程有助於將標準融入持續的工作流程與監控中。
程式碼安全:部分安全測試已實施,安全性成為程式碼審查的一部分,並定期進行更深入的安全測試。 採用標準化的命名與分支策略。
開發加速器:可供企業安全使用的 AI 與開放原始碼,依據使用政策提供。 AI 被整合進 IDE 作為程式設計輔助工具,也整合進 DevOps 工具中,改善拉取請求的工作流程。
整合與測試:標準化命名、分支策略與測試框架已建立。 自動化測試被引入主要的 CI/CD 流程,包括部分整合測試。
左移(精簡化)
創造一個有利於左傾的環境,意味著問題能更早被發現,且補救成本更低。
程式碼安全:團隊會針對高嚴重等級的安全性問題設下管制機制。 IDE 程式碼工具包含安全功能,包括防止提示注入與資料中毒的保護。
開發加速器:團隊使用符合明確模式與標準的企業級大型語言模型(LLM)。 AI 驅動的軟體工程與 DevOps 代理開始自動化工作與運作,且自主性提升。
整合與測試:已實施廣泛的測試實務,包括單元測試與整合測試。 自動化測試持續運行,能在流程早期發現問題。 團隊也會進行網路釣魚模擬。
優化(開創性)
當你為個別開發者優化程式碼與測試環境時,能創造更個人化的效率。
程式碼安全:安全性變得持續,並由先進的可觀察性所支援。
開發加速工具:開發人員利用自己設計的自訂模式來擴充程式碼助理 LLM。 元件使用變得有意識,並設計以達成效能、合規及風險管理目標。 MCP 伺服器與協調是工具鏈的一部分。
整合與測試:測試自動化變得全面,包括效能測試。 團隊也採用 AI 驅動的威脅偵測,並尋求其他機會來改善工程反饋循環。