AI review · 2026-10-22

Herdr、Orca、T3 Code 與 Clawdline 資安檢視

安裝 Herdr、Orca、T3 Code 或 Clawdline 有資安風險嗎?比較 Claude Code 與 Codex 的獨立審查,查看安全程式碼閱讀結果及完整原始回覆。

先看結論 · 已要求閱讀安全程式碼

各專案有哪些保障與風險?

以下是 B 組閱讀安全程式碼後的結論。逐條保留原文的條件與疑慮,點開可看細節。

Clawdline 最新一輪:v2.1.3;其餘三個專案維持各卡片所列的固定版本,未重跑。

  • 正面保障審查者在程式碼中確認有做到的保護。
  • 實際風險/必要信任暴露面、弱點與你必須信任的對象;除非明說,並不代表可被利用的漏洞。
  • 未確認審查者明說無法確認的部分;不代表安全,也不代表有問題,點開可看原因。

Clawdline

v2.1.3fcc905914 ↗

Claude Code

整體判斷(摘述)在抽樣來源中未報告惡意或欺騙行為,辨識到標準密碼學與存取防護;仍提醒終端機權限、網站程式碼與發布者信任帶來的實質風險。

正面保障5
  • 安裝驗簽安裝程式先驗 Ed25519 簽署的清單,再核對封存檔大小與 SHA-256,之後才解壓縮。細節

    審查者讀的是來源摘要:不用 sudo、Python 隔離執行、安裝權限私有;未閱讀下載後 setup 執行檔的實作。

  • 加密與重播檢查審查者追蹤到 AES-256-GCM、Ed25519 驗簽,以及解密前的 Replay.Claim。細節

    這是來源閱讀觀察,沒有對每條接收路徑執行或做攻擊測試。

  • 密碼學配對配對使用 X25519、HKDF-SHA256 與認證加密;邀請秘密放在網址片段。細節

    審查者描述密碼學設計,未檢視 Swift 原生橋或私有服務的實際強制措施。

  • 金鑰檔權限檔案儲存使用僅擁有者權限、原子寫入與符號連結防護。

  • 本機 HTTP 防護審查者辨識到預設回送位址綁定、Host 檢查與跨站請求檢查。

實際風險/必要信任6
  • 遠端操作權限具操作權限的配對端點能在終端機輸入並接觸敏感 Session。細節

    配對連結與 clawdline open 網址帶有權限,須當作憑證保管。

  • 網站程式碼信任遭入侵的網站檢視器可能更動使用金鑰及解密內容的程式碼。細節

    這是端點信任疑慮,未重現入侵,也不代表 Relay 加密已被破解。

  • 發布者與建置流程簽章有效仍須信任發布者與發行流程。細節

    審查者提醒 Actions 固定版本標籤與建置不可重現;未對這些疑慮做利用測試。

  • 儲存中的秘密機器金鑰為 base64 檔案,並非加密或硬體保護的秘密。

  • 中繼資料與對外連線Cloud 看得到路由中繼資料;直連協商會揭露 IP,關閉 Cloud 仍可能進行更新檢查。

  • 其他來源觀察原文另提出中繼資料僅由簽章綁定、時間新鮮度、轉送標頭影響 Secure cookie,以及復原金鑰暴露的疑慮。細節

    這些是審查者依網頁摘要提出的觀察,未獨立重現為漏洞;請連同原文措辭與限制閱讀。

未確認5
  • 發行資產未驗證下載的執行檔、簽章、公證或二進位與原始碼的對應。

  • 私有 Cloud 服務正式 Relay/API 的行為、日誌、保存與設定仍未確認。

  • 瀏覽器與 Swift 路徑未檢視瀏覽器端密碼學與金鑰儲存,以及 Swift 程式碼。原因

    本輪不能證明另行公開的 2.1.1 原生橋疑慮已解決。

  • 其他機制未檢視 setup、自動更新、推播與認證的固定時間比對。

  • 閱讀完整性Claude 明說閱讀的是網頁擷取摘要,並非完整檔案。原因

    關於設計文件過時的說法保留為審查者觀察,本摘要沒有新增驗證。

摘要涵蓋範圍與審查者建議

審查者實際閱讀範圍透過網頁摘要閱讀安裝、Go 加密/配對/重播、金鑰檔與 HTTP 防護;未驗證瀏覽器密碼學、Swift 橋、setup 或發行執行檔。

審查者建議先從本機模式開始,只配對信任的裝置、優先使用唯讀,並驗證確切發行資產。審查時固定來源的 README 仍選 v2.1.2,後來主線已把範例改為 v2.1.3。

以上各項由原文的主要結論改寫成短句,未加入原文沒有的判斷。檔案連結、程式碼位置與完整措辭請看原文。

閱讀這份程式碼審查全文

Codex

整體判斷(摘述)工具能讀取敏感開發資料並控制終端機,因此仍有實質風險。抽樣的 Go/瀏覽器來源實作了可信的加密機制,但審查者無法認定 v2.1.3 執行檔或正式 Cloud 已驗證安全。

