feat: add nsfocus-rsas-v6#483
Conversation
Add OctoBus adapter for NSFOCUS RSAS (Remote Security Assessment System) V6.0R04F04SP09, covering the scan task lifecycle, templates and password dictionaries, system status and audit logs, report generation and download, and agent management (42 RPCs).
|
PR Title: feat: add nsfocus-rsas-v6-0r04f04sp09 service pack... Commit: 本次 PR 新增了一个 NSFOCUS RSAS V6.0R04F04SP09 的 OctoBus 服务包,包含完整的 proto 定义、服务配置、JS 实现和测试。核心实现文件 |
…ault int fields - pickCredential no longer falls back to config/bindings for password; it is resolved from secret exclusively to avoid credential exposure via config, which permits arbitrary extra properties and is more easily logged. - Optional int64 request fields (template_id, port, type, page, page_size) decode as proto3 default 0 when unset, so the previous === undefined guard always sent 0. Treat 0/unset alike via toOptionalPositiveInt and omit them, preventing invalid page=0/port=0 from reaching the RSAS API.
|
PR Title: feat: add nsfocus-rsas-v6-0r04f04sp09 service pack... Commit: 本次 PR 是对 nsfocus-rsas 服务的两项关键修复:
变更覆盖了所有受影响的可选 int64 字段,并补充了单元测试与集成测试,测试用例对密码隔离和 proto3 默认值省略均有断言。历史发现的两个问题均已得到正确修复,整体评估为安全、正确的修复提交。 |
|
感谢评审,两处问题已在
服务包单测由 18 项增至 22 项,全部通过;SDK 校验通过。 |
…ntime The SDK serializes request fields with protobuf jsonName (camelCase), so the runtime delivers snake_case proto fields as e.g. taskId/templateUuid. Handlers read snake_case, so on a real device every such field resolved to undefined. Add normalizeRequest to mirror camelCase keys to snake_case recursively (covering nested messages like jumparray), applied at requestFromContext. Also default RSAS 1-based pagination (page/page_size) to sane values instead of a proto3 0 for ListTasks and GetTaskResult. Verified against a real RSAS device.
|
PR Title: feat: add nsfocus-rsas-v6-0r04f04sp09 service pack... Commit: 本次 PR 对 nsfocus-rsas 服务包做了两项核心改动:
测试侧补充了 normalizeRequest 的单元测试以及 camelCase 端到端测试,并对原有 ListTasks 测试断言进行了更新。 整体评估:改动思路清晰,解决了 camelCase/snake_case 不匹配与 proto3 默认值语义两个实际问题,测试覆盖到位,代码实现正确,未发现引入明显缺陷或安全隐患。 |
The root dispatcher bin lost its executable bit on main, which the package validator flags. Restore mode 100755 so the validate job passes for this entry.
|
PR Title: feat: add nsfocus-rsas-v6-0r04f04sp09 service pack... Commit: 本次PR仅修改了单个文件 |
|
关于 validate CI 的说明: 本包(nsfocus-rsas)自身校验通过,两个 bin 均为可执行位(100755)。 当前 validate 失败的报错均为可执行位问题,且与本包无关,是 upstream main 的历史遗留(main 分支自身近期 CI 亦为 failure): |
The m01 dispatcher wrapper and package entry lost their executable bit on main, which the package validator flags. Restore mode 100755 (no content change) so the validate job passes.
|
PR Title: feat: add nsfocus-rsas-v6-0r04f04sp09 service pack... Commit: 本次变更仅恢复了两个 m01-intelligence 可执行文件的文件权限(executable bit),未涉及任何代码内容的修改。两个文件分别为 |
|
补充:已随 commit |
|
@eetoc 请评审 |
|
@innomentats 请查查并合并 |
Closes #482
变更概述
@chaitin-ai/octobus-sdk开发的绿盟 RSAS(网络安全漏洞扫描系统)V6.0R04F04SP09 Service Package。format=json与curr_lang,上游标准信封{ret_code, ret_msg, data}解封,参数校验及 gRPC 错误映射。接入设备信息
已实现方法
任务生命周期(21)
CreateTask/CreateVulnTask/CreateBaselineTask/CreatePwdTask/CreateWebTask/CreateOfflineTask/CreateDockerTask/CreateCodeauditTask/CreateHostAssetsTask/CreateWebAssetsTask:漏洞 / 配置核查 / 口令猜测 / Web / 离线 / 镜像 / 代码审计 / 主机资产 / Web 资产等各类扫描任务下发GetTaskStatus:按 task_id 查询任务状态PauseTask/ResumeTask/StopTask/DeleteTask/BatchDeleteTasks:任务暂停 / 续扫 / 停止 / 删除 / 批量删除ListTasks/ListActiveTasks:任务列表 / 运行中任务列表GetTaskResult:获取扫描结果CreateAuthInfo:下发扫描认证数据LoginVerify:扫描登录认证校验(支持跳板机、http/https 登录)模板与字典(9)
ListSysvulnTemplate/ListWebvulnTemplate/ListBaselineTemplate/ListCodeauditTemplate/ListAssetTemplate:系统漏洞 / Web 漏洞 / 配置核查 / 代码审计 / 资产模板列表GetBaselineParams:配置模板参数获取CreateBaselineTemplate:配置模板下发ListUserpwd/CreateUserpwd:密码字典获取 / 下发系统与审计(2)
GetSystemStatus:系统状态、证书、资源使用率GetLogInfo:审计日志查询报表(5)
ListReportTemplate:报表模板列表GenerateReport/GetReportProgress/DownloadReport:报表生成 / 进度查询 / zip 下载DeleteReports:批量删除报表Agent(5)
GetAgentMethodConfig/SetAgentMethodConfig:Agent 方案配置获取 / 设置GetAgentAuth:Agent 授权与注册数GetAgentPackageUrl:Agent 安装包下载链接DownloadAgent:Agent 安装包下载(linux / windows)本地验证
验证结果:
真实设备联调验证
已在绿盟 RSAS 测试设备上完成核心方法的真实调用验证(联调截图见下)。
联调验证部分截图
安全说明
INVALID_ARGUMENT;接口限流返回RESOURCE_EXHAUSTED(HTTP 429)。已知限制
CreateTask的 config.xml、CreateOfflineTask离线结果文件、CreateBaselineTemplate导出模板)需调用方提供文件内容(xml 明文或 base64),字段格式详见产品文档附录 A。data多态结构以google.protobuf.Value原样透传,不做强类型化。page/page_size控制。