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 为功能与命令的权威说明。

链接

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

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

小夜