正面保障5
  • Go 與瀏覽器加密兩端都實作 AES-256-GCM 與 Ed25519,解密前先驗簽。細節

    原文指出寄件者綁定依賴已固定金鑰的查找;確認的是可信機制,不是完整協定驗證。

  • 配對設計隨機邀請秘密、AES-GCM、X25519 與 HKDF 衍生金鑰保護交接。

  • 網路預設值Cloud 與遠端指令權限預設關閉,設定使用 HTTPS/WSS 端點。細節

    使用 Cloud 時,直連預設啟用;審查者未完整稽核 WebRTC。

  • 安裝防護安裝程式含固定 Ed25519 金鑰與發行驗證流程。細節

    這能降低替換風險,但不等於已獨立驗證實際下載的 v2.1.3 檔案。

  • HTTP 授權抽樣來源包含認證、同源檢查、能力檢查與配對速率限制。

實際風險/必要信任5
  • 端點權限具操作權限的瀏覽器能暴露秘密或以使用者身分要求執行指令。

  • 同源程式碼信任不可匯出的 CryptoKey 不能阻止惡意同源 JavaScript 使用金鑰或讀取明文。細節

    這是審查者的安全推論,未證實 XSS 或網站已遭入侵。

  • 本機金鑰儲存base64 金鑰檔使用私有權限,但不是儲存加密。

  • 中繼資料與更新路由中繼資料仍可見,關閉 Cloud 不必然消除對外流量。細節

    對外流量盤點涵蓋較早版本,審查者沒有把它當成此 commit 的完整流量稽核。

  • 撤銷限制撤銷無法抹除裝置已複製的明文或金鑰。細節

    未驗證正式環境對未來內容的保證;換鑰程式碼存在,其驗收紀錄仍有條件限制。

未確認5
  • 發行執行檔未驗證實際簽章、公證、清單或執行檔與原始碼的對應。

  • 私有與已部署 Cloud無法取得私有後端、已部署前端、保存方式與正式設定。

  • 服務端一次性領取密碼學配對來源無法證明私有服務確實強制一次性領取。

  • 未審查路徑未完整稽核 WebRTC、相依套件與全部來源路徑,也未進行原生 Swift 橋審查。原因

    這不是對另行保留的 2.1.1 原生橋報告重新驗收。

  • 公開讀取失敗目錄/API 列表部分無法讀取,但可讀固定 commit 的原始檔案。

摘要涵蓋範圍與審查者建議

審查者實際閱讀範圍固定原始檔中的 Go/瀏覽器密碼學、配對、設定/Relay、金鑰檔、安裝、HTTP/auth 與換鑰/資料流文件;部分列表失敗,未執行程式。

審查者建議先以沒有正式環境秘密的本機模式使用,需要時再開 Cloud,優先唯讀並驗證確切發行檔;這份審查沒有給出無條件安裝許可。

以上各項由原文的主要結論改寫成短句,未加入原文沒有的判斷。檔案連結、程式碼位置與完整措辭請看原文。

閱讀這份程式碼審查全文

Herdr

a2008661c ↗

Claude Code

整體判斷(摘述)沒看到惡意行為、遙測或隱藏上傳。實際風險是一般的供應鏈風險,加上 Herdr 本來就會執行並控制你的 coding agent 與 SSH 工作階段。

正面保障6
  • 遙測沒找到分析或遙測程式碼與設定。細節

    「產品公告」只是讀取更新 manifest 裡的文字並存在本機。

  • 本機程序通訊本機 API 只有 Unix socket(權限 0600,僅限本人)或 Windows named pipe,沒有 TCP 監聽。

  • 傳輸加密沒有自製加密:HTTPS 交給 curl,遠端加密交給系統的 OpenSSH。

  • SSH 主機驗證SSH 使用 StrictHostKeyChecking=yes 與 BatchMode=yes,不保存密碼或金鑰,也沒看到 agent 或 port forwarding。細節

    SSH control socket 有限制:/tmp/hssh-<uid>、權限 0700,並檢查擁有者。

  • 安裝範圍安裝程式只寫入 ~/.local/bin,不用 sudo、不改 shell rc 檔,也不執行 Herdr。

  • 手動更新herdr update 只能手動執行,不會自動安裝。

