test : add unit tests for _contextual_severity_score helper in risk_scoring
评估
调研方向
Read backend/secuscan/risk_scoring.py to inspect _contextual_severity_score and the related factor helpers, then review nearby tests under testing/backend/unit/. Add testing/backend/unit/test_risk_scoring_contextual_severity.py to cover overrides, multiplier combinations, defaults, clamping, and float results. The linked pull request #2339 is closed and unmerged; check the issue thread for current ownership before starting.
由索引模型根据 Issue 内容生成。
描述
Summary of What Needs to be Done:
Add unit tests for the _contextual_severity_score function in backend/secuscan/risk_scoring.py. This function calculates a context-aware severity score by applying system exposure and business criticality multipliers to a base severity. It is a pure function with no external I/O and is directly importable without triggering heavy dependencies.
Changes that Need to be Made:
- Add a new file
testing/backend/unit/test_risk_scoring_contextual_severity.py - Import
_contextual_severity_scorefrombackend.secuscan.risk_scoring - Test that
custom_overridebypasses all other calculations (returns clamped value) - Test that base_severity * exposure_mult * criticality_mult is correctly clamped to [0, 10]
- Test
_system_exposure_factorinteraction: public/internet_facing/internal/private multipliers - Test
_business_criticality_factorinteraction: critical/high/medium/low multipliers - Test that None for exposure_context or business_criticality falls back to default multipliers (1.0)
- Test that extreme products (very large base_severity, extreme multipliers) are clamped
- Test that result is always a float in [0, 10]
Impact that it would Provide:
- Increases test coverage for the risk_scoring module's context-aware severity path
- Ensures the exposure/criticality multipliers are correctly combined and clamped
- Guards against regression when multipliers or clamp bounds are changed
Note: This task is being handled by tmdeveloper007 — please assign to that account when picking it up.
- 主要语言
- Python
- 星标
- 36
- 派生
- 234
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
utksh1/SecuScan 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
-
area:frontend good first issue level:intermediate priority:low type:testing
难度 2/5 1-3 小时 新手友好度 83/100
-
area:frontend good first issue level:intermediate priority:low type:testing
难度 2/5 1-3 小时 新手友好度 78/100
-
area:frontend good first issue level:beginner priority:low type:testing
难度 2/5 1-3 小时 新手友好度 76/100
-
area:frontend good first issue level:intermediate priority:low type:testing
难度 2/5 1-3 小时 新手友好度 82/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 83/100
维护者通常 1 天内回复
-
comp/desktop P3 type/feature
难度 2/5 1-3 小时 新手友好度 78/100
NousResearch/hermes-agent#154285 ·
维护者通常 1 天内回复
-
docs: qualify copied and custom kubectl debug policy notes可能已有人在做 @nym01 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
kubescape/cel-admission-library#166 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
SACGF/variantgrid#2804 · 1 条评论 ·
维护者通常 1 天内回复
-
[BUG] HTTP lifecycle dispatch treats a NO_PROXY-only environment as corporate egress and skips the resolve-and-pinned session可能已有人在做 @bodapatisaikrishna 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复