test : add unit tests for _contextual_severity_score helper in risk_scoring

Aperta
#2,334 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

@aaniya22 ci sta già lavorando.

Dal 2/8/2026.

  • #2339 di @tmdeveloper007 — chiusa senza merge

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
python
Ambito
security, testing

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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_score from backend.secuscan.risk_scoring
  • Test that custom_override bypasses all other calculations (returns clamped value)
  • Test that base_severity * exposure_mult * criticality_mult is correctly clamped to [0, 10]
  • Test _system_exposure_factor interaction: public/internet_facing/internal/private multipliers
  • Test _business_criticality_factor interaction: 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.

Lingua principale
Python
Stelle
36
Fork
234
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di utksh1/SecuScan

Tutte le issue di utksh1/SecuScan

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.