實際風險/必要信任8
  • 下載驗簽下載有雜湊、沒有簽章。install.sh 與 herdr update 從同一份 herdr.dev manifest 取得 SHA-256 與二進位檔,攻破 herdr.dev 的人可以兩者一起換掉。細節

    沒有 GPG 或 minisign 驗證,install.sh 也沒把 curl 限定為 HTTPS(--proto =https)。

  • 預覽版雜湊驗證如果 manifest 沒提供雜湊,preview 頻道的下載可能完全跳過檢查。Preview 頻道

  • 發行檔來源herdr.dev、GitHub Releases 或 Homebrew 上的預建二進位檔,無法證明來自這份原始碼。細節

    自行建置(cargo build --release)可以補上這個缺口。

  • 遠端安裝Herdr 會在遠端主機的 $HOME 安裝自己的二進位檔;平台相同時,它經 SSH 傳送本機二進位檔,審查者沒看到雜湊檢查步驟。使用遠端主機時

  • SSH agent 轉送它的 SSH 設定會引入你的 ~/.ssh/config,所以那裡的 ForwardAgent yes 依然生效。使用遠端主機時

  • 外掛執行權限外掛的 build 指令以你完整的使用者權限執行,沒有沙箱;除非加上 --ref,安裝不會釘在特定 commit。安裝外掛時細節

    安裝前會列出指令請你確認,但 --yes 會跳過。

  • 本機 API 存取本機 socket 不驗證連線,任何以你身分執行的程式都能操作你的 agent pane。細節

    審查者認為這是 tmux 類工具的常態:保護來自檔案權限,擋不住已經以你身分執行的惡意程式。

  • 更新檢查連線啟動時會檢查 herdr.dev/latest.json;伺服器看得到你的 IP 與 curl 的 User-Agent。預設細節

    請求本身不帶版本、作業系統或 ID;Homebrew 安裝改查 formulae.brew.sh。

未確認6
  • 驗證開關version_check 與 manifest_check 分別關掉哪些請求。原因

    兩者預設開啟,審查者無法確認各自控制什麼。

  • 程序通訊權限Windows named pipe 的安全設定,以及 Unix socket 上層目錄的權限。原因

    沒有審閱 platform/windows.rs。

  • 下載 TLS 選項curl 包裝函式的完整參數。原因

    update.rs 讀取時有一部分被截斷。

  • Windows 安裝器Windows 的 install.ps1 如何使用雜湊。原因

    這份審查沒有閱讀。

  • SSH agent 存取server 如何使用 Herdr 交給它的 SSH_AUTH_SOCK 路徑。原因

    審查者看不到使用它的 server 端程式碼。

  • 伺服器紀錄herdr.dev 伺服器端的一切,例如紀錄。原因

    伺服器端行為不在原始碼庫內。

摘要涵蓋範圍與審查者建議

審查者實際閱讀範圍雜湊/更新、SSH 傳輸、本機 API 與外掛程式;部分大型檔案截斷。

審查者建議如果你對 herdr.dev 維護者的信任程度,和你願意 curl | sh 的其他專案差不多,安裝是合理的。最安全的做法:從審閱過的 commit 自行建置,或自己拿 release 二進位檔的雜湊和 GitHub release 比對。把 version_check/manifest_check 設為 false 可停止啟動時的請求;外掛用 --ref 釘版本,沒讀過的外掛別用 --yes;確認你的 SSH 設定沒有對 Herdr 連線的主機開 ForwardAgent yes。

以上各項由原文的主要結論改寫成短句,未加入原文沒有的判斷。檔案連結、程式碼位置與完整措辭請看原文。

閱讀這份程式碼審查全文

Codex

整體判斷(摘述)有,確實有值得注意的資安風險,但在檢查過的程式路徑中沒有發現蓄意竊取資料的證據。請把 Herdr 當成能接觸敏感工作階段內容的受信任終端機控制器,而不是隔離的小工具。

正面保障4
  • 下載完整性Unix 安裝程式會驗證下載檔的 SHA-256,並安裝到 ~/.local/bin,不需要 root。

  • SSH 傳輸遠端終端機流量走系統的 ssh;已儲存與非互動式連線使用 StrictHostKeyChecking=yes。

  • 本機程序通訊權限本機 API 由作業系統保護:Unix socket 權限 0600;Windows 使用每位使用者專屬的 named pipe 安全描述元,並預設對提權執行的 server 加上完整性限制。

  • 背景 HTTPS 請求背景請求使用 HTTPS、沒有略過 TLS 驗證,檢查過的函式也不會附帶終端機內容。細節

    背景版本檢查只會提示更新,要你明確安裝才會更新。

實際風險/必要信任6
  • 發布者信任安裝要信任 herdr.dev:雜湊和二進位檔來自同一份 manifest,沒有獨立的發布者簽章。細節

    能控制 manifest 的攻擊者可以兩者一起換掉。文件提供的 curl … | sh 執行的是網站上的即時腳本,並未釘在審查的 commit。

  • 工作階段資料儲存儲存的工作階段資料以未加密 JSON 寫入磁碟:工作目錄、啟動與恢復參數、agent 工作階段參照。細節

    可選的歷史紀錄會保留含 ANSI 的終端機內容,畫面上出現或透過已存參數傳入的機密,都可能留在可讀檔案中。寫入時沒有明確設定僅限本人權限,保護取決於目錄權限、作業系統預設與 umask。

  • SSH 設定一般互動式 SSH 連線更依賴你的 SSH 設定與 SSH 的預設行為。

  • 本機 API 存取本機 API 沒有登入或 token;以你帳號執行的任何程式都在信任範圍內。細節

    不要把這個 socket 暴露或轉發給不受信任的使用者。

  • 背景目錄請求背景請求會抓取更新 manifest 與 herdr.dev/agent-detection/index.toml 偵測清單;接收端看得到連線中繼資料。

  • 外掛執行權限外掛就是可執行程式:外掛啟動器執行外部指令時沒有沙箱。安裝外掛時

