DeepSeek Harness 安全指南:沙箱、審批與金鑰
DeepSeek Harness(dsh)如何保證安全:沙箱三檔、審批策略、守衛與逾時,以及為什麼你的 API Key 永遠不會進入會話記錄。白話版 dsh 安全指南。
最近更新: 2026-08-18
威脅模型,一句話
外掛是以代理權限執行的程式碼——而代理能執行指令、改檔案、存取網路。安全模型存在的意義,就是讓有 bug 的或惡意的外掛(以及被哄騙的模型)無法悄無聲息地造成破壞。
DeepSeek Harness 用四層來應對:沙箱、審批、守衛、金鑰處理。
沙箱:誠實的三個檔位
每個會話都跑在程序沙箱裡,共三檔:
| 檔位 | 允許什麼 | 什麼時候用 |
|---|---|---|
read-only | 能讀工作區,不能改 | 程式碼審查、稽核,任何想要零寫入的場景 |
workspace-write | 工作區內可讀可寫,工作區外不可寫 | 日常開發——工作的預設形態 |
danger-full-access | 使用者帳戶能碰的一切,代理都能碰 | 僅在刻意、有人監督的系統級操作時使用 |
隔離盡量用作業系統原生的機制——Linux 上 bwrap/Landlock、macOS 上 Seatbelt、Windows 上 ACL 受限權杖。而且後端如實回報:它承諾的隔離到底有沒有生效,一查便知;某個檔位沒生效,會明明白白顯示出來,而不是假裝安全。
審批:風險操作先問一聲
與沙箱相互獨立,風險操作要走審批系統:代理暫停,你來拍板。什麼算「風險」由策略預設調節——從「幾乎事事都問」到「只在沙箱外才問」,一個設定整體切換。
實用習慣:一開始從嚴,觀察代理表現穩定後再放寬。一次審批提示只花一次點擊;一次無人監督的工作區外寫入,可能搭進去一個下午。
守衛與逾時
兩道自動機制專治失控:
- 逾時 —— 卡住的工具呼叫會被強制中斷,而不是讓這一輪永遠等下去。
- 迴圈偵測 —— 反覆無進展的動作(同一條失敗指令一遍遍重試)會觸發守衛打斷迴圈。
外掛還可以在每次工具執行、每次模型請求前後的攔截點上加自己的守衛——這個接縫在外掛開發入門教學裡有講。
你的金鑰去了哪裡
憑證(API Key、token)走的是與會話記錄分離的獨立通道:記錄裡只記錄引用,不記錄明文。所以分享或匯出會話不會洩漏金鑰。
另外兩個值得知道的預設值:
- 會話記錄預設不上傳,遙測需明確開啟;
- 你貼進對話框的內容模型照樣看得到——所以別把金鑰當訊息內容貼進去;工具支援供應商側驗證時優先用它。
嘗試任何新東西前的檢查清單
- 從
read-only開始,看到可信行為後再升到workspace-write。 - 安裝前讀外掛的原始碼、授權條款和權限聲明——外掛安裝教學把這套動作變成了例行公事。
- 在一次性工作區裡試新外掛,別拿主力專案試。
- 留意最初的幾條審批提示:它們會告訴你外掛到底想幹什麼。
- 出問題就停會話、刪掉外掛條目、去倉庫提 issue。
常見問題
安裝第三方 dsh 外掛安全嗎?
沒有什麼能讓不受信的程式碼變安全——上面這幾層讓它變得可遏止。審查過的外掛、在一次性工作區裡從 read-only 試起、再升到 workspace-write,是合理的風險;沒審查過的外掛直接給 danger-full-access,不是。完整的審查流程在外掛安裝教學裡。
外掛能偷走我的 API Key 嗎? 金鑰走獨立通道、從不進入會話記錄,所以讀記錄、分享記錄都不會洩漏。但外掛是以代理權限執行的程式碼——這正是裝之前要讀原始碼的原因,也是工具支援供應商側驗證時優先用它、別把金鑰貼進對話框的原因。
日常應該用哪檔沙箱?
日常工作用 workspace-write;審查、稽核、第一次接觸新東西用 read-only。danger-full-access 當成 sudo 對待:刻意、有人看著、用完就收。
dsh 會把我的會話上傳嗎? 會話記錄預設留在本機,遙測需明確開啟。但你貼進對話框的內容照樣會發給模型供應商——記錄策略改變不了模型能看到什麼。
