AI News HubLIVE
站内改写

Safescript – 面向人工智能時代的編程語言

Safescript 是一種為 AI 代理設計的編程語言,通過靜態分析在運行前證明所有安全屬性,無需沙箱或虛擬機,徹底消除供應鏈攻擊。它編譯成有向無環圖(DAG),可追蹤數據流和宿主機調用,性能開銷為零,啓動時間為零。

文章情報

工程師中級

要點

  • Safescript 通過靜態分析確保代碼安全,無需運行時沙箱。
  • 編譯器生成靜態 DAG,可追蹤所有數據流和宿主機調用。
  • 導入依賴時,通過簽名和哈希鎖定行為,任何變化都會導致構建失敗。
  • 與容器和微VM相比,Safescript 實現了零冷啓動和零內存開銷。

為甚麼重要

這條新聞值得關注,因為Safescript 通過靜態分析確保代碼安全,無需運行時沙箱。

技術影響

可能影響模型選型、推理成本、產品能力和評測基準。

Safescript 是一種專為 AI 代理設計的編程語言,其核心理念是通過靜態分析在代碼運行前證明所有安全屬性,從而避免使用沙箱或虛擬機。該項目目前處於 v0.1.0 階段,提供了安裝包(支持 Deno 和 npm),並配有文檔和 GitHub 倉庫。

Safescript 的語法類似於 JavaScript,但它是基於 DAG(有向無環圖)的描述語言。每個程序編譯成靜態 DAG,沒有動態分發或運行時意外。這意味着可以在不執行任何代碼的情況下追蹤每一條數據從來源到目的地的路徑。例如,一個簡單的 HTTP 請求函數中,調用的宿主機必須是字符串字面量,不能是變量,這使得靜態分析成為可能。

在導入外部代碼時,Safescript 要求聲明依賴的權限,包括允許訪問的宿主機和數據流路徑,並可選地鎖定源代碼的哈希值。這樣,任何未聲明的宿主機或數據流變更都會導致構建失敗,從而將供應鏈攻擊轉化為構建錯誤。

與其他沙箱方案相比,Safescript 採取了不同的方法。容器(如 Docker)有 500ms 到 10 秒的冷啓動和約 35MB 的內存開銷;微VM(如 Firecracker)冷啓動約 125ms,內存約 5MB;V8 隔離區(如 Cloudflare Workers)啓動約 5ms,內存約 3MB,但需要特定平台。Deno 的權限系統是進程級別的,但無法預見代碼行為。JavaScript 沙箱庫要麼不輕量,要麼不安全。WebAssembly 內存安全但需要額外工具鏈和綁定。

Safescript 的解決方案是限制代碼可以表達的內容,而非運行時行為。編譯器靜態證明所有安全屬性,無需沙箱,因此零開銷、零冷啓動、零逃逸面。只需在自己的進程中調用函數即可。

語言特性包括:函數定義、類型系統(字符串、數字、布爾、對象、數組)、運算調用(如 httpRequest 要求宿主機為字面量)、控制流(if/else,分支僅執行選中路徑,靜態分析時保守聯合)、內置 map/filter/reduce(函數引用,非 lambda,並行執行 map 和 filter,串行執行 reduce)。此外,還有 override 功能,允許替換被調用函數,替換會傳遞到整個調用圖。

Safescript 的設計使其非常適合 AI 代理執行小段代碼的場景,無需擔心安全性和性能開銷。