未確認4
  • 實際 SSH 安全設定實際使用的 SSH 加密演算法、金鑰交換、私鑰保護與主機設定。原因

    這些取決於安裝的 SSH 實作與你的電腦,不在這個原始碼庫內。

  • 功能與外掛上傳每個功能與外掛都沒有上傳或遙測。原因

    只檢查了看過的函式。

  • 發行檔來源發行的二進位檔與網站上的即時安裝程式和這份原始碼一致。原因

    沒有實際安裝,這個工作階段也沒有 shell 或檔案系統工具。

  • 資料留存與相依套件伺服器端的資料保存政策,以及所有相依套件與外掛的安全性。原因

    超出靜態原始碼審查能確認的範圍。

摘要涵蓋範圍與審查者建議

審查者實際閱讀範圍安裝、持久儲存、SSH attach、Unix/Windows API 防護、更新與外掛路徑。

審查者建議可以在無特權帳號下、用不敏感的專案試用;但審查者不會只憑這份審查就核准用於機密的正式工作。請用檢查過、釘選版本的安裝方式,保護已儲存的狀態,避免不必要的歷史保存,並把外掛當成可執行程式看待。

以上各項由原文的主要結論改寫成短句,未加入原文沒有的判斷。檔案連結、程式碼位置與完整措辭請看原文。

閱讀這份程式碼審查全文

T3 Code

d13fc8467 ↗

Claude Code

整體判斷(摘述)讀過的程式碼裡沒有惡意或草率不安全的地方,認證設計也很謹慎。實際風險在於它會在你的電腦上執行 coding agent,並能把控制權開放給其他裝置;風險高低主要看你怎麼設定。

正面保障7
  • 預設監聽範圍除非你另外指定 host,server 只監聽 127.0.0.1。預設細節

    有些第三方文件鏡像說它預設監聽所有介面,但程式碼並非如此。

  • 強制認證沒有關閉認證的模式,localhost 也一樣要認證。細節

    本機瀏覽器需要一次性 token;桌面 App 使用自己的 bootstrap 憑證。

  • 工作階段權杖工作階段 token 以 32 位元組隨機金鑰做 HMAC-SHA256 簽章,用固定時間比對;每次請求都檢查是否已撤銷。細節

    工作階段有效 30 天,WebSocket ticket 有效 5 分鐘。

  • 機密檔案權限server 機密檔案權限 0600,所在目錄 0700。

  • CORS 與憑證封裝版的萬用 CORS 不帶憑證,而 API 需要 bearer token 或 DPoP,因此可以接受。

  • 下載完整性安裝腳本會檢查 SHA-256,不用 sudo,也不改 shell profile。

  • Relay 權杖存取依文件說明,T3 Connect relay 拿不到你的工作階段 token。

實際風險/必要信任12
  • 配對權限配對連結取得所有權限,包括執行終端機指令與 filesystem:read(你帳號能讀的任何檔案)。拿到配對 URL 或被竊的工作階段,就等於拿到你身分的 shell。預設,除非加上 --scope

  • 選用 DPoP 綁定DPoP 金鑰綁定是每個 token 可選的;沒綁定的 token 被偷後可直接當 bearer token 使用。

  • 可讀權杖內容token 只有簽章、沒有加密:持有者看得到內容宣告,但不能修改。

  • 本機機密儲存本機機密是未加密的 .bin 檔,也沒用作業系統 keychain,以你身分執行的任何程式都讀得到。

  • Cookie Secure 屬性cookie 沒有 Secure 旗標。透過可連入的非 HTTPS 位址提供服務時細節

    在 localhost 無害,其他情況是小缺點。

  • 區域網路暴露在不受信任的網路使用 --host 0.0.0.0 會暴露 server;認證仍在,但你完全依賴它。可選細節

    審查者建議改用 Tailscale 或 SSH。

  • Cloudflare 可見資料原始碼庫與文件都沒說 T3 Connect 的流量是端對端加密;請假設 Cloudflare 看得到。使用 T3 Connect 時(可選)細節

    Cloudflare Tunnel 一般會在邊緣節點解開 TLS,但審查者沒有在這個原始碼庫驗證。

  • Relay 簽章金鑰T3 文件自己也承認,relay 簽署金鑰外洩會是問題。使用 T3 Connect 時(可選)

  • 預設遙測遙測看來預設開啟:事件送到 ingest.t3.codes 再轉給 PostHog,內含 T3 Connect、OpenAI 與 Claude 帳號的雜湊 ID。預設細節

    文件說不含 prompt、回應、檔案內容與 token。設定 T3CODE_TELEMETRY_ENABLED=false 可關閉;文件也提到瀏覽器版 web app 不讀這些變數。

  • Relay 追蹤紀錄relay 的追蹤紀錄會送到 Axiom。使用 T3 Connect 時(可選)

  • 下載驗簽安裝腳本沒有驗簽,雜湊檔和二進位檔來自同一個 release。細節

    能抓到下載損壞,抓不到被入侵的 release。

  • Agent 執行權限agent 本身以你選的權限模式執行,通常這才是實務上最大的風險。

