AI News HubLIVE
站内改写2 分鐘閱讀

用Airgap將秘密隱藏於AI代理和NPM安裝之外

Airgap是一款Linux工具,通過在命名空間中運行程序來隱藏文件中的敏感秘密,並對包管理器進行門控訪問,有效防止AI代理和惡意NPM包竊取憑證。

來源Hacker News AI作者: netgusto

在當前的AI時代,開發者經常讓AI代理讀寫項目文件,同時從互聯網安裝各種技能或插件。NPM生態環境中的惡意軟件層出不窮,例如Shai-Hulud蠕蟲,它們在安裝時通過鈎子竊取.env文件、SSH密鑰和雲憑證。此外,AI代理可能會運行命令或安裝NPM包,而這些包可能被幻覺或惡意利用。為了解決這些安全風險,Sven Sauleau開發了Airgap,一個專為現代AI時代設計的安全工具。

Airgap的工作原理是通過Linux命名空間包裝程序。它在一個新的掛載和用户命名空間中啓動目標程序,並將用户主目錄和當前工作目錄掛載為FUSE文件系統。每個文件系統訪問都經過Airgap的處理程序,從而實現對秘密的編輯或對意外文件訪問的詢問。具體來説,當程序讀取.env、私鑰或~/.npmrc時,返回的是編輯後的內容,真實值被隱藏。對於像~/.aws/credentials這樣的意外文件,Airgap會先徵求用户的許可。

Airgap目前支持兩類程序:AI代理和包管理器。對於Claude和OpenCode等AI代理,Airgap僅啓用編輯模式,使代理能夠處理文件但看不到實際秘密。對於npm,Airgap不僅編輯秘密,還引入了交互式文件門控。當NPM安裝鈎子嘗試讀取如~/.ssh/id_rsa之類的敏感文件時,Airgap會彈出提示詢問用户是否允許,從而阻止惡意鈎子竊取憑證。正常的文件讀取(如package.json、lockfiles和npm緩存)會被預先批准,不會觸發提示。

Airgap能夠有效防止像Shai-Hulud這樣的惡意軟件。Shai-Hulud是一種在2025年末通過NPM傳播的自我複製蠕蟲。它會在安裝時從.npmrc、環境變量以及GitHub PAT和雲密鑰配置文件中竊取憑證,然後使用偷來的npm令牌重新發布其他包的後門版本。Airgap通過編輯和門控機制,使這些惡意鈎子無法獲取真實秘密。

為了無縫集成,開發者可以在shell配置中設置別名,如alias claude="airgap claude"、alias npm="airgap npm",這樣所有操作都會自動在Airgap下運行。需要注意的是,Airgap只是一個安全層,並非絕對保證。開發者仍需保持警惕,並歡迎為項目貢獻代碼或報告問題。目前Airgap僅在Linux上可用,macOS支持正在開發中。該項目託管在GitHub上,可通過crates.io安裝。