CyberStrikeAIv1.7.0更新:多人协作下的权限管理(RBAC)"

admin 2026-10-23 16:50:07 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

CyberStrikeAI v1.7.0 更新:多人协作下的权限管理(RBAC)

原创

学安全也就图一乐
学安全也就图一乐

低调学安全

2026年7月10日 22:39
北京

在小说阅读器读本章

去阅读

v1.6 更适合个人或小团队快速用起来:单账号、配置简单、功能面已经比较全。
一旦要放进多人协作的实验室、安全团队或甲方运营环境,共享密码和「全员同等权限」就不够用了——
v1.7.0 的重点,是把平台 RBAC 接到 API、Agent、MCP、后台任务和机器人的执行链路上。


一、为什么 v1.7.0 要推 RBAC?

CyberStrikeAI 不是普通的聊天机器人。它能做的事包括:

  • 调用 安全工具 与自定义 MCP
  • 跑 单 Agent / Deep / Plan-Execute / Supervisor 多代理编排
  • 操作 WebShell、内置 C2、批量任务、工作流
  • 在 企业微信 / 钉钉 / 飞书 / 个人微信 / Telegram 等 IM 里远程指挥

这里其实有两个常见误区,也是 v1.7.0 要补 RBAC 的原因:

  1. 能登录 ≠ 能做所有事
    以前大家共用一个密码,谁登进来谁就是「管理员」:能删别人的对话、能调 C2/WebShell、能改全局配置。
    多人协作时,更合理的是:实习生能看指定项目,但不能删数据;操作员能跑 Agent,但不能改系统配置——登录只证明「你是谁」,RBAC 才决定「你能干什么」。
  2. 页面上看不见按钮 ≠ 真的安全
    如果只在前端把「删除」「终端」等按钮藏起来,懂一点技术的人仍可直接调 API。
    v1.7.0 会在服务端对每次 API、Agent 工具调用、机器人消息做权限校验;前端隐藏只是减少误点,真正的拦截发生在服务端。

v1.7.0 引入的平台 RBAC(Role-Based Access Control),目标很直接:

  1. 多用户:每人独立账号,告别「全站一个密码」
  2. 最小权限:按岗位给权限,而不是全员 admin
  3. 数据隔离:项目、对话、漏洞、WebShell、C2 等资源按归属与授权可见
  4. 全链路 enforcement:不只管 Web 页面,还管 API、Agent 工具调用、MCP、后台任务、机器人消息

一句话总结:RBAC 管的是「平台授权边界」,不是 Agent 的测试风格。


二、先分清两种「角色」——这是上手 RBAC 的第一关

很多人第一次用会懵:CyberStrikeAI 里本来就有「渗透测试」「CTF」「Web 扫描」等角色,现在又来一套 RBAC 角色,有什么区别?

