Add WD K01 V9.0.2 query and threat-intel service - #141
Conversation
|
Review 阻塞:这个 service package PR 有测试文件,但我没有在 PR 描述、评论或改动文件中找到真实的测试截图证据(图片链接或提交的图片文件)。请补充能证明该 service package 跑通的截图,例如 |
|
Reviewer note: this PR currently has merge conflicts with the target branch, so it cannot be merged or reviewed safely in its current state. Please rebase or merge the latest base branch, resolve the conflicts, and make sure GitHub Actions pass again. I am marking/keeping this PR as draft until the conflicts are resolved. |
Service L2 自动检查结果:l2:blocked
L2 只验证包结构、mock 测试、80% line/branch/function coverage、打包、构建和 OctoBus smoke 链路;真实设备兼容性仍需人工检查作者提供的脱敏证据。 |
8477006 to
5675ba7
Compare
|
PR Title: Add WD K01 V9.0.2 query and threat-intel service Commit: 本次 PR 新增 WD K01 V9.0.2 威胁情报联防阻断系统的 OctoBus service 包(services/wd__k01_v9-0-2),覆盖 5 个 RPC:QueryAttackLog、QueryIPList、QueryThreatIntel、AddThreatIntel、DeleteThreatIntel。核心实现采用「每次调用 = login → 业务请求 → logout」的无状态会话模型,login 取 token.access_token 后以 Bearer 方式调用业务接口,登出在 finally 中执行且失败只记日志不覆盖业务结果。主要设计要点包括:参数校验(IPv4、正整数、color/dir、page/count 白名单)、HTTP 错误到 gRPC code 的映射(401→UNAUTHENTICATED、403→PERMISSION_DENIED、4xx→FAILED_PRECONDITION、5xx/网络→UNAVAILABLE、空体/非 JSON→UNKNOWN)、redirect:'error' 防重定向泄露 token、redactSensitive 脱敏 raw_json 与错误消息、skipTlsVerify 等 TLS 选项。同时注册了 root package.json 的 bin/files、octobus-tentacles.js 的 service 表项(并顺带修复了 misp 条目后多余的一个 |
5675ba7 to
6d5af3e
Compare
|
PR Title: Add WD K01 V9.0.2 query and threat-intel service Commit: 本次变更新增 wd__k01_v9-0-2 OctoBus service package,适配网盾 K01 V9.0.2 的 5 个接口(攻击监测日志查询、IP 黑/白名单查询、私有情报(攻击类)增/删/查),并完成服务注册(octobus-tentacles.js、services/package.json)与配套 proto/config/secret schema、mock 上游、302 行测试与 smoke test。 设计要点:每次方法调用为 login→Bearer 业务请求→logout 的无状态会话;登出失败在 finally 中吞掉且不覆盖业务结果;错误按场景映射到 gRPC code;raw_json/日志经 redactSensitive 脱敏;TLS 校验可配置 skipTlsVerify;page/count/ip/type/severity/id 均有本地校验。实现整体质量较好,测试覆盖了端到端流程、参数校验、错误映射、登出失败吞除、脱敏与辅助函数。 历史 finding 评估:两条已确认历史发现(QueryThreatIntel.count 契约不一致、pickIntList 负数未过滤)在当前 head 均已修复——proto 注释已为 QueryThreatIntelRequest.count 补充"取值 [10,20,50,100]"、README 统一声明、测试断言 count:15 拒绝;pickIntList 已加 num>=0 过滤并有对应断言。故不再重复上报。 新发现两条(均为边界契约问题,中/低严重度):1) isSemanticSuccess 用 OR 串联成功信号,当上游返回 { success:false, msgType:'success' } 这类字段冲突的失败响应时会被误判为成功,对 Add/DeleteThreatIntel 写操作可能掩盖失败,造成威胁情报实际未生效却报成功的数据完整性风险;2) 三个查询构造器用 |
|
PR Title: Add WD K01 V9.0.2 query and threat-intel service Commit: 本次变更针对 WD K01 V9.0.2 服务修复两个已确认的历史缺陷,并同步收紧 proto 契约:
测试覆盖:新增 buildAttackLogPayload({page:0})、buildIPListPayload({count:0}) 校验断言,新增 mutation 冲突信封集成测试,helper 层新增 isSemanticSuccess 冲突断言。默认分页路径(不传 page/count 时回落 1/10)由既有集成测试(QueryIPList/QueryThreatIntel 默认调用)覆盖。 总体评估:两处修复逻辑自洽、proto/实现/测试三者一致,改动聚焦且无高风险回归。未发现由本 diff 引入的新增高置信缺陷;关于 optional 字段在 gRPC 桥接层是否准确保留"显式 0"的存在性依赖运行桥接实现,无法从 diff 证实,故不作为 finding 提交。 |
New service package wd__k01_v9-0-2 covering the WD K01 V9.0.2 RESTful API (V9 interfaces): QueryAttackLog, QueryIPList, QueryThreatIntel, AddThreatIntel, DeleteThreatIntel. Reuses the K01 login/Bearer/logout session flow and complements the existing wd__k01 BlockIP/UnblockIP package with read and private threat-intel management. Wire it into the root dispatcher, bin wrapper, and package manifest.
cc9f03e to
6f0152a
Compare
|
PR Title: Add WD K01 V9.0.2 query and threat-intel service Commit: 本 PR 新增网盾 K01 V9.0.2 威胁情报联防阻断系统的 OctoBus 服务包(services/wd__k01_v9-0-2),覆盖 5 个 RPC:攻击监测日志查询、IP 黑白名单查询、私有情报(攻击类)查询/添加/删除,并接入根 package.json、octobus-tentacles.js 与 bin 入口。 核心实现(src/wd-k01-v9-0-2.js,515 行)采用每次调用「login → Bearer 业务请求 → logout(finally 中执行,失败仅记日志)」的无状态会话模式;参数校验(page/count/color/dir/IPv4/正整数)在 login 之前完成;业务 success/msgType 非成功统一映射为 FAILED_PRECONDITION;HTTP 401→UNAUTHENTICATED、403→PERMISSION_DENIED、其他 4xx→FAILED_PRECONDITION、5xx→UNAVAILABLE;日志与 raw_json 均经 redactSensitive 脱敏。config/secret schema 声明了 host/账号别名且 additionalProperties:false。 测试(316 行 + mock 上游)覆盖端到端查询/增删、参数校验边界、登录失败、业务失败、网络/空体/非 JSON、登出失败被吞等场景,质量较高。整体实现与既有 wd__k01 兄弟包模式一致并做了 SDK 现代化(fetchWithTimeout/createTlsDispatcher/serviceError)。 发现一处低危文档与实现不一致:README 错误映射表将上游 401 描述为 PERMISSION_DENIED,而实现与测试均映射为 UNAUTHENTICATED。其余未发现高置信度的正确性/安全问题。 |
|
PR Title: Add WD K01 V9.0.2 query and threat-intel service Commit: 本次变更为 services/wd__k01_v9-0-2/README.md 的纯文档改动(+3/-2),仅涉及错误映射表的对齐,无代码/测试变更。 关键改动:
整体评估:本次文档变更使错误映射表与实际行为保持一致,未发现由该变更引入的可操作问题。其余表项(INVALID_ARGUMENT/FAILED_PRECONDITION/UNKNOWN/5xx→UNAVAILABLE)与实现亦一致。 |
接入设备
网盾 K01 威胁情报联防阻断系统(北京中盾网空防务技术有限公司)
设备版本
V9.0.2(文档标注「V9 新增接口」)
认证方式
POST /api/cms/user/login 取 token.access_token → 业务请求 Authorization: Bearer → POST /api/cms/user/logout。每次方法一段无状态会话,沿用既有 wd__k01 的认证方式。
实现方法
与已有 wd__k01(BlockIP/UnblockIP,基于 iplist/save)互补,聚焦只读查询与私有情报管理。
测试命令
本地结果:validate 通过;31 用例全过,实现文件行 99.6% / 分支 93% / 函数 95.45%;pack:check 通过。
设备验证截图
已知限制