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 許可證,代碼完全開源。