AiLock:在測試執行同時向AI助手隱藏原始碼
AiLock 是一款 Python 工具,它能在磁碟上加密檔案,使 AI 編碼助手等檔案系統級別的訪問只能看到二進位制密文,同時開發者仍然可以在受控程序中以記憶體解密的方式執行加密程式碼、匯入加密模組、讀取加密資料檔案,並透過 GUI 檢視編輯檔案,而無需將明文寫回磁碟。它使用 Argon2id 和 ChaCha20-Poly1305 進行加密,專注於防止 AI 助手讀取原始碼。
AiLock 是一款面向 AI 時代的開發工具,旨在保護原始碼免受 AI 編碼助手的無意識窺探。它透過在磁碟上加密檔案,使得諸如 GitHub Copilot、Cursor 等整合檔案系統讀取能力的 AI 工具只能看到加密後的二進位制資料,從而防止敏感程式碼洩露。同時,開發者仍然可以正常開發、測試和執行程式碼,而無需在磁碟上留下明文痕跡。
AiLock 的核心功能是“ailock run”命令,它會在記憶體中解密指定的 Python 檔案並執行,而不將明文寫回磁碟。更重要的是,它透過安裝鉤子(hook)攔截了 Python 的模組匯入和檔案 I/O 操作,使得加密模組能夠互相匯入,加密資料檔案也可以透過 open()、Path.read_text() 等標準 API 透明讀取。這意味著,開發者無需修改現有程式碼,只需加密檔案後使用 AiLock 執行即可保持開發體驗。
除了執行,AiLock 還提供了多種安全訪問方式:“ailock show”可將解密內容輸出到標準輸出而不修改檔案;“ailock open”則開啟一個 tkinter 圖形介面,允許開發者檢視和編輯加密目錄中的檔案,儲存時自動寫回加密內容。此外,它支援恢復金鑰(--recovery 選項),在密碼遺忘或檔案損壞時可透過金鑰恢復。
加密機制採用 Argon2id 進行密碼衍生金鑰,並使用 ChaCha20-Poly1305 進行認證加密,每個檔案獨立生成隨機檔案金鑰,再由密碼包裝這些金鑰。備份檔案以加密 ZIP 格式儲存在 .ailock/backups/ 目錄下。
AiLock 明確其安全模型:主要防禦目標是檔案系統級別的 AI 訪問,對於能夠執行任意命令、抓取程序記憶體或誘騙使用者解密檔案的本地完全惡意攻擊者,AiLock 不提供絕對防護。建議與作業系統執行策略、程序隔離等措施結合使用。
安裝要求 Python 3.11 以上,透過 pip 從 GitHub 安裝即可。專案採用 MIT 許可證,程式碼完全開源。