
cingulara/openrmf-api-scoringOpenRMF-api-scoring 是 OpenRMF 工具链的评分 API 组件,用于对安全检查清单(Checklist)进行评分。该组件通过读取评分数据库(由 openrmf-msg-score 项目异步更新),提供基于 STIG(安全技术实施指南)检查清单的漏洞类别与状态评分功能。评分数据库通过处理新的或更新的 XML 检查清单文件生成,并基于 MongoDB 存储。
artifactId、systemGroupId 等)以优化查询性能。/swagger/ 端点),便于 API 结构查阅与调试。适用于 OpenRMF 工具环境中对 STIG 检查清单的评分管理,具体场景包括:
通过以下命令构建本地镜像:
bashdocker build --rm -t openrmf-api-scoring:0.13 .
该组件依赖 MongoDB 存储评分数据,需完成以下配置:
bash~/mongodb/bin/mongo 'mongodb://root:myp2ssw0rd@localhost'
admin 数据库并创建专用用户:
javascriptuse admin db.createUser({ user: "openrmfscore", pwd: "openrmf1234!", roles: ["readWriteAnyDatabase"] });
javascriptuse openrmfscore db.createCollection("Scores");
javascriptdb.Scores.createIndex({ artifactId: 1 }) // 按检查清单 GUID 索引 db.Scores.createIndex({ systemGroupId: 1 }) // 按系统组 ID 索引 db.Scores.createIndex({ hostName: 1 }) // 按主机名索引 db.Scores.createIndex({ stigType: 1 }) // 按 STIG 类型索引
使用专用用户连接评分数据库:
bash~/mongodb/bin/mongo 'mongodb://openrmfscore:openrmf1234!@localhost/openrmfscore?authSource=admin'
组件通过 NATS 消息平台实现与其他服务的异步通信,确保数据最终一致性。
使用 Docker 启动 NATS 服务器(默认配置):
bashdocker run --rm --name nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 nats
当前组件发布消息至以下 NATS 主题(用于审计、日志等扩展场景):
openstig.save.new:新检查清单保存事件( payload 为新 GUID)openstig.save.update:检查清单更新事件( payload 为新 GUID)openstig.upload.new:新检查清单上传事件( payload 为新 GUID)openstig.upload.update:检查清单上传更新事件( payload 为新 GUID)启动容器时需指定 MongoDB 连接字符串与 NATS 服务器地址:
bashdocker run -d \ --name openrmf-api-scoring \ -p 8080:80 \ -e MONGO_URI="mongodb://openrmfscore:openrmf1234!@mongodb-host/openrmfscore?authSource=admin" \ -e NATS_URL="nats://nats-host:4222" \ openrmf-api-scoring:0.13
-p 8080:80:映射容器内 80 端口至主机 8080 端口;MONGO_URI:MongoDB 连接字符串(需替换 mongodb-host 为实际数据库地址);NATS_URL:NATS 服务器地址(需替换 nats-host 为实际 NATS 地址)。| 端点 | 方法 | 描述 | 参数说明 |
|---|---|---|---|
/swagger/ | GET | 查看 Swagger API 文档 | 无 |
/{id} | GET | 通过内部 ID 查询评分 | id:内部数据库记录 ID |
/artifact/{id} | GET | 通过 GUID 查询评分 | id:检查清单 GUID |
/system/{id} | GET | 查询系统下所有检查清单的汇总评分 | id:系统组 ID |
/ | POST | 提交 XML 字符串获取动态评分 | Body:原始 XML 字符串 |





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务