安全
這個產品對你的機器和你的資料做了什麼,寫清楚,讓你自己判斷,而不是靠猜。
什麼會離開你的機器
你的提示詞,以及 agent 替你讀的那些文件,去到你設定的那個介面,不去別處。 中間沒有我們的網關。
如果那個介面就跑在你自己的機器上,什麼都不會離開。
有兩個例外,都在斷網時安靜失敗,而且都不攜帶你輸入的任何東西:
- 桌面端問它的更新地址有沒有新版本
- 打開「模型」面板時,從 Hugging Face 拉一份熱門模型清單
agent 能對你的機器做什麼
兩個設定,幹不同的事。
沙箱決定它能做什麼。在預設的 workspace-write 下,它可以寫它工作目錄裡的任何
地方,別處寫不了。讀取在任何模式下都不受限。
審批決定它做之前必須先問什麼,從「每一條不熟悉的命令」到「什麼都不問」。
要小心的那個組合是 danger-full-access 配 never:一個任意執行命令、什麼都不顯示、
什麼都不問的 agent。有些目錄裡這是對的。你的家目錄不是。
細節在沙箱與審批。
一次後臺執行可以從哪裡開始
目錄不是工作區、不是部門、也不是你按名字授權過的地方的執行,會被扣住而不是啟動。
這件事之所以存在,是因為一個在部門出現之前建的定時任務帶著家目錄,已經跑了四十二次,
每一次都能夠到 .ssh 和 Documents,而沒有人被問過。
把審批設成 never 會連這個一起關掉 —— 那正是那個設定的含義。
金鑰
API 金鑰不放在 config.toml 裡,因為那個文件會被分享、會被黏進 issue。它們寫在
你其他機密所在的地方,保存之後不會再顯示出來。
連接器的金鑰同理:你說出那個服務需要哪些環境變量,值和服務的設定分開存放。
網關
桌面端和網頁介面都跟一個本地網關通信。它:
- 預設只綁定回環地址,除非明確要求,否則不會意外暴露到網路上
- 每個連接都必須帶 token,每次執行生成、只列印一次,這樣另一個本機使用者 —— 或者你瀏覽器裡的一個網頁 —— 沒法驅動它
這個網關的客戶端可以讓 agent 在承載它的機器上執行命令。 這就是它的全部用途, 也正是 token 存在的原因。
它是單使用者設計的。 服務多個互不信任的人需要按使用者隔離的沙箱,那不在範圍內。
配對的手機
配對會把一個 token 交給設備,讓它能驅動這臺機器上的 agent。那個地址只顯示一次。 只配對你自己的設備,不認識的一律復原。
安裝檔沒有簽名
沒有 Apple 或微軟的證書,所以你的操作系統沒法判斷是誰做的,它就這麼說了。 那個警告是正確的,你應該把它當成正確的來讀。
如果你不想信我們的話,源碼在這裡,
一條 cargo build 的事。
報告問題
安全 bug 不要開公開 issue。 用 GitHub 的 私密通報表單, 它能送到維護者手裡而不公開任何東西。
最值得看的地方就是這一頁上的那些:sandbox 策略、審批路徑、後臺執行的目錄檢查, 以及網關的權杖。
請不要附上你的金鑰,或者含有金鑰的日志。