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许可证发布,但尚未审计,作者欢迎反馈和改进建议。