SOARMCPServerv1.5.0发布:让AI更安全地调度安全编排

admin 2026-02-10 14:36:54 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: SOARMCPServerv1.5.0发布,核心在于提升AI调度安全编排的安全性。此次引入HTTPBearerToken双模式认证,解决Token泄露风险同时保持向后兼容。版本迭代涵盖从bcrypt密码加密、异步架构重构到CyberShieldUI设计的全面升级。该工具通过ModelContextProtocol将SOAR能力集成至Claude等客户端,实现安全事件管理与剧本执行,显著增强企业安全响应效率。建议关注认证模式迁移及架构优化细节。 综合评分: 88 文章分类: 安全运营,安全工具,产品介绍,AI安全


cover_image

SOAR MCP Server v1.5.0 发布:让 AI 更安全地调度安全编排

原创

雾宝宝 雾宝宝

雾帜智能

2026年2月9日 15:25 上海

从密码哈希到 Bearer Token,八个版本迭代,一次安全与体验的全面进化。


写在前面

SOAR MCP Server 是一个创新的安全编排平台集成解决方案,专为 OctoMation SOAR 平台 设计。通过 Model Context Protocol 将 SOAR (Security Orchestration, Automation and Response) 能力直接集成到各种 AI 客户端中,包括 Claude Desktop、Cherry Studio、Cursor、Trae 等。它提供了完整的安全事件管理、剧本执行、威胁情报查询等功能,让 AI 助手具备专业的网络安全响应能力。

过去几个版本,我们对 SOAR MCP Server 进行了一次从内到外的系统性升级。从 v1.1.0 的安全加固,到 v1.2.0 的异步架构重构,再到 v1.4.0 的前端 UI 焕新,直至今天 v1.5.0 的 HTTP Bearer Token 双模式认证 —— 每一步都在回答同一个问题:

如何让 AI 更安全、更高效地调度企业安全编排能力?

本文将带你快速了解这八个版本中最值得关注的变化。


一、安全加固:从地基开始(v1.1.0 ~ v1.1.1)

安全产品的基座必须首先是安全的。这两个版本聚焦于认证和网络层面的加固。

密码安全升级

旧版使用 SHA-256 做密码哈希,存在彩虹表攻击风险。新版全面切换到 bcrypt(带盐哈希),每个密码的哈希结果都不同,即使两个用户使用相同密码。

JWT 密钥持久化

之前每次重启服务器都会重新生成 JWT 签名密钥,导致所有已登录的管理员会话失效。现在密钥持久化到数据库中,重启不影响已有会话

网络安全收紧

  • • SSL 验证默认开启 —— 不再跳过证书验证,自签名证书环境可手动关闭
  • • 服务默认绑定 127.0.0.1 —— 防止意外暴露到公网
  • • 敏感信息日志脱敏 —— 管理员密码仅在控制台显示一次,不写入日志文件

二、架构改进:异步化与上下文安全(v1.2.0 ~ v1.2.2)

MCP 工具函数需要调用 SOAR 平台 API,网络 I/O 是主要瓶颈。这一阶段将核心调用链全面异步化。

异步工具 + 连接池复用

requests (同步, 每次新建连接)
    ↓
httpx.AsyncClient (异步, 共享连接池)

所有 MCP 工具函数(execute_playbookquery_playbook_execution_status_by_activity_id 等)改为 async,配合 httpx.AsyncClient 共享实例,连接复用,减少 TCP 握手开销。

contextvars 替代 threading.local

异步环境下 threading.local 无法正确隔离协程上下文。切换到 Python 标准库的 contextvars.ContextVar每个 MCP 请求的用户信息在异步调用链中安全传递

其他改进

  • • 有界执行记录BoundedDict 最多保留 1000 条,LRU 自动淘汰,防止内存无限增长
  • • DB Session 上下文管理器@contextmanager 包装,自动关闭连接,杜绝泄漏
  • • 密码重置脚本:升级为 bcrypt v2.0,交互式彩色界面

三、项目结构优化(v1.3.0)

代码积累到一定阶段后,是时候做一次”大扫除”了。

  • • 模板文件迁移到 templates/ 目录
  • • 文档归档到 docs/archive/
  • • 截图整理到 docs/images/
  • • 清理生成脚本、临时文件等历史遗留

目录结构规范化后,新贡献者可以更快理解项目布局。


四、前端 UI 全面重构(v1.4.0)

管理后台从”能用”升级到”好用”。

Cyber Shield 设计系统

全新的暗色主题设计语言,专为安全运营场景打造。表格、卡片、弹窗、状态标签等组件统一风格。

Google Fonts 本地化

将 Plus Jakarta Sans 和 JetBrains Mono 字体文件内嵌到项目中,内网环境无需访问 Google 服务器即可正常渲染。

剧本详情优化

剧本详情弹框重新设计布局,参数定义、执行状态等信息层次更清晰。


五、MCP 认证增强:Bearer Token 双模式(v1.5.0)

这是本次发布的重头戏。

为什么需要 Bearer Token?

之前 MCP 客户端连接服务器时,Token 放在 URL 查询参数中:

http://127.0.0.1:12345/mcp?token=XUVghOvZ3AED...

这种方式有一个隐患 —— Token 会出现在浏览器历史记录、代理服务器日志、Nginx 访问日志、HTTP Referer 头中

