Skip to content

BushANQ/DRX-Operator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

DRX-Operator

自主红队渗透测试专家系统 —— Agent-First 架构,LLM 驱动的自主安全测试平台。

[Python 3.10+] [Alpha]


DRX-Operator 是一个 Agent-First 架构的自主渗透测试系统。与传统安全工具不同,DRX-Operator 的核心是一个 LLM 驱动的 Master Agent,它通过 ReAct(推理-行动)循环自主决策、 调用工具链、分析结果,持续执行安全测试任务。终端界面(TUI)只是薄展示壳, Agent 是系统的一等公民 —— 所有操作都是 LLM 工具调用。

系统内置 Python/Bash 沙箱、持久化 Shell 会话管理、OOB 回调监听、MCP 协议扩展、 声明式权限引擎、5 级安全门控、证据链驱动的漏洞发现模型,以及 7 层上下文压缩管线, 支撑超长红队会话。

本工具仅限授权安全测试使用。未经授权访问他人系统属于违法行为。使用前请确保已获得 目标系统的书面授权。


核心特性

自主 ReAct 决策循环 30+ 内置工具 证据链驱动的漏洞发现 5级安全门控 MCP 协议支持 优先级任务调度与并行派发 会话持久化 LLM 韧性层 7层上下文压缩管线 终端界面(Textual TUI)


快速开始

界面布局

启动后进入 Textual TUI,界面分为四个区域:

  • 聊天区(左侧主区域):显示 Agent 的思考过程、工具调用卡片和结果
  • 侧栏(右侧):上方显示 todo 任务列表,下方显示活跃的子 Agent 状态
  • 输入框(底部):输入自然语言指令或斜杠命令
  • 状态栏(最底部):显示当前状态信息

斜杠命令

命令 说明
/scan <target> 启动侦察扫描
/exploit <target> 启动漏洞利用
/target <host> 管理目标主机信息
/status 查看当前系统状态
/plan 切换到 plan 模式(仅允许只读工具)
/act 切换到 act 模式(允许全部工具)
/mode 查看当前模式
/stop/cancel/interrupt 中断当前任务
/dream 触发深度上下文压缩(L6 层)
/context 查看上下文使用量
/progress 查看进度文档(9 段结构)
/memory 查看项目记忆(DRX.md/AGENTS.md/CLAUDE.md)
/memory reload 重新加载项目记忆文件

Plan 模式与 Act 模式

为降低风险,Agent 支持两种运行模式:

  • plan 模式:仅允许只读工具(read_filegrepweb_searchcve_lookuphttp_fetchparse_nmapparse_httptodo_writeshell_list)。对 write/exec/shell/dispatch 类调用会直接拒绝并提示。适合分析和规划阶段。
  • act 模式(默认):全部工具可用,Agent 可以执行扫描、利用、文件写入等操作。

使用 /plan/act 命令切换。

会话管理

会话自动保存到 sessions/ 目录。数据包括:

  • 知识库(目标、发现、凭据)→ sessions/<id>/kb.json
  • 消息历史 → sessions/<id>/messages.json
  • 元数据(todo、模式、用量统计)→ sessions/sessions.db(SQLite)

在聊天中输入 "恢复会话" 或 "restore session" 可恢复最近一次保存的会话。

架构概览

整体分层

+------------------------------------------------------------------+
|                        TUI (Textual App)                          |
|  ChatPanel | Sidebar | Composer | StatusFooter                    |
|              薄展示壳 —— 所有操作通过 EventBus 通信                  |
+------------------------------------------------------------------+
                                | EventBus
+------------------------------------------------------------------+
|                     Master Agent (ReAct Loop)                     |
|  Plan -> Think -> Act -> Observe -> Reflect                       |
|  System Prompt 构建 | Tool Schema 管理 | Tool 执行路由              |
|  Context Compaction (L1-L7) | SubAgent Dispatch | Approval Flow   |
+------------------------------------------------------------------+
        |              |              |              |
+---------------+ +-----------+ +-----------+ +-----------+
| LLM Provider  | | Execution | | Safety    | | Knowledge |
| Abstraction   | | Engines   | | Layer     | | Base      |
+---------------+ +-----------+ +-----------+ +-----------+
| Anthropic     | | Python    | | SafetyGate| | Targets   |
| OpenAI        | | Sandbox   | | L0-L4     | | Findings  |
| DeepSeek      | | Bash      | | Permission| | Credential|
| Resilient     | | Sandbox   | | Engine    | | Vault     |
| (retry+fb)    | | Shell     | | Glob Rules| +-----------+
+---------------+ | Sessions  | +-----------+ | Artifact  |
                  | OOB       |               | Store     |
                  | Listener  |               | (disk)    |
                  +-----------+               +-----------+

