Skip to content

Commit 9d0791f

Browse files
committed
Avoid fresh database query on prefetched cache
Signed-off-by: Keshav Priyadarshi <[email protected]>
1 parent 4107451 commit 9d0791f

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

vulnerabilities/pipelines/compute_package_risk.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,11 @@ def add_package_risk_score(self):
4040

4141
self.log(f"Calculating risk for {affected_packages.count():,d} affected package records")
4242

43-
progress = LoopProgress(total_iterations=affected_packages.count(), logger=self.log)
43+
progress = LoopProgress(
44+
total_iterations=affected_packages.count(),
45+
logger=self.log,
46+
progress_step=5,
47+
)
4448

4549
updatables = []
4650
updated_package_count = 0

vulnerabilities/risk.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,20 +68,17 @@ def get_exploitability_level(exploits, references, severities):
6868

6969
elif severities:
7070
# high EPSS.
71-
epss = severities.filter(
72-
scoring_system=EPSS.identifier,
73-
)
74-
epss = any(float(epss.value) > 0.8 for epss in epss)
75-
if epss:
76-
exploit_level = 2
71+
for severity in severities:
72+
if severity.scoring_system == EPSS.identifier and float(severity.value) > 0.8:
73+
exploit_level = 2
74+
break
7775

7876
elif references:
7977
# PoC/Exploit script published
80-
ref_exploits = references.filter(
81-
reference_type=VulnerabilityReference.EXPLOIT,
82-
)
83-
if ref_exploits:
84-
exploit_level = 1
78+
for reference in references:
79+
if reference.reference_type == VulnerabilityReference.EXPLOIT:
80+
exploit_level = 1
81+
break
8582

8683
return exploit_level
8784

vulnerabilities/tests/test_risk.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def high_epss_score():
8686
)
8787
vul.severities.add(severity)
8888

89-
return vul.severities
89+
return vul.severities.all()
9090

9191

9292
@pytest.fixture
@@ -102,7 +102,7 @@ def low_epss_score():
102102
)
103103
vul.severities.add(severity)
104104

105-
return vul.severities
105+
return vul.severities.all()
106106

107107

108108
@pytest.mark.django_db

0 commit comments

Comments
 (0)