BruceSec 平台整合实践 —— 能力中心实战
系列:BruceSec 平台整合实践
期号:第 4 期
主题:能力中心实战 —— MCP × 技能 × 智能体 × 角色,从「工具能用」到「能力可编排」
环境:macOS / BruceSec(基于 CyberStrikeAI 二次开发)· 本地 8080 服务
一、为什么需要能力中心
前三期我们完成了平台总览与工具生态整合、资产与信息收集、工作流编排实战。但"工具接入了平台"只是起点,真正决定平台战斗力的,是能力如何被组织、被调度、被授权:
- 106 个工具配方注册进 MCP 之后,哪些真正可用?哪些缺依赖跑不起来?
- 大模型面对数百个工具,怎么动态挑选而不是每次全量塞进上下文?
- 一次渗透任务涉及侦察、漏洞利用、权限提升、横向移动、报告撰写,谁来分工、谁来监督?
- 不同角色(默认 / 渗透测试 / 内网资产搜集)能调用哪些工具、触发哪些工作流,如何隔离?
这些问题的答案,都沉淀在平台的能力中心版块。本期基于平台真实界面与真实运行数据,拆解 MCP、技能、智能体、角色、知识五层能力体系。

图 1:平台仪表盘(工作台首页)。展示运行中对话、漏洞统计、工具调用成功率与调用次数分布,是能力中心的运行总览。
二、能力中心整体架构:五层能力模型
平台「能力中心」一级版块下辖 MCP、知识、技能、智能体、角色五个子版块,对应五层能力:
| 层级 | 子版块 | 职责 | 核心资产 |
|---|---|---|---|
| 工具层 | MCP 状态监控 / MCP 管理 | 工具注册、启停、运行监控 | 106 个配方 → 161 个工具(启用 152、常驻 49) |
| 技能层 | 技能状态 / 技能管理 | 领域技能的定义、分类与加载 | 325 个 Skills |
| 智能体层 | 智能体管理 | 多代理分工与协作模式 | 3 主代理 + 13 子代理 |
| 角色层 | 角色管理 | 权限模型与角色绑定 | 14 个角色(RBAC) |
| 知识层 | 检索历史 / 知识管理 | RAG 知识沉淀与检索 | 88 项知识、7 个分类 |
主配置 [项目根目录]/config.yaml 中对应:
skills_dir: skills/ # 325 个技能
agents_dir: agents/ # 16 个智能体定义
roles_dir: roles/ # 15 个角色 yaml
multi_agent:
enabled: true # 多代理协作开启
default_mode: eino_single
modes: [eino_single, deep, plan_execute, supervisor]
knowledge:
enabled: true
embed_model: BAAI/bge-m3
top_k: 5
similarity_threshold: 0.4
mcp:
tool_search: # 动态工具检索
enable_dynamic_unlock: true # ≥20 工具启用即触发
resident_whitelist: 12 # 12 个常驻白名单工具
这套设计回答了一个核心问题:当平台拥有数百个工具与技能时,如何让 AI 只"看见"它当下需要的——动态解锁 + 常驻白名单 + 技能分类 + 角色过滤,构成完整的能力路由链路。
三、MCP:工具接入与运行监控
3.1 从配方到工具
平台 tools/ 目录维护 106 个 .yaml 配方(系统自动加载全部 yaml/yml),每个配方定义一种外部工具的接入方式:
| 字段 | 说明 |
|---|---|
name | 工具唯一标识 |
command | 命令/绝对路径(如 /opt/homebrew/bin/nmap) |
enabled | 是否注册进 MCP |
description | 多行 Markdown 说明 |
short_description | 20-50 字摘要,减少 token 消耗 |
args / parameters | 固定参数 / 运行时参数 |
arg_mapping | 参数格式:flag / positional / combined / template |
配方覆盖面覆盖完整攻击链:信息收集(amass、subfinder、fofa/quake/zoomeye/shodan)、扫描(nmap、masscan、fscan、nuclei、ffuf、gobuster)、漏洞利用(sqlmap、hydra、metasploit、msfvenom)、逆向(radare2、gdb、angr)、云安全(prowler、scout-suite)、密码(hashcat、john)、取证(volatility3、foremost)、内网(bloodhound、responder、impacket)等。
3.2 运行状态与监控

