跳至主要内容

安全

這個產品對你的機器和你的資料做了什麼,寫清楚,讓你自己判斷,而不是靠猜

什麼會離開你的機器

你的提示詞,以及 agent 替你讀的那些文件,去到你設定的那個介面,不去別處。 中間沒有我們的網關。

如果那個介面就跑在你自己的機器上,什麼都不會離開。

有兩個例外,都在斷網時安靜失敗,而且都不攜帶你輸入的任何東西:

  • 桌面端問它的更新地址有沒有新版本
  • 打開「模型」面板時,從 Hugging Face 拉一份熱門模型清單

agent 能對你的機器做什麼

兩個設定,幹不同的事。

沙箱決定它做什麼。在預設的 workspace-write 下,它可以寫它工作目錄裡的任何 地方,別處寫不了讀取在任何模式下都不受限。

審批決定它做之前必須先問什麼,從「每一條不熟悉的命令」到「什麼都不問」。

要小心的那個組合danger-full-accessnever:一個任意執行命令、什麼都不顯示、 什麼都不問的 agent。有些目錄裡這是對的。你的家目錄不是。

細節在沙箱與審批

一次後臺執行可以從哪裡開始

目錄不是工作區、不是部門、也不是你按名字授權過的地方的執行,會被扣住而不是啟動。

這件事之所以存在,是因為一個在部門出現之前建的定時任務帶著家目錄,已經跑了四十二次, 每一次都能夠到 .sshDocuments,而沒有人被問過

把審批設成 never 會連這個一起關掉 —— 那正是那個設定的含義

金鑰

API 金鑰不放在 config.toml,因為那個文件會被分享、會被黏進 issue。它們寫在 你其他機密所在的地方,保存之後不會再顯示出來

連接器的金鑰同理:你說出那個服務需要哪些環境變量,值和服務的設定分開存放

網關

桌面端和網頁介面都跟一個本地網關通信。它:

  • 預設只綁定回環地址,除非明確要求,否則不會意外暴露到網路上
  • 每個連接都必須帶 token,每次執行生成、只列印一次,這樣另一個本機使用者 —— 或者你瀏覽器裡的一個網頁 —— 沒法驅動它

這個網關的客戶端可以讓 agent 在承載它的機器上執行命令。 這就是它的全部用途, 也正是 token 存在的原因

它是單使用者設計的。 服務多個互不信任的人需要按使用者隔離的沙箱,那不在範圍內。

配對的手機

配對會把一個 token 交給設備,讓它能驅動這臺機器上的 agent。那個地址只顯示一次只配對你自己的設備,不認識的一律復原。

安裝檔沒有簽名

沒有 Apple 或微軟的證書,所以你的操作系統沒法判斷是誰做的,它就這麼說了那個警告是正確的,你應該把它當成正確的來讀。

如果你不想信我們的話,源碼在這裡, 一條 cargo build 的事。

報告問題

安全 bug 不要開公開 issue。 用 GitHub 的 私密通報表單, 它能送到維護者手裡而不公開任何東西。

最值得看的地方就是這一頁上的那些:sandbox 策略、審批路徑、後臺執行的目錄檢查, 以及網關的權杖。

請不要附上你的金鑰,或者含有金鑰的日志。