日前 Trustwave 的研究人員分析 ChatGPT 分析原始碼的能力,發現 ChatGPT 在識別示例程式碼的潛在問題中成效優異,但在對發現程式碼中的緩衝區溢出時的反應令研究人員喜憂參半。
當被問及如何使代碼更安全時,研究人員表示,ChatGPT 建議增加緩衝區的大小。 ChatGPT 提出的其他建議包括使用更安全的輸入數據函數和動態分配記憶體。研究人員發現,ChatGPT可以根據任何建議重構程式碼,例如使用動態記憶體分配。
研究人員表示,ChatGPT 在樣本代碼中識別潛在問題的表現相當不錯。他們說:“這些例子之所以被選中是因為它們相對不含糊,因此 ChatGPT 不需要推斷很多上下文,只需使用它所給的程式碼即可。”
然而,當提供更大的代碼塊或不那麼直觀的問題時,它在發現問題方面的表現並不好。但研究人員指出,人類程序員在處理更複雜的代碼中也會遇到類似的問題。
Trustwave 資訊安全經理 Karl Sigler 表示,ChatGPT 在程式碼上做得比初級程式設計師好,可以成為程式設計師最好的朋友。他指出 ChatGPT 為他們提供一種開發人員了解新編程庫中可用的功能,甚至認為 ChatGPT 有機會參與業務人員及開發人員之間的會議。
Karl Sigler 又預計在未來的 2-5 年中,ChatGPT 和其他生成式 AI 系統將成為軟件開發生命週期的一部分。
資料來源:computerweekly.com