dsh-blue-team-mode:在 DSH 裏搭 CTF 藍隊指揮台

前言

在 CTF 或攻防演練裏做藍隊,告警、日誌、樣本和結論常常散落在不同工具與聊天裏;指揮官一邊盯告警一邊自己翻日誌,很容易漏資產、漏任務。子智能體口頭說「處理完了」,若本地沒有結構化記錄,復盤和寫報告都缺依據。

DeepSeek Harness(DSH)社區裏維護者 FGCGDroid 發佈的 dsh-blue-team-mode(倉庫 FGCGDroid/blue,目錄分類爲 admin-security)把 Harness 收成一套防守側閉環:SQLite 事實庫、任務隊列、六個執行角色預設,以及獨立右側欄「藍隊控制台」。下面按安裝、開局門禁和日常工作流說明用法;插件以當前 DSH 進程權限運行,僅限已獲授權的靶場或自有資產防守場景。

它是什麼

npm 包名 dsh-blue-team-mode,當前版本 1.0.0,許可證 MIT。一句話定位:把 DeepSeek Harness 變成 CTF 網絡攻防藍隊指揮台——對一個防守目標拉起監控值守、情報分析、威脅狩獵、應急響應、取證分析、加固修復六個執行角色;資產、告警、發現、IOC、任務與時間線寫入本地 SQLite($DSH_HOME/blue/blue.db),並在獨立右側欄控制台可視化,由指揮官按併發名額派發任務。

README 明確:僅限已獲授權的 CTF 靶場、攻防演練或自有資產防守;只做防守側採集、比對、編排、取證與記錄,不包含攻擊、漏洞利用或未授權探測代碼。

核心功能

事實庫與編排閉環

手工防守常見的三個痛點——信息散、派活亂、沒證據——插件用「一個事實庫 + 一個任務隊列 + 六個角色預設」固定流程:告警/日誌/樣本經 blue_autopilot 與 plan / next / complete 進入子智能體派發,執行結果落庫。

事實庫表包括:assets、alerts、findings、iocs、tasks、timeline、engagements。

獨立藍隊控制台

掛在 shell.overlay 上的右側常駐面板(非普通文件 tab),有態勢、告警、資產、發現、任務、IOC、時間線、報告等頁籤;可從會話頭部 「藍隊」 按鈕打開。Host 通過同源 POST /blue/api 橋接讀寫 ctx.blueTeam 的 SQLite。會話與目標綁定鏡像到 $DSH_HOME/blue/session-bindings.json。

領取任務 會把任務置爲 dispatched 並生成含 agent_preset 的任務書;控制台不直接代替 Agent 調用 subagent,需由指揮官繼續派發。

六個執行角色

agent_preset 角色 主要職責
blue-worker-monitor 監控值守 告警研判、可用性、首輪止血
blue-worker-intel 情報分析 IOC、檢測規則、誤報評估
blue-worker-hunt 威脅狩獵 WebShell、橫向、持久化、外帶
blue-worker-ir 應急響應 PICERL、隔離、清除、恢復
blue-worker-forensics 取證分析 磁盤/內存/日誌/樣本、時間線
blue-worker-hardening 加固修復 修入口、收斂暴露面、補檢測
blue-worker 全工具執行 角色不確定時的兜底

執行角色爲葉子節點,預設內無 subagent / workflow;需要其他角色時在回報裏寫 needs: 交給指揮官。

工具與風險審批

README 列出約 30 個 blue_* 工具,覆蓋目標綁定、blue_preflight 自檢、資產與告警、IOC 與發現、任務隊列,以及核心編排器 blue_autopilot(status / plan / next / cycle / complete / set_slots)。

任務按 low / medium / high 分級;high 級(如隔離主機、改防火牆、殺進程等)只能進入 pending_approval,須經控制台或 blue_task_approve 人工放行後纔會進入自動 cycle 派發。