未確認5
  • 供應商憑證儲存provider 與版本控制服務的機密存在哪裡。原因

    它們交給一個沒看到程式碼的儲存層;可能是同一個未加密的 0600 檔案儲存,但未確認。

  • WebSocket 來源檢查WebSocket upgrade 處理與 Origin 檢查。原因

    ws.ts 被截斷;不過認證明顯發生在 RPC 層之前。

  • DPoP 驗證共用 DPoP 檢查:允許的演算法與時間窗。原因

    這些在 @t3tools/shared/dpop,沒有閱讀。

  • Relay 與客戶端強化relay 的 server 端程式、手機 App 與 Electron 強化設定。原因

    沒有審閱。

  • 發行檔來源發行版二進位檔與這份原始碼一致。原因

    未驗證。

摘要涵蓋範圍與審查者建議

審查者實際閱讀範圍server 綁定、認證/工作階段/機密儲存、cookie/CORS 與安裝;WebSocket 及 DPoP 檢查不完整。

審查者建議在你信任的電腦上本機使用,安裝是合理的。保留預設的 loopback 綁定;配對時加 --scope,不用的裝置要撤銷(t3 auth);敏感程式碼優先用 Tailscale 或 SSH 而非 T3 Connect;不想要遙測就設 T3CODE_TELEMETRY_ENABLED=false;把 install.sh 接給 sh 前先讀過。

以上各項由原文的主要結論改寫成短句,未加入原文沒有的判斷。檔案連結、程式碼位置與完整措辭請看原文。

閱讀這份程式碼審查全文

Codex

整體判斷(摘述)有,確實有值得注意的資安與隱私風險。請把 T3 Code 當成高權限的 agent 與遠端存取工具:程式碼有真正的認證保護,但不足以說它沒有風險,也不能說它的雲端連線是端對端加密。

正面保障5
  • RPC 授權WebSocket server 會驗證連線,並對 RPC 套用權限範圍:檔案系統、終端機、provider 管理與 agent 操作。

  • 工作階段權杖驗證工作階段 token 以 32 位元組隨機金鑰做 HMAC-SHA256 簽章;驗證時檢查過期與撤銷。

  • DPoP 證明DPoP 加上綁定請求與 token 的 P-256/ES256 證明,並偵測重播。細節

    這些有助於防止偽造與憑證重複使用。

  • 下載完整性runtime 下載器會比對 release 的 SHA-256 雜湊檔。

  • 關閉遙測server 支援 T3CODE_TELEMETRY_ENABLED=false。

實際風險/必要信任9
  • 遠端操作權限被入侵的已授權用戶端可以掌握大量控制權:終端機權限等於你身分的 shell,agent 操作權限可以啟動完整權限的 agent。細節

    原始碼庫本身就記載了這個權限邊界。請把一般配對裝置視為高度信任的裝置。

  • 區域網路明文 HTTP支援以明文 HTTP 直連區網,憑證與流量都沒有傳輸機密性。區網直連時

  • Cloudflare 可見資料T3 Connect 經 Cloudflare 轉送到 loopback HTTP origin,審查的 RPC 路徑沒有額外的內容加密;請假設 Cloudflare 能存取應用程式流量。使用 T3 Connect 時

  • Relay 簽章授權T3 Connect 信任 relay 的簽署權限:有效的 relay 證明可以申請短效、綁定用戶端金鑰、具一般用戶端權限的 bootstrap 憑證。使用 T3 Connect 時細節

    relay 簽署權限一旦被入侵,影響仍然重大。

  • 簽章與加密簽章不等於加密:HMAC 與 DPoP 無法隱藏 prompt、檔案或終端機輸出。

  • 本機機密儲存本機機密以未加密的 .bin 檔寫入,只靠檔案權限(0700/0600)保護。細節

    權限能擋其他作業系統使用者,擋不住以你身分執行的惡意程式或可讀的備份。

  • 本機資料庫本機資料庫是一般 SQLite,沒有加密金鑰。

  • 預設分析資料分析預設開啟,以 HTTPS 批次送到 ingest.t3.codes,該服務保留一份並轉給 PostHog。來自 Codex、Claude 與已連結帳號的雜湊 ID,讓資料可能被關聯。預設細節

    內容包括安裝 ID、平台/版本資訊與事件屬性。審查者沒有確認每個事件都不含敏感內容。

  • 安裝最新版安裝「latest」(即時安裝程式或 npx t3@latest)裝的不是審查的版本;雜湊檔也來自同一個 release 位置。細節

    能偵測不一致,但擋不住被入侵的 release 發布者。

未確認4
  • 端對端加密能排除 Cloudflare 的應用層端對端加密。原因

    審查者無法驗證;檢查過的 RPC 路徑沒有額外的內容加密層。

  • 正式傳輸與紀錄正式環境的 TLS 版本、tunnel 加密設定與紀錄。原因

    原始碼庫中沒有這些資訊。

  • 供應商憑證儲存每個 provider 的憑證儲存。原因

    只檢查了看過的儲存路徑。

  • 發行供應鏈即時安裝程式、release 簽章、相依套件供應鏈與二進位可重現性。原因

    未驗證;沒有安裝,也沒有測試攻擊。

摘要涵蓋範圍與審查者建議

審查者實際閱讀範圍WebSocket/RPC、tunnel 設定、HMAC/DPoP、機密儲存、遙測及 runtime 下載。

審查者建議先在獨立的作業系統帳號或可拋棄的環境中試用,保持遠端存取關閉;不想要遙測就關掉,agent 權限採用需確認的模式。不要在網路上用明文 HTTP。敏感的程式碼庫,請先審查實際 release 與遠端存取部署再授權。

以上各項由原文的主要結論改寫成短句,未加入原文沒有的判斷。檔案連結、程式碼位置與完整措辭請看原文。

閱讀這份程式碼審查全文

Orca

7a06b6579 ↗

Claude Code

整體判斷(摘述)沒發現 Orca 有惡意或偷偷送出資料的跡象;relay 加密、遙測與機密儲存都做得算周到。實際風險在於工具本身的用途:讓 AI agent,以及可選的配對手機,廣泛控制你的電腦。

正面保障6
  • 配對身分驗證v2 手機與桌面協定讓 relay 讀不到流量:桌面公鑰放在配對 QR code 裡並在握手時核對,relay 無法換入自己的金鑰。手機配對時(可選)細節

    relay 只看得到密文,以及時間、大小、ID 等中繼資料。

  • 加密訊息協定兩個方向各有 HKDF-SHA256 衍生的工作階段金鑰;訊息以 nacl.secretbox 驗證,序號會拒收重播或亂序的訊息。

  • 裝置權杖傳輸手機的裝置 token 在握手後、於加密通道內傳送。

  • 預設監聽範圍WebSocket 監聽維持在 loopback,直到你產生區網/QR 配對邀請。預設

  • 遙測同意送往 PostHog 的遙測需要同意:你選擇之前不會送出任何資料。GeoIP 關閉,原始碼建置版不送資料。細節

    送出 App 版本、作業系統、固定的安裝 ID 與工作階段 ID,事件欄位經 schema 檢查。設定 DO_NOT_TRACK=1、ORCA_TELEMETRY_DISABLED=1 或在 CI 環境中都會停用。

  • 設定機密儲存設定中的機密以 Electron safeStorage(作業系統 keychain)加密;無法加密時不會以明文寫入。

實際風險/必要信任7
  • 配對 QR code 效期配對 QR code 是長效憑證:沒找到期限或一次性檢查,拍到它的人就能配對。手機配對時(可選)細節

    內含裝置 token、桌面公鑰、連線位址與 relay 資訊。

  • 配對手機權限配對手機的權限很大(terminal.send、terminal.create、agent.launch、files.read、git.push、github.mergePR、ssh.connect),實質上等於你身分的 shell。手機配對時(可選)

  • 舊版 v1 協定仍接受舊版 v1 協定:requireV2 預設為 false,而 v1 沒有握手綁定,也看不到重播防護。程式碼預設細節

    正式版是否開啟 requireV2 未確認(見下方)。這是協定弱點,不是已重現的降級攻擊。

  • 本機加密金鑰E2EE 私鑰以一般 base64 JSON 儲存,只靠檔案權限(0600 或 Windows ACL)保護。

  • 區域網路 WebSocket 傳輸區網 WebSocket 是不含 TLS 的 ws://,依賴上層的加密。細節

    Windows 防火牆規則只會在你明確執行「修復」並通過 UAC 時建立;它套用在私人網路,但不限制遠端位址。

  • 裝置權杖比對裝置 token 用 === 比對,不是固定時間比對。細節

    審查者評為輕微:比對發生在加密通道內。

  • Agent 與桌面操作權限agent 以你完整的使用者權限執行,Orca 還提供操作桌面 App 的「Computer Use」。細節

    請把 agent 輸出與交給它的任何程式碼庫都視為不受信任。

未確認6
  • 正式協定版本正式版是否開啟 requireV2。原因

    程式碼預設為 false;實際出貨設定無法查證。

  • Relay 認證與紀錄relay 認證與後端行為,包括紀錄。原因

    API 與認證服務在私有原始碼庫(stablyai/orca-cloud)。

  • 發行檔與更新驗證發行版是否與原始碼一致,以及自動更新器如何驗簽。原因

    涵蓋 DMG、EXE、AppImage、Homebrew 與 AUR 版本;updater.ts 沒有深入閱讀。

  • 手機 App手機 App。原因

    沒有審閱 mobile/。

  • Linux safeStorage 後端Linux 上是否會拒絕 basic_text 這類弱 safeStorage 後端。原因

    未追蹤。

  • Electron 安全強化Electron 強化設定:sandbox、contextIsolation、CSP,以及 Design Mode 與內嵌瀏覽器。原因

    沒有審閱。檔案是透過會用較小模型摘要網頁的讀取工具閱讀,審查者因此稱這是針對性檢視,不是稽核。

摘要涵蓋範圍與審查者建議