概念 在哪里配 决定什么
平台角色(RBAC Role) 左侧 平台权限 用户能访问哪些功能、哪些数据
AI 测试角色(Agent Role) 左侧 角色 / roles/*.yaml Agent 的提示词、测试方法、可选工具集合

关键原则:

  • 选了「渗透测试」AI 角色,不会自动获得 C2、WebShell、终端等权限
  • 给了 agent:execute,不会自动改变 Agent 的系统提示词
  • 前者是安全边界,后者是测试策略

团队落地时可以这样记:按人的职责配平台 RBAC 角色(谁能看、谁能改、谁能执行);按任务类型选 AI 测试角色(渗透、CTF、信息收集等测试风格)。


三、RBAC 到底怎么生效?不是「看不见」就算安全

v1.7.0 的授权模型是服务端强制校验,前端隐藏按钮只是体验优化。

一次操作要同时满足:

有效账号
  + 路由/工具所需 permission(如 project:read)
  + 该 permission 对应的 scope(all / assigned / own)
  + 目标资源的 owner / 显式授权 / 父资源继承
  + 全局对象的额外限制

处理链路(简化版):

  1. 登录后签发 Bearer Token,会话里带上用户、角色、权限和逐权限 Scope
  2. HTTP 中间件把 API 路由映射为权限,例如 GET /api/projects → project:read
  3. 带资源 ID 的请求继续校验:是不是 owner?有没有被显式授权?父项目是否已授权?
  4. Agent 启动时把不可变 Principal 写入执行上下文
  5. 内置 MCP 工具按工具名 + 参数里的资源 ID 再查一遍
  6. 拒绝会写入 RBAC / 审计日志,方便复盘「谁越权了、越在哪」

所以:别指望改前端、猜 API 路径能绕过;真正的拒绝发生在服务端。


四、开箱即用的四个平台角色

v1.7.0 内置四个系统角色,升级时会按当前版本权限目录自动对齐,避免旧版本残留脏权限:

角色 Scope 适合谁
admin 管理员 all 平台 Owner、实验室负责人
operator 操作员 assigned 日常攻防、项目内测试人员
auditor 审计员 all (只读) 合规审计、复盘、只看不改
viewer 只读用户 assigned (只读) 外包/实习生、甲方对接人

注意:

  • 系统角色不可编辑,需要微调就复制思路建自定义角色
  • 没分配任何角色的账号能登录,但基本没有业务权限——别拿「空角色」当正式岗位

五、权限与 Scope:比「能不能点」更细的一层

5.1 权限怎么命名?

采用 模块:动作,常见动作:

  • read:查看、列表、导出
  • write:创建、更新、执行
  • delete:删除
  • execute:跑 Agent、终端、工作流等

覆盖模块包括:对话、项目、漏洞、WebShell、C2、MCP、知识库、Skills、工作流、终端、审计、机器人、FOFA、攻击链等 30+ 模块。完整目录见 Web 端 平台权限,或 API GET /api/rbac/metadata。

5.2 几个容易踩坑的特殊权限

权限 说明
agent:execute 能跑 Agent,不自动包含本机文件/Shell
agent:local-execute 本地执行兜底权限,只给可信操作员
mcp:external:execute 调外部 MCP,当前还要求 Scope 为 all
robot:write 管机器人配置;聊天本身走绑定用户/服务账号的业务权限

RBAC 允许调用 ≠ 可以跳过 HITL。 高危工具仍建议配合人机协同审批。

5.3 三种 Scope

Scope 含义 典型场景
all 该权限覆盖的全部资源 管理员、全局审计
assigned 仅管理员显式授权的资源 + 支持的父资源继承 项目组成员
own 以本人创建/归属为主 个人工作区、机器人独立身份

多角色时权限取并集;同一权限的 Scope 取最宽:all > assigned > own。

但有个细节:全局读取不会把写权限放大成全局写。 服务端按 ScopeFor(permission) 逐项判断,不能只看用户「最宽总 Scope」。

5.4 哪些东西是「全局对象」?

即使你有 write,若 Scope 不是 all,仍可能改不了这些进程级共享配置:

  • AI 测试角色、Skills、Markdown Agents
  • 外部 MCP 配置、机器人配置、工作流定义
  • 知识库写操作(搜索除外)、HITL 全局策略、C2 Profile 等

这是 v1 的设计取舍:先把执行链路和数据资源管住,全局定义的细粒度分权还在演进。


六、资源授权:项目授权一次,对话/漏洞往往跟着走

在 平台权限 → 成员详情 → 资源授权 里,可以给用户分配:

  • 项目 project
  • 对话 conversation
  • 漏洞 vulnerability
  • WebShell webshell
  • 批量任务 batch_task
  • C2 Listener c2_listener

继承关系(实用):

  • 授权项目 → 通常可访问该项目下对话、漏洞
  • 对话 → 消息、过程详情、攻击链
  • C2 Listener → Session → Task / 文件 / 事件

批量授权单次最多 100 个资源;重复授权会自动跳过。


七、Web 端怎么用?三步搭好团队权限

7.1 创建成员

  1. 管理员登录 → 左侧 平台权限
  2. 点击 添加成员:用户名、显示名、密码(至少 8 位)、启用状态
  3. 分配一个或多个平台角色
  4. 若角色 Scope 是 assigned,继续在 资源授权 里勾选项目等资源
  5. 让用户重新登录,在右上角用户菜单确认角色、权限数、Scope

7.2 创建自定义角色

  1. 新建角色 → 写清岗位名和说明(如「红队一线」「甲方只读」)
  2. 选 all / assigned / own
  3. 只勾岗位真正需要的权限——宁可少给,后续再加
  4. 先用测试账号验证:列表、详情、写操作、删操作、Agent 调工具
  5. 再批量分给正式用户

7.3 权限变更何时生效?

  • 改用户角色/密码/启用状态 → 该用户现有会话立即作废,需重新登录
  • 改/删自定义角色 → 全站会话作废,所有人重登
  • 机器人 → 每条消息实时重新解析绑定用户权限,下一条就生效
  • 后台批量任务 → 按任务 owner 重新解析 Principal,不依赖创建时的前端状态


八、典型落地场景

场景 A:安全实验室多人协作

  • 队长:admin 或自定义 all 管理角色
  • 队员:operator + assigned,只授权当前攻防项目
  • 复盘同学:auditor,all 只读,能看全站但不能改
  • 实习生:viewer + assigned,只看指定项目对话和漏洞

配合 项目管理 + 攻击链 + 事实黑板,不同人看到同一项目的不同切面,但改不了别人的 C2/WebShell。

场景 B:甲方安全运营「能用但不能乱动」

  • 给 agent:execute + chat:read/write + vulnerability:read/write
  • 不给agent:local-execute、terminal:execute、c2:write
  • HITL 默认人工审批,审计 Agent 用小模型降本

Agent 能帮忙分析、记录漏洞,但很难在平台里直接执行破坏性本机命令。

场景 C:机器人值班号

建一个专用 RBAC 用户:

Scope: own(独立工作区)或 assigned(指定项目)
agent:execute
chat:read / chat:write
按需增加 project、vulnerability、knowledge 等

不要用 admin 当机器人账号,除非你真的想让白名单里每个人都拥有完整权限并共享全部数据。

场景 D:红队项目制

  • 每个项目一个 assigned 操作员组
  • WebShell、C2 Listener 按项目显式授权
  • 项目结束:禁用账号 → 撤销机器人绑定 → 撤销资源授权

审计日志里可追踪 rbac/access_denied、角色变更、机器人服务账号执行。


九、机器人 + RBAC:IM 里也能按人分权

v1.7.0 把机器人纳入同一套 RBAC。平台 Token/签名只证明「消息来自钉钉/飞书」;真正决定能干什么的是 CyberStrikeAI 身份。

支持平台:个人微信、企业微信、钉钉、飞书、Telegram、Slack、Discord、QQ 机器人。

9.1 两种业务鉴权模式

场景 推荐模式 效果
企微/飞书/钉钉等多人共用机器人 user_binding 逐用户绑定 每人绑自己的 Web 账号,数据隔离
个人微信、单人专属、固定自动化入口 service_account 专用服务账号 白名单发送者共用指定 RBAC 用户

机器人对话最低权限:

agent:execute
chat:read
chat:write

删对话要 chat:delete;用项目、WebShell、C2、外部 MCP 等还要各自权限。

9.2 逐用户绑定(默认,多人团队首选)

管理员:

  1. 系统设置 → 机器人设置 → 选平台
  2. 业务鉴权策略选 逐用户绑定
  3. 应用配置

每位使用者:

  1. Web 右上角头像 → 绑定机器人账号 → 生成绑定码(5 分钟有效)
  2. 在机器人里发送:绑定 7C6E-BD4C(以页面显示为准)
  3. 发送 身份 或 whoami,确认「鉴权状态:已授权」且实际身份是自己

绑定码一次性、哈希存储;过期需重新生成。可 解绑 或在 Web 端撤销。

9.3 专用服务账号(个人微信 / 单人 bot)

  1. 机器人连上平台后,先发送 身份,复制完整 发送者 ID(个人微信常形如 [email protected])
  2. 机器人设置 → 专用服务账号
  3. 填 RBAC User ID(不是显示名;填 admin 会有红色风险提示)
  4. 允许的平台发送者 ID 每行一个,精确匹配、区分大小写、不支持通配符
  5. 应用配置 → 再发 身份 验证

config.yaml 示例:

robots:
  wechat:
    enabled:true
    auth:
      mode:service_account
      service_user_id:\"你的RBAC用户ID\"
      allowed_external_users:
        -\"[email protected]\"
dingtalk:
    enabled:true
    auth:
      mode:user_binding
    client_id:\"\"
    client_secret:\"\"
lark:
    enabled:true
    auth:
      mode:user_binding
    app_id:\"\"
    app_secret:\"\"

服务账号注意:

  • 不接受 绑定 / 解绑
  • 白名单里所有人共享该账号的对话、项目等 own 资源
  • 要隔离就必须用 user_binding

9.4 机器人常用命令

命令 作用
身份 / whoami 查看发送者 ID、鉴权模式、RBAC 身份、角色、Scope
绑定 <码> / bind <码> 逐用户绑定模式专用
解绑 / unbind 解除绑定
列表 / 对话列表 列出有权访问的对话
切换 <对话ID> / 新对话 会话管理
角色 <角色名> 切换 AI 测试角色(仍需有业务权限)
帮助 / 版本 帮助与版本号

除命令外,直接发文字即 AI 对话,与 Web 端逻辑一致,且受实时 RBAC 约束。

9.5 最短上手路径(建议收藏)

  • 多人:机器人设 user_binding → 每人 Web 生成绑定码 → 机器人绑定 → 身份 验证 → 开聊
  • 单人:机器人先 身份 拿发送者 ID → 设 service_account + 白名单 → 应用配置 → 再 身份 → 开聊

十、Agent / MCP 在 RBAC 下的行为

Agent

登录用户会转成不可变 Principal 注入单 Agent、多 Agent、工作流。长任务脱离浏览器后身份不丢,也不会因为「按钮曾可见」而绕过校验。

内置 MCP

每个内置工具有显式授权策略。例如 WebShell 工具同时检查 webshell:read/write/delete 和 connection_id 资源访问;漏洞、项目、C2 工具会检查参数指向的资源。未登记策略的工具默认拒绝。

外部 MCP

需要 mcp:external:execute 且 Scope 为 all——因为外部服务的资源模型通常不受本地 owner/assignment 约束。这是 v1 的保守策略。


十一、推荐角色模板

只读项目成员

Scope: assigned
dashboard:read, chat:read, project:read, vulnerability:read, files:read, attackchain:read

日常安全操作员

Scope: assigned
agent:execute, chat:read/write, project:read/write, vulnerability:read/write,
tasks:read/write, files:read/write, hitl:read/write

确实需要本机命令再加 agent:local-execute 或 terminal:execute。

机器人专用账号

Scope: own 或 assigned
agent:execute, chat:read/write
+ 按业务加 project / vulnerability / knowledge 等

十二、RBAC 第一版刚落地,还有哪些不足?

v1.7.0 的 RBAC 是第一版完整落地,核心执行链路已经打通,但我很清楚还有不少地方需要继续打磨。当前版本的主要限制与后续方向:

12.1 已知的 v1 局限

  1. 外部 MCP 权限偏粗
    调用外部 MCP 需要 mcp:external:execute + Scope all,暂不能按项目/连接细拆。后续会评估更细的外部工具策略。
  2. 全局配置对象的写权限
    Skills、AI 测试角色、知识库索引、机器人配置、工作流定义等,修改仍要求对应权限 Scope 为 all。岗位化「只能改自己 Skills」这类需求还在规划中。
  3. 资源授权类型有限
    当前显式授权以项目、对话、漏洞、WebShell、批量任务、C2 Listener 为主;更细粒度(如单条 C2 Task、单个 Skill 包)会随场景反馈补充。
  4. 批量授权上限
    单次最多 100 个资源 ID,大规模导入要靠 API 分批或后续工具化。
  5. 身份体系
    v1 以平台本地账号为主,暂未内置 LDAP / OIDC / SAML 等企业统一身份;多租户、组织树、审批流也还在路线图里。
  6. 机器人侧
    仅处理文本消息;图片、语音等暂不支持。服务账号模式下白名单用户共享数据,容易误配,需要管理员仔细选型。
  7. 与 HITL 的关系
    RBAC 解决「有没有资格发起」;HITL 解决「高风险要不要批」。两层都要配,不能互相替代。
  8. 体验仍在迭代
    前端已按 /api/rbac/me 隐藏无权操作,但部分复杂页面的权限提示、批量运维工具还会持续优化。

12.2 我接下来打算补什么?

  • 更细的 外部 MCP / 插件 授权模型
  • 更友好的 企业身份对接(SSO)
  • 资源授权 类型扩展与批量导入
  • 机器人与 Web 权限诊断(一键解释「为什么被拒绝」)
  • 与审计、HITL 联动的 合规报表

欢迎通过 Issue 或社群告诉我使用中的问题——RBAC 这类能力,需要真实团队场景来验证和打磨。


十三、升级与快速验证

升级

  1. 拉取 v1.7.0 代码或镜像,注意 config.example.yaml 中 version: \"v1.7.0\"
  2. 首次启动后,用原 auth.password 或已有管理员登录
  3. 进入 平台权限,确认内置角色与权限目录已加载

5 分钟自检清单

  • [ ] 创建测试用户,只给 viewer + assigned,确认看不到别人的项目
  • [ ] 给测试用户授权一个项目,确认能读不能写(除非有 write)
  • [ ] 测试用户调 Agent,确认无 agent:local-execute 时本机 Shell 被拒绝
  • [ ] 机器人 身份 命令返回正确 RBAC 用户
  • [ ] 审计日志能看到 access_denied 与角色变更

文档入口

  • RBAC 详解:docs/zh-CN/rbac.md
  • 机器人配置:docs/zh-CN/robot.md
  • 完整 README:README_CN.md

写在最后

v1.7.0 主要补的是「多人、多岗位、多资源」场景下的权限能力。对个人用户来说,原有使用方式基本不变;对团队来说,RBAC 是把平台往可协作、可审计方向推进的一步。

如果你已经在团队环境里用 CyberStrikeAI,建议优先做三件事:

  1. 改掉共享 admin 密码,给每人建独立账号
  2. 按项目做 assigned 授权,避免一上来全员 all
  3. 机器人先跑一遍 身份,确认 user_binding 或 service_account 配对正确

当前 RBAC 仍是第一版,我会按实际使用反馈继续补细。有问题或需求,欢迎通过 Issue 或社群告诉我。


CyberStrikeAI v1.7.0 · 平台 RBAC 已就绪

授权测试,合法合规;权限最小化,操作可审计。

https://github.com/Ed1s0nZ/CyberStrikeAI


CyberStrikeAIv1.7.0更新:多人协作下的权限管理(RBAC)" 网络安全文章

CyberStrikeAIv1.7.0更新:多人协作下的权限管理(RBAC)"

CyberStrikeAIv1.7.0引入平台RBAC,实现多用户、最小权限、数据隔离与服务端全链路权限校验。区分平台角色(安全边界)与AI测试角色(测试策略),内置admin、operator、auditor、viewer四个角色,支持assigned/all/own三种Scope及资源继承。提供Web端成员与自定义角色管理,并覆盖机器人场景的逐用户绑定或服务账号模式。建议按岗位分配权限、使用assignedscope进行项目隔离,避免将admin用于机器人账号。
威胁情报|InjectiveSDK投毒,加密钱包私钥失窃" 网络安全文章

威胁情报|InjectiveSDK投毒,加密钱包私钥失窃"

慢雾安全团队发现injectiveSDK1.20.21版本被植入恶意代码,在调用generate()、frommnemonic()或字符串fromhex()时,将助记词或私钥经base64编码后通过HTTPPOST请求的x-request-id头发送至testnet.archival.chain.grpc-web.injective.network。建议立即升级版本、更换受影响密钥、检查依赖树和日志记录。
征集|《工业控制系统信息安全产品及服务指南(2026版)》征集活动正式开启!" 网络安全文章

征集|《工业控制系统信息安全产品及服务指南(2026版)》征集活动正式开启!"

工业控制系统信息安全产业联盟启动《工业控制系统信息安全产品及服务指南(2026版)》征集活动,面向理事单位征集近两年市场化落地的工控安全软硬件产品及服务。活动旨在落实国家工控安全政策要求,为工业用户提供权威选型参考,并推动AI威胁识别、零信任架构等新技术应用。征集截止日期为2026年8月15日,入选产品将获推广并直通2027中国自动化产业年会评选。
【船舶网络安全系列】一文读懂中国船级社船舶网络安全指南(五)" 网络安全文章

【船舶网络安全系列】一文读懂中国船级社船舶网络安全指南(五)"

本文解读中国船级社船舶网络安全指南中数据保密性、受限数据流、事件及时响应和资源可用性等安全要求。详细阐述了信息保密性、持久性、加密、网络分段、区域边界保护、系统外通信限制、应用分区、审计日志、持续监控、抗DoS、资源管理和系统备份等要求,并提供了验证流程、实施方法和解决方案。指南强调根据安全等级SL0-SL4实施不同强度的防护措施。
评论:0   参与:  0