AI News HubLIVE
站內改寫1 分鐘閱讀

自服務勒索軟件:針對本地AI工具的安全防護

本地AI軟件可讀取設備上的敏感文件。Brendan Keaton開發了一個實驗性工具——Annex,類似於自服務勒索軟件,在AI代理運行期間加密用户指定文件,防止數據泄露。該工具利用AES-256-GCM加密,幷包括多重防護措施,如確定性密鑰生成、文件銷燬和PIN驗證。

來源Hacker News AI作者: BrKeaton

Brendan Keaton在其博客中介紹了一個名為Annex的實驗性項目,旨在解決本地AI工具帶來的安全威脅。隨着本地AI代理(如編碼助手)的普及,它們能夠訪問設備上的敏感文件,包括API密鑰、個人數據等。儘管有一些緩解措施(如.llmignore文件),但本質上仍是基於信任的協議,無法完全防止惡意代理或提示注入攻擊。即使是更安全的方案(如虛擬機或不同用户空間)也可能被突破。

Annex的核心理念是“自服務勒索軟件”:在用户啓動AI代理之前,通過一個加密會話將指定文件完全加密(包括文件名),使得AI工具無法讀取。AI任務完成後,用户通過PIN碼解密文件。加密採用AES-256-GCM標準,密鑰並非隨機生成,而是由四個輸入(當前UTC日期、遞增會話計數、用户註冊時獲得的六個恢復碼之一、以及服務器端唯一秘密)結合SHA256哈希生成。這種確定性方法雖然不常見,但允許在數據庫或邏輯故障時恢復文件,且攻擊者需同時獲取服務器秘密、恢復碼、PIN和設備本身。

文件加密流程包括:收集文件信息、計算原始文件的SHA256校驗和、加密(小文件使用12字節隨機數,大文件分塊加密)並重命名為隨機文件名添加.annex擴展名、通過多次覆寫和隨機重命名等方式安全銷燬原文件、最後向服務器確認完成。該過程考慮了不同操作系統的TRIM特性,並利用Rust的zeroize crate從內存中清除密鑰。此外,還會處理臨時文件(如.bak、.swp、VSCode備份和shell歷史)。

解密時需輸入PIN碼,防止AI代理直接調用API獲取密鑰,且後端設有低速率限制以防暴力破解。項目還包括崩潰恢復機制,通過維護加密文件清單確保完整性。Keaton指出,此工具可防止AI代理修改測試用例以通過測試,並建議未來可增加出口防火牆或部分文件加密等強化措施。項目代碼已在GitHub上以MIT許可證發佈,但尚未審計,作者歡迎反饋和改進建議。