网络安全竞赛评分引擎服务器

一个为红队/白队/蓝队网络安全竞赛提供程序化评分和管理的开源平台服务器。

  • by scoringengine
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 scoringengine/scoringengine-mcp

使用说明

评分引擎MCP服务器

MCP(模型上下文协议)服务器 评分引擎 -一个用于举办红/白/蓝团队网络安全竞赛的开源平台。

特性

此MCP服务器提供对所有评分引擎API功能的编程访问:

记分牌

  • 获取柱状图数据(团队得分)
  • 获取折线图数据(各回合得分进展)

概述

  • 获取当前轮次数据
  • 获取所有团队和服务的概览状态
  • 获取列标题
  • 获取详细的竞争数据

团队管理

  • 获取团队统计数据(位置、得分)
  • 获取带有状态的团队服务并查看历史记录
  • 获取当前服务状态

服务管理

  • 获取服务的检查历史记录
  • 更新服务帐户凭据(蓝队)
  • 更新服务主机/端口(蓝队)

统计

  • 获取上/下计数的圆形统计数据

旗帜(红/白队)

  • 获取活动标志
  • 获取标志解决状态
  • 获取旗帜得分总数

注射

  • 列表团队注入
  • 获取注射详细信息
  • 提交注射
  • 查看/添加评论
  • 列出注入文件

通知

  • 列出所有通知
  • 获取未读通知

管理员(仅限白队)

  • 团队/用户管理
  • 发动机控制(暂停/恢复)
  • 服务配置
  • 注入模板管理
  • 评分和分级
  • 设置管理

安装

npm install
npm run build

配置

设置以下环境变量:

变量 描述 默认值
SCORING_ENGINE_URL 您的评分引擎实例的基本URL http://localhost
SCORING_ENGINE_SESSION 用于身份验证的会话cookie值 (空)

获取会话Cookie

  1. 在web浏览器中登录您的评分引擎实例
  2. 打开开发人员工具(F12)
  3. 转到应用程序>Cookie
  4. 复制的值 session 曲奇

使用Claude Desktop

添加到您的Claude Desktop配置(claude_desktop_config.json):

{
  "mcpServers": {
    "scoringengine": {
      "command": "node",
      "args": ["/path/to/scoringengine-mcp/dist/index.js"],
      "env": {
        "SCORING_ENGINE_URL": "https://your-scoring-engine.example.com",
        "SCORING_ENGINE_SESSION": "your-session-cookie-value"
      }
    }
  }
}

使用Claude代码

添加到您的Claude Code MCP设置中:

{
  "mcpServers": {
    "scoringengine": {
      "command": "node",
      "args": ["/path/to/scoringengine-mcp/dist/index.js"],
      "env": {
        "SCORING_ENGINE_URL": "https://your-scoring-engine.example.com",
        "SCORING_ENGINE_SESSION": "your-session-cookie-value"
      }
    }
  }
}

可用工具

记分牌工具

  • scoreboard_get_bar_data -获取团队条形图数据
  • scoreboard_get_line_data -获取团队折线图数据

概述工具

  • overview_get_round_data -获取当前轮次信息
  • overview_get_data -获取团队/服务概述
  • overview_get_columns -获取列标题
  • overview_get_detailed_data -获取详细数据以供显示

团队工具

  • team_get_stats -获得团队排名和得分
  • team_get_services -获取团队服务详情
  • team_get_services_status -获取当前服务状态

维修工具

  • service_get_checks -获取检查历史记录
  • service_update_account -更新帐户凭据
  • service_update_host -更新服务主机名
  • service_update_port -更新服务端口

统计工具

  • stats_get_rounds -获取圆形统计数据

旗帜工具(红/白团队)

  • flags_get_active -获取活动标志
  • flags_get_solves -获取解决状态
  • flags_get_totals -获取得分总数

注入工具

  • injects_list -列表团队注入
  • inject_get -获取注射详细信息
  • inject_submit -提交注射
  • inject_get_comments -获取注入评论
  • inject_add_comment -添加评论
  • inject_get_files -列出注入文件

通知工具

  • notifications_list -列出所有通知
  • notifications_unread -获取未读通知

管理工具(仅限白色团队)

  • admin_get_teams -列出所有团队
  • admin_add_user -创建用户
  • admin_add_team -创建团队
  • admin_update_password -更改用户密码
  • admin_toggle_engine -暂停/恢复发动机
  • admin_get_engine_status -检查是否已暂停
  • admin_get_engine_stats -获取发动机统计信息
  • admin_get_worker_stats -获取员工统计数据
  • admin_get_queue_stats -获取队列统计信息
  • admin_get_round_progress -取得进展
  • admin_update_check -修改检查结果
  • admin_update_host -更改服务主机
  • admin_update_port -更改服务端口
  • admin_update_points -更新点值
  • admin_update_worker_queue -分配工作队列
  • admin_update_target_round_time -设定轮次持续时间
  • admin_update_worker_refresh_time -设置刷新间隔
  • admin_injects_get_templates -列出注入模板
  • admin_injects_get_template -获取模板详细信息
  • admin_injects_create_template -创建模板
  • admin_injects_update_template -更新模板
  • admin_injects_delete_template -删除模板
  • admin_inject_grade -A级注射
  • admin_injects_get_scores -获取注射分数
  • admin_injects_get_bar_chart -获取注入图表数据
  • admin_update_setting -更新设置
  • admin_update_environment_info -更新环境
  • admin_update_property -更新属性

发展

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run watch

# Run directly with ts-node
npm run dev

许可证

麻省理工学院