審查者實際閱讀範圍約 35 個桌面/共用安全檔案;未讀手機 app 或私有後端。

審查者建議不需要手機 App 就不要配對,監聽就會留在 loopback。要配對的話,把 QR code 當密碼看待、撤銷不用的裝置;在不受信任的網路上,優先選「This computer only」或 relay 模式,而不是區網。想完全不送分析資料,就設 DO_NOT_TRACK=1 或拒絕遙測提示。從官方 release 或 Homebrew cask 安裝並檢查程式碼簽章。只讓 agent 處理你信任的程式碼庫。

以上各項由原文的主要結論改寫成短句,未加入原文沒有的判斷。檔案連結、程式碼位置與完整措辭請看原文。

閱讀這份程式碼審查全文

Codex

整體判斷(摘述)有,確實有值得注意的資安與隱私風險。請把 Orca 當成能存取你帳號的受信任遠端開發 App;審查者不會在存有敏感憑證的電腦上未經隔離就直接安裝。

正面保障5
  • 遠端 RPC 加密遠端 RPC 加密確實有實作,不只是宣稱:TweetNaCl 驗證式加密;v2 以 HKDF-SHA256 衍生雙向獨立金鑰,綁定握手紀錄與新的 nonce,並檢查工作階段 ID 與遞增計數。細節

    這些可防止竄改與重播。

  • Relay 裝置認證relay 連線強制使用 v2,在加密通道內驗證裝置,並比對它與 relay 連線的身分。經由 relay 時

  • 桌面操作授權桌面控制需要額外授權。

  • 作業系統機密儲存另有一個機密儲存轉接層使用 Electron 由作業系統支援的 safeStorage。

  • 遙測同意官方版的使用事件需要同意,並透過 HTTPS 傳送。

實際風險/必要信任10
  • 工作區與主機權限工作區存取在程式中被定義為以你的身分執行指令;配對的用戶端還會取得帳號、設定、skills 與主機管理權限。細節

    因此即使加密運作正確,被入侵的已授權用戶端仍可能造成嚴重後果。

  • 舊版直連協定直連仍支援舊版訊框,缺少 v2 的工作階段與計數重播檢查。直連時細節

    審查者稱這是協定限制,不是已證實的認證繞過。

  • 推播通知內容推播通知的標題、內文、worktree ID 與 agent 狀態以可讀 JSON 送到推播 gateway,沒有端對端加密。開啟推播通知時細節

    標題截到 80 字元、內文 180 字元;截斷不等於遮蔽機密。

  • 本機加密金鑰桌面 E2EE 私鑰以未加密的 base64 JSON 儲存。細節

    Unix 0600 與 Windows ACL 只限制存取、不加密;以你身分執行的惡意程式或可讀的備份都能讀到金鑰。

  • 金鑰檔權限失敗儲存這把金鑰時,Orca 不檢查檔案權限是否真的設定成功。

  • 配對監聽範圍建立配對邀請會把監聽擴大到所有網路介面,即使你選的是僅限本機配對。手機配對時(可選)細節

    區網傳輸是明文 HTTP/WebSocket,上層有應用層加密。仍需要認證,但其他機器可以連到這個監聽埠。

  • 遙測識別資料同意遙測後,送出的資料包含固定的安裝 ID、工作階段 ID 與作業系統/App 資訊。官方版、同意後

  • 關閉遙測事件在 App 裡選擇退出時,會刻意送出最後一筆「已退出」事件。

  • 上傳診斷資料你上傳的診斷包,接收服務讀得到內容。上傳診斷資料時

  • 相依套件安裝腳本從原始碼安裝會執行 postinstall 建置與原生模組重建,安裝相依套件本身就是執行程式。從原始碼安裝時

未確認3
  • 正式 Cloud 服務雲端 API 與認證服務、正式環境的保存與存取控制,以及部署中的服務是否與原始碼一致。原因

    這些明確放在私有原始碼庫。

  • 憑證儲存路徑每一條憑證儲存路徑。原因

    safeStorage 轉接層不能證明所有憑證或本機紀錄都有加密,它自己的狀態回報也承認 keyring 可能不可用或強度不足。

  • 發行供應鏈發行檔與原始碼一致、所有相依套件的安全,以及完整的更新驗證鏈。原因

    只做靜態程式碼審查,沒有執行安裝程式。

摘要涵蓋範圍與審查者建議

審查者實際閱讀範圍RPC 範圍、密碼學/金鑰派生/訊框、socket 接線、推播、金鑰儲存、遙測與診斷。

審查者建議在 VM 或獨立的作業系統帳號中試用,搭配可拋棄的程式碼庫與權限範圍很窄的憑證。一開始先關閉手機配對與推播通知。處理機密工作時,可讀的通知路徑與私有雲端元件需要特別審視。檢查過的內容沒有證明惡意意圖,但程式碼也不足以說這個工具無條件安全。

以上各項由原文的主要結論改寫成短句,未加入原文沒有的判斷。檔案連結、程式碼位置與完整措辭請看原文。

閱讀這份程式碼審查全文

