Jueze-2019/dsh-redteam-mode

packages/redteam-bundle

红队作战模式:只发一个靶标单位名称,主会话指挥五个执行角色(信息收集/资产梳理/漏洞发现/漏洞利用/内网渗透)推进演练,并发数可配置;开工前先做技能与资源预检,缺 key 或 VPS 一次性向用户要齐;得分对齐《突破入侵类得分规则(合并版)》8 类 25 项,上限、权限取高、同服务去重均由服务端判定。发现落入本机 SQLite 事实库并带发现时间;右侧常驻控制台为 5 个分区 / 10 个页面(态势、资产、成果、报告、资源),跟随当前会话,包含资产测绘、智能体、会话隧道、漏洞战果、攻击链、得分目标、报告、按归类组织的 POC/EXP 知识库,以及逐条说明不可用原因的技能库。报告下载文件名使用靶标名,下载与页面同源,补齐动作、请求、凭据、隧道与攻击文件路径,并减少误报复现缺口。随包 16 个侦察/检测向技能(含 DeepSeek Search/Fetch 公开情报)、56 个 redteam_* 工具与一键自更新;攻击链技能仍作为独立工具箱 Release 附件。

安全与权限ai-agentattack-surfacedeepseek-harness

dsh-redteam-mode

DeepSeek Harness 的红队作战模式插件:给一个靶标单位名称,就拉起一支红队智能体 (信息收集 → 漏洞检测 → 漏洞利用 → 内网渗透),所有发现落进本机 SQLite 事实库, 右侧常驻控制台实时看资产、攻击链、得分与报告。

安装

dsh plugin --profile web add dsh-redteam-mode

装完重启一次 dsh web,然后在设置 → 插件市场里就能看到它(也可以直接在上面搜 redteam)。插件自带 红队模式 与 16 个侦察/检测/得分覆盖向技能,不需要手动拷任何文件。

版本对应:DSH 0.2.1 及以上用 0.14.2 及更新的版本;DSH 0.1.7–0.2.0 用
0.12.1–0.13.1;DSH 0.1.6 及更低用 0.12.0 及更早版本。0.12.0 及更早的插件在
DSH 0.1.7+ 上,新建会话的模式列表里不会出现「红队模式」(资产库、控制台、工具与技能都不受影响)。
DSH 0.2.1 的破坏性变更:@deepseek-ai/dsh-tool-subagent 移除了 toolFilter / persona,
再写会在 apply() 直接抛错 toolFilter is no longer supported,subagent 委派工具不再注册。
0.13.2 起红队预设改用独立的 redteam-worker 执行角色预设 + agentPreset;升级 DSH 后请同时
升级本插件。旧版 DSH 仍可加载本版(未知字段被忽略),但子智能体的叶子约束只剩 maxDepth: 1。

使用:新建会话 → 选预设 红队模式 → 直接发靶标单位名称。

关于工具链:本包只含编排与事实库,不含任何"自动下载安全工具"的脚本,也不含
攻击链技能(隧道 / 凭据 / WebShell / 反弹 Shell / 横向移动 / 未授权利用)。
需要它们的用户从本项目 Release 附件 dsh-redteam-mode--toolkit.tar.gz 自取、
自行执行——本插件不会替用户下载或安装任何工具。详见 v0.12.0 发布说明。

从预发布期的「开发版」升级过来

如果你在 0.7.0 之前用过开发版(在 ~/.dsh/profiles/web/cordis.patch.yml 里手写过 redteam-store / redteam-ui 两行,指向 dsh-redteam-store / dsh-redteam-ui), 装完本插件后启动会报服务/条目冲突,先跑一次迁移把旧行清掉:

node "$(npm root -g 2>/dev/null)/dsh-redteam-mode/lib/migrate-legacy-rows.mjs" --dry-run   # 预演
node node_modules/dsh-redteam-mode/lib/migrate-legacy-rows.mjs                              # 在 profile 目录里执行

它会只删那两条(连子行),其它内容与注释原样保留,写回前自动备份;已经在用 0.7.0+ 或者新装的机器不需要跑。

它给你什么

能力 · 说明 五个执行角色 · 信息收集 / 资产梳理 / 漏洞发现 / 漏洞利用 / 内网渗透,主会话只做调度与指挥 角色工具裁剪 · 5 个 redteam-worker-* 预设按 profile 裁剪工具(recon 35 / assess 37 / vuln-scan 44 / exploit 50 / internal 51;默认全部 56) 资产测绘 · C 段按内外网分组、端口/服务/指纹/域名/Web 标题、易打性评估、测试状态 攻击链 · 五阶段(信息收集 → 互联网资产权限 → 边界突破 → 内网资产权限 → 靶标权限),带累计得分 得分目标 · 得分点可编辑、命中记录一行一条;自建账号不计分;账号权限与数据库权限按「同一资产 + 同一端口」封顶(拿到最高权限账号即该服务拿满,同服务再刷账号标「服务已拿满 · 不计分」),其余得分点仍不设数量上限 会话隧道 · WebShell 与隧道状态、连通性实测、是否跨越靶标边界的判定 报告 · 按攻击链顺序、按阶段可折叠,每条得分附可直接粘进 Yakit 的原始请求;自建账号与同服务重复命中整条剔除(抬头给出剔除条数) POC 知识库 · 全局共享(跨靶标):先查库再联网/手搓,验证有效的回填;同时检索本机 nuclei 模板库 技能 · 16 个侦察/检测/得分覆盖向技能随包分发(FOFA 测绘、被动收集、DeepSeek 公开情报检索/抓取、端口/服务/指纹识别、目录与模板扫描等);攻击链技能见 Release 附件工具箱

数据放在哪

  • 全部落在本机 $DSH_HOME/redteam/:engagements//(SQLite 事实库 + runs/ 证据 +

按目标分目录的攻击文件)、knowledge.db + pocs/(跨靶标共享的 POC/EXP 知识库)。

  • 不含任何遥测、上报或云端同步;凭据明文只在本机库里,面板直显便于复用。

工具(56 个 redteam_*)

资产/端口/服务/指纹/漏洞/凭据/会话/攻击链/得分/报告/知识库全覆盖。典型入口:

redteam_engagement_open     绑定本次演练靶标
redteam_asset_add           落库一个资产(端口带 service/product/version/url/title)
redteam_vuln_add            落库一个漏洞(带 severity/status/gained)
redteam_score_hit           记一次得分(自建账号传 self_created=true 不计分;账号/数据库权限同资产同端口只算一次,被顶掉的重复命中回 warning)
redteam_chain_add           写攻击链步骤(带 point_code 时同时记分)
redteam_score_report        生成「四段式红队得分报告」
redteam_sessions            一屏看 WebShell / 隧道 / 凭据 / 会话
redteam_poc_search          打 Nday/1day 前先查知识库 + 本机 nuclei 模板库
redteam_poc_add             把验证有效的通用 POC/EXP 回填知识库(脱敏)

从源码构建

本包是自包含的:lib/ 由 tools/build.mjs 从同仓库的三个源码包生成 (redteam-store / redteam-tools / redteam-ui),预设与技能也一并拷进来。

node packages/redteam-bundle/tools/build.mjs          # 生成
node packages/redteam-bundle/tools/build.mjs --check  # 只校验是否漂移(CI 用)
node packages/redteam-bundle/test/bundle.test.mjs     # 打包契约 + 泄露 + 自举自检

授权与合规

仅在获得明确书面授权的范围内使用。本插件是作战工具:它本身不替你做授权判断, 请自行确认目标范围、时间窗与允许手段,并遵守所在司法辖区法律。