AI Pulse

AI助手和npm脚本想偷密钥?airgap在文件读取前自动隐藏

如果你用AI编程助手,或者经常装npm包,密码和密钥可能已经暴露。AI代理会扫描项目目录和家目录,把。env值或SSH密钥发给模型提供商。恶意npm包则利用preinstall或postinstall钩子,装软件的时候顺手偷走凭证。

2025年末的Shai-Hulud蠕虫就是个典型:它通过npm传播,从。npmrc、环境变量和配置文件里偷走npm令牌、GitHub PAT,还有AWS、GCP、Azure的云密钥。偷来的令牌还被用来重新发布带后门的版本。到了Shai-Hulud 2.0,恶意代码挪到了preinstall钩子,连CI/CD流水线也遭了殃。

一个叫airgap的开源工具正在解决这个问题。它不是防病毒软件,而是一个包装器——在Linux命名空间里运行程序,通过FUSE文件系统挂载家目录和工作目录。每次文件访问都会经过它处理。敏感文件(比如SSH密钥、.env凭证)会被自动隐藏,或者弹窗问你让不让读。

针对不同程序,airgap的处理方式不一样。AI代理(claude、opencode)只启用隐藏功能,不干扰对话;npm则同时启用隐藏和交互式文件门控,拦截越权访问。

使用方式很简单:cargo install airgap安装,然后用airgap <program> [args...]运行。也可以加个别名,比如alias claude="airgap claude",这样每次启动AI代理都在安全沙箱里。项目托管在GitHub(xtuc/airgap)和crates.io上。

目前airgap只支持Linux。macOS支持正在开发,Windows还没动静。它能拦住文件读取,但拦不住代码执行——恶意npm包依然能跑,只是拿不到密钥文件。它也不能防止AI代理通过网络请求、屏幕截图等方式泄露信息。

对Linux用户来说,一条命令就能让AI和npm碰不到你的密钥。

阅读原文
📚 相关主题 开源安全工具

📬 订阅 AI Pulse

每天三次更新,不错过重要信号

▲ 回到顶部