紅隊社工與注入防護(設計要點)

主會話與執行角色默認不掛 bash / pwsh / fs / web 等通道;宿主訪問走 blue_* 工具。blue_log_scan / blue_artifact_triage 對不可信數據打標並做注入信號檢測;報告僅寫入 $DSH_HOME/blue/reports。這些措施降低「模型直接讀源碼並 HTTP 外傳」的現成路徑,不能替代 OS 級沙箱;生產或高對抗環境仍建議 Docker/VM、只讀掛載證據目錄、默認無出站網絡。

安裝與啓用

依賴 Node.js ≥ 22.13(node:sqlite),dsh ≥ 0.2.1-rc.5。插件不下載外部工具;缺項可用 blue_preflight 查看。

從 npm 安裝(發佈後)

dsh plugin --profile desktop add dsh-blue-team-mode

等價的 plugin_manager 寫法:

plugin_manager action=install_bundle target="dsh-blue-team-mode"

包內 dsh.bundle 指向 cordis.patch.yml;npm 安裝不需要 allowBuilds。

從本地 tarball 或目錄安裝

打包後安裝示例:

npm pack --pack-destination dist
dsh plugin --profile desktop add .\dist\dsh-blue-team-mode-1.0.0.tgz

本地目錄作爲 bundle 時(需 Full access 或逐次批准):

dsh plugin --profile desktop add "C:\Users\86186\Desktop\藍隊防禦插件"

安裝後重啓一次 dsh web,在界面助手欄選擇預設 「藍隊防禦模式」。會話頭部會出現 「藍隊」 按鈕,右側欄引導頁有 「藍隊控制台」 卡片。

典型用法

開局門禁(必須)

在「藍隊防禦模式」會話裏,第一條用戶消息必須是:

防禦自檢

未自檢前,除 blue_session_info / blue_preflight / blue_defense_selfcheck 外,其他 blue_* 工具會返回 SELF_CHECK_REQUIRED。用戶發送上述四字後,指揮官調用:

blue_defense_selfcheck phrase="防禦自檢"

門禁會校驗會話中最後一條用戶消息去除首尾空白後恰好爲「防禦自檢」;僅模型填對參數而用戶消息不符仍會被拒絕。執行角色 worker 不走此門禁。

綁定目標並自主派活

自檢通過後,可發送類似內容:

防守目標:example-ctf 靶場,範圍 10.10.0.0/24 和 *.example.test。
先盤點資產、接入告警,然後自主派活。

指揮官側典型順序:blue_engagement_open 綁定目標 → blue_preflight → 派 monitor 盤點與接告警 → blue_autopilot action=cycle → subagent + 對應 agent_preset → 子智能體回報後覈對庫、complete 回收,進入下一輪。

也可手動指揮,例如:

看一下現在什麼態勢
把這條 critical 告警轉成應急任務
對 10.10.0.5 做失陷痕跡覈查
生成報告並寫到文件

適用場景與注意

適合誰:已在 DSH 上跑多智能體、需要在授權範圍內做藍隊防守編排的 CTF 隊員或演練指揮;希望告警、資產、IOC、任務與時間線落在同一套本地庫並可視化復盤。

使用前請確認:

  1. 對目標擁有書面授權,並遵守比賽或演練規則。
  2. 安裝前閱讀倉庫源碼與 MIT 許可證;插件能力受 DSH 進程文件與網絡權限約束,不要把 Harness 跑在能看見無關生產密鑰或客戶數據的賬戶下。
  3. 移除 worker 的 web 後,外部情報需由主會話或人工經受控通道查詢後再下發(worker 回報 needs:),勿隨意加回未審查的外聯工具。

DSH 生態主張「一切皆插件」;SkillHub 目錄頁 爲社區收錄,與 DeepSeek / 幻方無法定從屬關係。倉庫 README 爲功能與命令的權威說明。

鏈接

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

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

小夜