+------------------------------------------------------------------+
|                     Extension & Persistence                       |
|  MCPManager | HookManager | SkillsRegistry | SessionStore(SQLite)|
+------------------------------------------------------------------+

子 Agent 派发机制

当任务可拆分时,Master Agent 通过 task 工具派发 SubAgent。每个 SubAgent:

  1. 拥有独立的 agent_id(如 recon-a1b2c3)和独立消息历史
  2. 共享父 Agent 的 tool_executor(同一套沙箱/Shell/KB)
  3. 运行自己的 ReAct 循环(最大迭代次数 + TTL 限制)
  4. 完成后通过 EventBus 发布 SUB_AGENT_RESULT,侧栏实时更新

子 Agent 无法递归调用 task 工具(防止失控递归)。

上下文管理管线

系统实现了 7 层上下文压缩管线,解决 LLM 上下文窗口有限的问题:

层级 名称 触发条件 机制
L1 结果存储 单个工具结果 > 4000 字符 内容写入 ArtifactStore,消息中替换为 artifact://<id> 指针
L2 微压缩 每次 LLM 调用前 去重完全相同的工具结果,丢弃纯空白/填充内容
L3 进度文档 L5 触发时维护 9 段结构的活文档,持续追踪会话进展
L4 全压缩 使用量达模型窗口 80% LLM 摘要压缩历史消息为滚动摘要
L5 自动提取 L4 触发时 扫描全量消息,提取产物指针到索引
L6 Dream 用户执行 /dream 二次合并压缩 + 深度剪枝
L7 跨 Agent SubAgent 完成时 子 Agent 产物写入共享 ArtifactStore

上下文触发点是模型的实际上下文窗口(从 config.context_window 或自动检测), 而非固定 token 数。压缩比例、保留最近消息数等参数均可配置。

安全模型

双层安全设计:

L0-L4 SafetyGate(操作风险门控):

级别 说明 行为
L0 侦察类 自动批准
L1 被动漏洞扫描 首次批准后会话级缓存
L2 主动漏洞利用 需用户逐次 approve
L3 凭据/持久化攻击 需用户逐次 approve
L4 破坏性/不可逆操作 需输入确认短语

PermissionEngine(声明式工具规则):

独立于 SafetyGate,通过有序规则列表匹配工具调用:

{
  "tool": "execute_bash",
  "match": "*rm -rf /*",
  "action": "deny",
  "note": "destructive root delete"
}

决策:allow(直接放行)、ask(弹出审批请求)、deny(拒绝并返回原因)。首条 匹配规则生效。用户可通过回答 always 将该规则升级为会话级永久允许。


MCP 扩展工具

所有已连接 MCP 服务器的工具自动以 mcp__<server>__<tool> 格式注入,在 LLM 工具 列表中与内置工具并列。调用时自动路由到对应 MCP 客户端。


路线图

以下是计划中的功能和改进

中期

  • 插件系统:第三方可注册自定义工具和 SubAgent 类型
  • Web 仪表板(替代/补充 TUI):远程监控和控制
  • 多 Agent 协作模式:多个 Master Agent 共享知识库,分布式测试
  • 目标范围自动发现(ASN、DNS 枚举、子域名爆破集成)
  • 集成 Burp Suite / ZAP(通过 MCP 或专用适配器)

远期

  • 对抗性模拟:ATT&CK 框架完整映射,战术编排
  • 持续安全测试模式:定期自动扫描 + 变更检测
  • 社区技能市场:可共享的 exploit/recon 技能包
  • 多租户 SaaS 平台(仅限授权测试)

免责声明

DRX-Operator(以下简称"本工具")仅供授权的安全测试、研究、教育和合法的红队演练使用。

使用本工具即表示您确认:

  1. 您已获得目标系统所有者的明确书面授权,允许对其进行安全测试。
  2. 您将遵守所有适用的法律、法规和规章。
  3. 未经授权访问计算机系统属于违法行为,可能导致民事和/或刑事处罚。
  4. 本工具的开发者/贡献者不对因使用或滥用本工具而造成的任何损害、损失或法律后果 承担责任。
  5. 您对使用本工具所采取的一切行动及其后果承担全部责任。

如果您不确定是否有权测试目标系统,请不要使用本工具。如有疑问,请咨询法律顾问。

本工具的安全门控(SafetyGate)和权限引擎(PermissionEngine)仅为辅助控制, 不能替代使用者的专业判断和法律合规意识。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors