DARPA計畫利用AI將C語言編寫的軟體轉化為更安全的Rust程式碼
旨在確保記憶體安全的現代程式語言越來越受歡迎。 Rust 是軟體開發人員 Graydon Hoare)在Mozilla 工作時提出的語言,現在已成為五角大廈研究機構宣布的一個複雜轉換項目的官方選擇。
美國國防部高級研究計劃局(DARPA)正在啟動一項名為”將所有C 代碼轉換為Rust 代碼”(TRACTOR)的計劃,這是一項以人工智能為重點的計劃,旨在”大幅”實現將C 程式碼轉換為Rust 程式碼的自動化。 DARPA 指出,二十多年來,程式設計界一直在努力解決C 和C++ 中的記憶體安全問題,而現在的共識是,本地錯誤查找工具不足以解決這一關鍵的架構問題。
記憶體安全問題是軟體公司和研究人員披露的最常見的安全漏洞類型。 C 語言創建於20 世紀70 年代,目前運行著從智慧型手機到太空飛行器和互聯網協議的所有程序,它允許程式設計師直接操作記憶體分配。
C 語言例程中的程式錯誤或意外行為可能會破壞內存,或為駭客提供可入侵整個網路的漏洞。相較之下,Rust 被設計為一種低階通用語言,可執行記憶體安全實踐,確保所有引用都指向有效的記憶體位址。
旨在確保記憶體安全的現代程式語言越來越受歡迎。 Rust 是軟體開發人員 Graydon Hoare)在Mozilla 工作時提出的語言,現在已成為五角大廈研究機構宣布的一個複雜轉換項目的官方選擇。
Rust 有可能消除整類安全漏洞,正被各大科技公司的軟體專案迅速採用。微軟計劃用Rust 重寫Windows 和Microsoft 365 應用程式的一些核心部分。同樣,Rust 也被整合到Linux 核心、Chromium 佈局引擎以及全球數百萬人使用的其他關鍵程式碼庫中。
TRACTOR 計畫源自於最近的兩個文化轉變:Rust 程式語言的廣泛採用和先進機器學習技術的發展。 DARPA 對聊天機器人和其他人工智慧服務使用的大型語言模型特別感興趣,因為它們可以為記憶體安全問題提供新的解決方案。
根據TRACTOR 的專案經理Dan Wallach 介紹,人工智慧聊天機器人已經可以將”一些C 程式碼”快速轉換為安全的Rust 程式碼。不過,產生的程式碼並非完全沒有錯誤(或幻覺)。 TRACTOR 的目標是”大幅提高”LLM 自動將C 程式碼轉換為Rust 程式碼的能力。
公共部門有相當一部分軟體專案是用傳統語言開發的,DARPA 也非常清楚這個問題。 Code Metal 執行長 Peter Morales認為,TRACTOR 是一個很有前景的項目,可能會對網路安全市場產生重大影響。莫拉萊斯說,自動程式碼轉換”絕對是DARPA 難以解決的問題”,沒有簡單易用的神奇人工智慧解決方案。