同一個問題,兩種閱讀方式

多讀一層程式碼,回答有什麼不同?

A

一般詢問

Is there a security risk in installing this tool?

問題與固定版本網址;Clawdline 最新一輪另附已發布的 v2.1.3 發行頁,由審查者自行決定讀什麼。

B

要求閱讀安全程式碼

Is there a security risk in installing this tool? Read the security-related code in this repository and understand its encryption and data transmission mechanisms before answering. If a mechanism cannot be verified from the accessible code, say so.

相同問題與 commit,明確要求閱讀安全程式碼,並說明無法驗證的部分。

Clawdline 新一輪只提供公開來源/發行網址與問題,停用儲存庫脈絡;可見工具紀錄僅有網路讀取。兩個 Codex 初次工作因沒有網路工具而技術失敗,排除後各重試一次。這不代表所有內建指令均已移除;原文仍保留狀態結尾。兩種題目固定相同 commit,要求閱讀不代表完整讀完專案。

A · 一般詢問

沒有指定閱讀程式碼時,審查者怎麼回答

手機上可左右滑動表格,比較兩位審查者。

專案/來源版本Claude CodeCodex
Clawdline
fcc905914 ↗

未報告惡意跡象,辨識到驗簽安裝;提醒遠端權限、網站程式碼信任與發行流程弱點。未驗證實際發行資產與本機認證。

閱讀範圍:透過網頁讀取安裝程式、發行流程/中繼資料、固定金鑰來源與公開安全/貢獻文件;未審查 setup 或執行檔。

閱讀完整回覆

辨識到實質的驗簽安裝與 HTTP 防護,但敏感資料存取、遠端控制與網站用戶端信任仍有實質風險;未證實特定可利用漏洞,也未給予安全認證。

閱讀範圍:固定 README、安裝、HTTP gate/auth 與資料邊界文件;目錄/API 與安全網站讀取失敗,但可讀部分原始檔。

閱讀完整回覆
Herdr
a2008661c ↗

未見惡意行為;主要是安裝來源信任與強大的本機控制能力。提醒雜湊未簽署,以及選用外掛/SSH 的風險。

閱讀範圍:安裝程式、更新、本機 socket 與 agent 整合;未稽核外掛或遠端程式。

閱讀完整回覆

終端控制、原生外掛與持久狀態有實質風險;安裝雜湊與下載來源處於相同信任邊界。

閱讀範圍:庫內安裝程式、API server、外掛執行、持久儲存與預設設定。

閱讀完整回覆
T3 Code
d13fc8467 ↗

收緊設定後可合理試用;提醒預設 Full access、廣泛配對權限、遙測及 Cloud 信任。

閱讀範圍:README/套件設定,以及權限、遠端存取、環境認證與遙測文件。

閱讀完整回覆

預設 Full access 與遠端權限有實質風險;辨識到範圍式認證,未證實認證繞過。

閱讀範圍:權限/認證/遠端文件、RPC 授權及安裝說明。

閱讀完整回覆
Orca
7a06b6579 ↗

未見惡意程式跡象;著重 agent、憑證與手機權限;此輪未驗證 relay 加密。

閱讀範圍:程式庫結構、package.json 與文件;未逐行稽核原始碼。

閱讀完整回覆

找到預設啟用的權限繞過啟動參數;建議改為 Manual 權限並隔離試用。

閱讀範圍:agent 啟動預設/權限、啟動整合、瀏覽器安全與遙測同意。

閱讀完整回覆
展開上一輪 Clawdline v2.1.2 審查

保留先前固定來源、四份完整原文、閱讀範圍與限制。此輪只有 Clawdline 更新至 v2.1.3,不是四專案同時重跑。兩輪摘要都不是安全證書。

v2.1.2 · 239adc8ad ↗

另外收錄 · 專項檢視

2.1.1 原生配對橋

另以中文題目檢視已發布的 2.1.1 原生橋。兩位都指出,在 hosted 頁面遭入侵且使用者同意的前提下,接收端綁定需要核對。這是尚未重現攻擊的靜態發現,與上方 16 份英文題目的比較分開呈現。新的 v2.1.3 回覆未閱讀 Swift 原生橋,不能用來宣稱這些疑慮已解決。

如何理解結果

「有風險」需要上下文。

能力與漏洞分開看

能讀取對話、執行指令,是這類工具的能力。能否被未授權的人濫用,則需要具體證據。每份報告中的疑慮仍值得核對。

傳輸機制要讀程式碼

「會傳送資料」沒有交代傳的是明文、密文或中繼資料,也沒有交代誰持有金鑰。B 組題目要求審查者先釐清這些機制。

這是觀察,不是排名

這 16 份回答不是統計實驗或完整稽核,不能證明 agent 有偏誤,也不能證明任何專案安全無虞。摘要是編輯整理;完整原文供你自行判斷。

下載題目、版本與原文雜湊紀錄 ↗

此頁由 Clawdline 製作,Clawdline 也是比較對象之一。各專案的圖示用於識別,不代表背書。

查看 Clawdline 的加密與資料邊界 ↗