如何提高人工智慧輔助軟體開發的安全性

2024.10.31

現在,很明顯人工智慧(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 計劃,以支持「恰到好處」的平衡,從而實現最佳的安全性和生產力結果。畢竟,精靈永遠不會回到瓶子裡。因此,確保精靈能夠發揮我們的最佳工作效果而不會帶來不必要的風險至關重要。