v1.5.0 新增 HTTP Bearer Token 认证方式:

Authorization: Bearer XUVghOvZ3AED...

Token 放在 HTTP Header 中,不会被 URL 日志记录,安全性显著提升。

双模式并存,零迁移成本

我们采用**”Bearer 优先,URL 兼容”**的策略:

请求到达
  │
&nbsp; ├─ 检查 Authorization: Bearer <token> &nbsp;← 优先
&nbsp; │
&nbsp; ├─ 检查 ?token=<token> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ← 兼容 fallback
&nbsp; │
&nbsp; └─ 两者都没有 → 401 拒绝

现有的 MCP 客户端配置完全不需要修改。支持 Bearer Token 的客户端可以随时切换到更安全的方式。

MCP 客户端配置示例

URL 参数(兼容方式):

{
&nbsp; "mcpServers":&nbsp;{
&nbsp; &nbsp; "soar-mcp":&nbsp;{
&nbsp; &nbsp; &nbsp; "url":&nbsp;"http://127.0.0.1:12345/mcp?token=xxxx"
&nbsp; &nbsp; }
&nbsp; }
}

Bearer Token(推荐方式):

{
&nbsp; "mcpServers":&nbsp;{
&nbsp; &nbsp; "soar-mcp":&nbsp;{
&nbsp; &nbsp; &nbsp; "url":&nbsp;"http://127.0.0.1:12345/mcp",
&nbsp; &nbsp; &nbsp; "headers":&nbsp;{
&nbsp; &nbsp; &nbsp; &nbsp; "Authorization":&nbsp;"Bearer xxxx"
&nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; }
&nbsp; }
}

Token 管理体验优化

创建 Token 后的弹窗也进行了重构:

  • • 等宽字体 展示 Token / URL / Bearer Header,一目了然
  • • 每个字段带 内联复制按钮,点击后显示 ✅ 已复制的动效反馈
  • • 新增 “一键复制全部” 按钮,三项信息一次到手
  • • HTTP 认证头字段Authorization: Bearer <token>)直接展示,方便复制到 HTTP 客户端

状态标签优化

Token 列表的状态标签从纯文字升级为 Pill 药丸样式:

  • • 🟢 活跃 —— 绿底绿字
  • • ⚪ 已禁用 —— 灰底灰字
  • • 🔴 已过期 —— 红底红字

六、测试覆盖

v1.5.0 新增了完整的认证测试套件 tests/test_bearer_auth.py

15 个单元测试,覆盖:

  • • Token 验证:有效 / 无效 / 过期 / 空值 / 数据库异常
  • • Bearer 头提取与解析
  • • URL 查询参数提取
  • • Bearer 优先于 URL 参数的优先级
  • • Authorization 头大小写不敏感
  • • 错误格式(Basic / 空值 / 错误前缀)拒绝

集成测试,覆盖:

  • • Bearer Token 访问 MCP 端点 → 200
  • • URL 参数访问 MCP 端点 → 200
  • • 无认证请求 → 401
  • • 无效 Token → 401
# 只跑单元测试(无需启动服务器)
python tests/test_bearer_auth.py --unit-only

# 跑完整测试(需要服务器运行)
python tests/test_bearer_auth.py --token <your_token>

升级指南

从 v1.4.0 升级

git pull origin main
source&nbsp;venv/bin/activate
pip install -r requirements.txt
python3 soar_mcp_server.py

升级是平滑的:

  • • 现有 Token 和配置自动保留
  • • 现有 MCP 客户端无需修改配置
  • • Bearer Token 是新增能力,可选使用

从 v1.0.x 升级

需要额外重置管理员密码(SHA-256 → bcrypt 不兼容):

./reset_admin_password.sh --random

版本历程一览

| 版本 | 主题 | 核心关键词 | | — | — | — | | v1.1.0 | 安全加固 | bcrypt、JWT 持久化、日志脱敏 | | v1.1.1 | 安全加固 | SSL 验证、127.0.0.1 绑定、竞态修复 | | v1.2.0 | 架构改进 | httpx 异步、contextvars、有界字典 | | v1.2.1 | 代码质量 | 模块修复、日志轮转、依赖清理 | | v1.2.2 | 工具升级 | bcrypt 脚本、文档更新 | | v1.3.0 | 项目优化 | 目录规范、文档归档 | | v1.4.0 | UI 重构 | Cyber Shield 设计、字体本地化 | | v1.5.0 | 认证增强 | Bearer Token、双模式认证、测试套件 |


下一步

  • • Token 权限细粒度控制(按工具/资源授权)
  • • 执行历史可视化和统计面板
  • • 多 SOAR 平台实例管理

关于项目

SOAR MCP Server 基于 OctoMation SOAR 平台 构建,通过 Model Context Protocol 将安全编排能力集成到 Claude Desktop、Cherry Studio、Cursor 等 AI 客户端中。

  • • GitHub: https://github.com/flagify-com/soar-mcp
  • • OctoMation: https://github.com/flagify-com/OctoMation

雾帜智能 · 用 AI 赋能网络安全


#


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:雾帜智能 雾宝宝 雾宝宝《SOAR MCP Server v1.5.0 发布:让 AI 更安全地调度安全编排》

评论:0   参与:  3