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安裝。