如何提高人工智能輔助軟件開發的安全性
現在,很明顯人工智能 (AI) “精靈”已經從瓶子里出來了——永遠。這延伸到了軟件開發領域,GitHub 的一項調查顯示,92% 的美國開發人員已經在工作內外使用 AI 編碼工具。他們表示,AI 技術幫助他們提高技能(57% 的人提到)、提高生產力(53%)、專注于構建/創造而不是重復任務(51%)并避免倦怠(41%)。
可以肯定地說,在不久的將來,人工智能輔助開發將更加成為一種常態。組織必須制定政策和最佳實踐來有效地管理這一切,就像他們對云部署、自帶設備 (BYOD) 和其他工作場所技術趨勢所做的那樣。但這種監督仍在進行中。例如,許多開發人員在未經組織 IT 部門或管理層知情或批準的情況下使用這些工具 參與所謂的“影子人工智能”。
這些管理者包括首席信息安全官 ( CISO ),他們負責確定防護措施,以便開發人員了解哪些 AI 工具和實踐可以,哪些不可以。CISO 需要引領從影子 AI 的不確定性過渡到更知名、更可控、管理更完善的自帶 AI (BYOAI) 環境。
現在是轉型的時候了,因為最近的學術和行業研究揭示了一種不穩定的狀態:根據《2024 年云原生安全狀況報告》(PDF),44% 的組織擔心與 AI 生成的代碼相關的風險。Snyk的研究表明,56% 的軟件和安全團隊成員表示不安全的 AI 建議很常見。五分之四的開發人員繞過安全策略使用 AI(即影子 AI),但只有十分之一的人掃描了他們的大部分代碼,通常是因為該過程增加了代碼審查的周期,從而減慢了整體工作流程。
在斯坦福大學的一項研究中,研究人員發現,使用人工智能助手的開發人員中,只有3% 編寫了安全的產品,而沒有使用人工智能的開發人員中,這一比例為 21%。使用人工智能的開發人員中,36% 編寫的產品易受 SQL 注入攻擊,而沒有使用人工智能的開發人員中,這一比例為 7%。
采用精心構思和執行的 BYOAI 策略將極大地幫助 CISO 克服挑戰,因為開發人員可以利用這些工具快速編寫代碼。通過安全和編碼團隊之間的密切合作,CISO 將不再站在編碼環境之外,對誰在使用什么一無所知。他們將培養一種文化,讓開發人員認識到他們不能盲目信任人工智能,因為這樣做會導致日后出現大量問題。許多團隊已經熟悉需要“逆向工作”來修復從一開始就沒有解決的糟糕編碼和安全性,因此也許人工智能安全意識也會讓開發人員在未來更加明顯地意識到這一點。
那么 CISO 如何達到這一狀態呢?通過結合以下實踐和觀點:
建立可見性。消除影子人工智能最可靠的方法是將人工智能從陰影中移除,對嗎?首席信息安全官需要了解開發團隊正在使用的工具、他們不使用的工具以及原因。這樣,他們就能清楚地知道代碼來自哪里,以及人工智能的參與是否會引入網絡風險。
實現安全性和生產力之間的平衡。首席信息安全官不能也不應該阻止團隊尋找自己的工具。相反,他們必須在生產力和安全性之間尋求微妙的平衡。他們需要愿意在一定范圍內允許相關的人工智能相關活動,前提是這些活動能夠以最小或至少可接受的風險實現生產目標。
換句話說,與采取“拒絕部門”的心態相反,CISO 應該以這樣的心態為他們的開發團隊制定指導方針和認可流程:“我們很感激您發現新的 AI 解決方案,這些解決方案將使您能夠更有效地創建軟件。我們只是想確保您的解決方案不會導致最終阻礙生產力的安全問題。所以讓我們一起努力吧。”
衡量。同樣,本著協作精神,首席信息安全官應與編碼團隊合作,制定衡量軟件生產力和可靠性/安全性的關鍵績效指標 (KPI)。KPI 應該回答以下問題:“我們利用人工智能生產了多少?我們生產的速度有多快?我們流程的安全性是變好了還是變壞了?”
請記住,這些不是“安全”KPI。它們是“組織”KPI,必須與公司戰略和目標保持一致。在最好的情況下,開發人員會將 KPI 視為更好地為他們提供信息的東西,而不是負擔。他們會認識到 KPI 可以幫助他們達到“更多/更快/更好”的水平,同時控制風險因素。
開發團隊可能比 CISO 預期的更愿意接受“安全第一”的合作關系。事實上,這些團隊成員在部署 AI 編碼工具時將安全審查與代碼審查一起列為優先事項。他們還認為協作可以使代碼編寫更干凈、更安全。
因此,首席信息安全官應迅速推進 AI 可見性和 KPI 計劃,以支持“恰到好處”的平衡,從而實現最佳的安全性和生產力結果。畢竟,精靈永遠不會回到瓶子里。因此,確保精靈能夠發揮我們的最佳工作效果而不會帶來不必要的風險至關重要。