图 2:MCP 状态监控。展示 159 次工具调用的成功率 44.6%、Top 工具排行、调用趋势与执行记录,Top 6 工具占调用量 79.9%。

图 3:MCP 管理。161 个工具中启用 152 个、常驻 49 个,涵盖 nmap、nuclei、hydra、metasploit、fscan 及 C2 系列内置工具;下方为外部 MCP 配置区(reverse-shell)。
监控面板反映真实运行数据:工具调用成功率 44.6%,Top 6 工具贡献了 79.9% 的调用量(exec、nmap 等居前)——这与"少量高频工具承担大部分日常作业"的真实使用形态一致。tool_executions / tool_stats 表记录每次执行的 arguments / status / duration_ms / partial_output 截断,供后续可用性分析与复盘。
3.3 可用性核验:知道哪些工具"真的能跑"
平台曾在 8 月 17 日做过一次工具可用性核验:遍历 tools/*.yaml 的 command 字段,以平台进程 PATH(含 /opt/homebrew/bin)执行 command -v 逐一验证,结论:
- 当时注册工具 96 个:实际可用 77、不可用 19;
- 可用代表:amass、nmap、masscan、fscan、nuclei、sqlmap、hydra、metasploit、msfvenom、hashcat、john、ffuf、gobuster、dirsearch、dalfox、subfinder、prowler、trivy、volatility3、pacu、radare2、responder、impacket;
- 不可用 19 个多为缺依赖或仅 Windows 平台:ghidra、zap、wpscan、netexec、clair、falco、steghide、zsteg、dnsenum、kube-bench、kube-hunter 等。
核验的意义在于:工具注册 ≠ 工具可用。有了这份清单,工作流与角色配置可以主动规避不可用工具,把失败率从源头降下来——这也是图 2 中 44.6% 成功率背后的优化抓手之一。
四、技能:325 个 Skills 的资产化

图 4:技能管理。324 个 Skills 列表,展示技能名称、描述、分类标签与文件映射(如持久化类技能关联 net user 等工具)。
平台 skills/ 目录维护 325 个技能,界面展示 324 项,每个技能包含描述与分类标签,例如 401-403-bypass-techniques(Web 鉴权绕过)、account-persistence(持久化)等。技能与工具的关联(如持久化技能关联 net user)意味着:技能不只是文档,而是**"场景 + 工具组合"的封装**,AI 在对话中命中技能场景时可直接获得工具调用指引。
skill_stats 表记录技能使用统计,skills_dir 配置决定加载目录——新增技能只需投放 yaml/md 文件即自动注册,无需改代码。
五、智能体:3 主代理 + 13 子代理

图 5:智能体管理。Agent 列表共 16 个:3 个主代理(Plan-Execute 规划主代理、Supervisor 监督主代理、Deep 协调主代理)+ 13 个子代理,展示角色类型、定义文件与 ID。
多代理体系是平台"能力编排"的大脑:
- 3 个主代理:
Plan-Execute(规划-执行)、Supervisor(监督调度)、Deep(深度协调),对应multi_agent的三种协作模式; - 13 个子代理:侦察、渗透测试、权限提升、内网横向、持久化、报告撰写等,每个子代理由
agents/下的 yaml + 说明文档定义; - 调度机制:默认
eino_single模式;复杂任务可切plan_execute(先规划再执行)或supervisor(监督者分发子任务);全局最大迭代 12000 次、工具超时 60 分钟,长任务 300s 转后台(execution_id 机制)不阻塞会话。
子代理与第 3 期工作流的 agent 节点共用同一套定义:同一智能体既可在对话中直接协作,也可作为工作流节点被编排,能力一次定义、多处复用。
六、角色:RBAC 权限模型

图 6:角色管理。角色卡片列表 14 个:默认、二进制分析、后渗透测试、内网资产搜集、容器安全、渗透测试、数字取证、云安全审计、CTF、Web 框架测试等,含角色说明与工具权限(多数为"使用所有工具")。
角色层解决"谁能干什么":
- 14-15 个预设角色:覆盖默认、渗透测试、内网资产搜集、API 安全测试、CTF、Web 应用扫描、云安全审计、容器安全、后渗透测试、数字取证、二进制分析等场景,定义在
roles/*.yaml; - 工具权限:多数角色授予"使用所有工具",部分角色限定工具集;
- 工作流绑定:角色可绑定
workflow_id + workflow_policy(如内网资产搜集角色绑定intranet-asset-discovery自动触发),把第 3 期的工作流能力挂到角色权限体系上; - 数据模型:
rbac_users / rbac_roles / rbac_permissions / rbac_role_permissions / rbac_user_roles / rbac_resource_assignments六张表构成完整 RBAC 体系,用户-角色-权限-资源四级授权。
七、知识库:88 项知识 + RAG

图 7:知识管理。知识库 88 项知识、7 个分类(Prompt Injection、SQL Injection、spear、tscanplus、本地工具库等),索引构建完成,支持分类筛选与搜索。
知识层为 AI 提供"记忆外的专业背景":
knowledge.db(28MB)存knowledge_base_items(知识条目)、knowledge_embeddings(向量)、knowledge_retrieval_logs(检索日志);- 嵌入模型 BAAI/bge-m3(硅基流动通道),Top-K 5、相似度阈值 0.4、chunk 512 / 重叠 50,支持多查询改写 + rerank,检索质量优先;
- 知识分类与实际工作强相关:Prompt Injection、SQL Injection、spear 等攻击模式,以及本地工具库使用说明——把 16 分类、8.3 万文件的本地工具库沉淀为可检索的知识资产。
八、实战拆解:一次红队任务的五层能力流转
以一次典型的内网资产搜集任务为例,五层能力如何协同:
用户:扫描内网网段,找出 8080 端口的服务
↓ 角色层:命中「内网资产搜集」角色(工具集 + 工作流绑定)
↓ 工作流层:auto 触发 intranet-asset-discovery(第 3 期已实战)
↓ 智能体层:parse_params Agent 解析参数 → nmap 工具节点执行
↓ 工具层:MCP 动态解锁 nmap(工具配方,T0-T5 模板),execution_id 追踪
↓ 知识层:bge-m3 检索历史扫描经验 / 端口服务知识,辅助结果研判
↓ 审计:tool_executions / audit_logs 全链路留痕,供复盘
这条链路展示了能力中心的本质:不是把工具堆在平台上,而是让每一层能力各司其职——角色控制边界、工作流控制流程、智能体控制分工、MCP 控制工具、知识控制背景,五层叠加后,一次复杂任务只需一句自然语言。
九、安全与脱敏说明
- 本期截图均来自平台本地 8080 真实界面,已通过 OCR 与视觉模型双重复核:无「AI 生成」水印、无 IP/主机名/数据库连接串/账号密码等硬敏感信息;面板中的漏洞数、调用成功率等为平台自身运行统计,可安全引用。
- 文中所有本地路径已泛化处理(
[项目根目录]),config.yaml 中的 AI/嵌入服务 API Key 已脱敏,外部 MCP 绝对路径不展示。 - 工具可用性清单仅涉及工具名与平台自带命令路径,不涉及目标系统数据。
十、小结
从本期实战可以看到,BruceSec 的「能力中心」不是简单的功能聚合页,而是一套完整的平台级能力治理体系:
- 工具层:106 个配方注册 161 个工具,动态解锁 + 常驻白名单控制上下文开销,可用性核验保障"注册即能用";
- 技能层:325 个 Skills 把"场景 + 工具组合"封装为可复用资产;
- 智能体层:3 主代理 + 13 子代理,eino_single / deep / plan_execute / supervisor 多模式分工;
- 角色层:RBAC 四级授权 + 工作流绑定,权限与自动化合一;
- 知识层:bge-m3 + rerank 的 RAG 管道,把本地 8.3 万文件工具库沉淀为可检索知识。
五层能力合在一起,回答了"数百个工具如何被组织、调度、授权、记忆"的平台级问题。下一期我们将继续深入平台其他版块,把更多安全运营场景沉淀为可复用的自动化流水线。
307

被折叠的 条评论
为什么被折叠?



