dsh-cyber-redteam:DSH 上的 CyberOps 運行時與 URL 掩碼路由

前言

在 DeepSeek Harness(DSH)裏做與安全測試、紅隊演練相關的對話時,模型和工具往往會直接接觸真實 URL。若把內網或敏感目標原樣寫進上下文,既不利於隔離,也可能讓不同會話之間的鏈接互相「串臺」。社區插件 dsh-cyber-redteam(維護者 datawork-technology)在 Harness 內提供一套可選啓用的 CyberOps 運行時:按會話、按激活生成本機 loopback 上的掩碼路由,並在 Web Composer 提供 Red Team 開關。下面按安裝、模式與配置說明其行爲邊界。

這是什麼

dsh-cyber-redteam 是面向 DSH 的 CyberOps 運行時插件(README 歸類爲帶掩碼 /cyber、授權直連 /cyber-2 路由及 Composer Red Team 切換)。當前資料中的版本爲 0.6.1,許可證 MIT。插件自 v0.5.0 由 dsh-cyber-2 更名而來。

兩條設計原則貫穿全文:

  • 掩碼爲顯式加入(opt-in):從未打開 Red Team 的會話中,URL 保持用戶輸入原樣;武裝 Red Team 或顯式使用 /cyber、/cyber-2 後,該會話才進入掩碼邏輯。
  • 每條掩碼路由獨立源站:各路由在本機獨立端口監聽,並持有獨立不透明 token,不同聊天、同聊天內不同目標也不會共用同一掩碼地址。

核心功能

路由與命令

命令 作用
/cyber <URL> 僅經網關:目標只能通過該任務本地的掩碼路由訪問。
/cyber-2 <URL> 授權直連模式,仍保留 URL 掩碼。
/cyberoff 撤銷本會話全部路由並關閉兩種模式。
/cyber-2 https://exact-host/path 爲已授權場景追加另一個目標。

資料說明:登記後的 URL 在發給模型提供商的消息與工具結果中保持掩碼;被引用資源允許常規拉取,並非自動擴大攻擊性範圍;提示詞範圍不是網絡層強制白名單。

掩碼身份與本機監聽

武裝後,掩碼基址因會話與路由而異,形態類似:

http://127.0.0.1:52104/_cyberops/<token>/...   chat A -> example.com
http://127.0.0.1:52105/_cyberops/<token>/...   chat B -> example.com
http://127.0.0.1:52106/_cyberops/<token>/...   chat A -> api.example.net

token 由安裝密鑰 HMAC、128-bit 隨機數及所屬會話與源站綁定生成。要點包括:同一會話內不同路由不同端口;撤銷路由後監聽器關閉;端口在重啓後可持久化;/cyberoff 或解除武裝後同目標再次授權會 mint 新 token;單輪內 agent/pre-step 重投影用戶消息時複用存活路由;重啓後活躍會話可保持同一掩碼 URL(gateway 狀態持久化)。

TLS 鏈補全

對部分僅下發葉子證書的目標(易出現 unable to verify the first certificate),網關會讀取葉子證書的 AIA 擴展、拉取缺失頒發者並重試一次,校驗仍須落到本地信任根;成功響應可帶 x-cyberops-tls-chain: completed-from-aia,其餘 TLS 失敗上報 upstream-tls-failed。

Red Team 開關

Web Composer 在 conversation.input.right(模型選擇器旁)渲染 Red Team chip,是會話級武裝開關:

  • Off(默認):不掩碼,不登記路由。
  • On:每步注入 CyberOps toolkit 段落(playbook + 工具列表),本會話內 URL 掩碼。

武裝不自動授權任何目標;仍需顯式 /cyber-2 <URL> 纔會 attest 掩碼路由。掩碼與武裝狀態的關係見 README 表格:未武裝會話裏粘貼的 URL 保持原樣,而 /cyber <URL> 會掩碼並同時武裝該會話。

等價的文本命令:

/cyber-mode status   # 報告本會話 armed 狀態
/cyber-mode on       # 本會話開啓 red-team 模式
/cyber-mode off      # 關閉

返回行前綴須爲 cyber-mode: on|off|unavailable。武裝狀態寫入 gateway 狀態文件,重啓後仍有效;新會話默認未武裝。

狀態、路徑與配置

項 默認 可覆蓋(bundle config)
Toolkit 根目錄 $DSH_HOME/toolkits/my-home-server-toolkit,否則 ~/.dsh/toolkits/... toolkitRoot
Gateway 狀態(schema v2) $DSH_HOME/storages/cyberops-gateway.json,否則 ~/.dsh/storages/... statePath
私有目標 關 allowPrivateTargets
開關武裝時是否含直連 開 armDirectAccess: false 可關

Toolkit 不隨插件捆綁;需在上述路徑安裝經 verifyToolkit 校驗通過的 toolkit,或在 profile 補丁中指定路徑(勿直接改 bundle 內 cordis.patch.yml):

# ~/.dsh/profiles/<profile>/cordis.patch.yml
- id: cyberops-runtime
  config:
    toolkitRoot: /Users/you/toolkits/my-home-server-toolkit
    allowPrivateTargets: true   # 僅當授權目標爲私有時

資料提醒:config 會被後續 patch 整段替換,需重複寫出仍要保留的鍵。

無 toolkit 或校驗失敗時,插件記錄警告並自行禁用,Harness 仍可啓動,開關顯示 cyber-mode: unavailable。

狀態與 Son of Astra(~/.soa)安裝互不共享。

安裝與啓用

在 DSH 中可通過倉庫自帶市場索引安裝。路徑:Plugins → Discover → Manage index sources,添加:

https://raw.githubusercontent.com/datawork-technology/dsh-cyber-redteam/main/index.json

或直接按 commit 規格安裝:

dsh plugin --profile <profile> add "github:datawork-technology/dsh-cyber-redteam"

安裝後默認爲未武裝且無 toolkit:Composer 開關爲 cyber-mode: unavailable,直到存在已校驗 toolkit;在運行 /cyber 或 /cyber-2 之前也沒有任何目標被授權。

典型用法流程

  1. 安裝插件並(按需)在 profile 中配置 toolkitRoot 與 allowPrivateTargets。
  2. 確認 toolkit 通過校驗後,在 Web 會話中打開 Red Team,或使用 /cyber-mode on。
  3. 對具體目標執行 /cyber-2 https://exact-host/path(或僅網關場景用 /cyber <URL>)。
  4. 結束本輪掩碼與會話路由時使用 /cyberoff 或 /cyber-mode off。

適用場景與注意

適合需要在 DSH 對話中做授權安全測試、又希望把對外可見 URL 收斂到本機 loopback 掩碼源的開發者。插件以當前 DSH 進程權限運行;安裝前應自行審閱 GitHub 源碼 與 MIT 許可證。社區目錄 SkillHub 插件頁 爲獨立站點索引,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-cyber-redteam 把「是否掩碼」和「是否注入 CyberOps 工具包」綁在會話級 Red Team 開關上,併爲每個授權目標分配獨立端口與 token,在 Harness 重啓後仍可恢復狀態。需要市場入口時可打開 目錄頁,需要實現細節與變更記錄以 GitHub 倉庫 README 爲準。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