Skip to content

Commit efcf6df

Browse files
committed
Refactor tests and importers to use new data structure field names
Signed-off-by: Shivam Sandbhor <shivam.sandbhor@gmail.com>
1 parent d7c6712 commit efcf6df

5 files changed

Lines changed: 28 additions & 41 deletions

File tree

vulnerabilities/importers/nvd.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@
3232
from vulnerabilities.data_source import DataSource
3333
from vulnerabilities.data_source import DataSourceConfiguration
3434
from vulnerabilities.data_source import Reference
35-
<<<<<<< HEAD
3635
from vulnerabilities.helpers import create_etag
37-
=======
38-
>>>>>>> 07589531f32a3073d84f19bc67a0d974cfa7b187
3936
from vulnerabilities.data_source import VulnerabilitySeverity
4037

4138

@@ -81,7 +78,7 @@ def to_advisories(self, nvd_data):
8178
cve_id = cve_item["cve"]["CVE_data_meta"]["ID"]
8279
ref_urls = self.extract_reference_urls(cve_item)
8380
references = [Reference(url=url) for url in ref_urls]
84-
severity_severities = self.extract_severity_severities(cve_item)
81+
severity_severities = self.extract_severity_scores(cve_item)
8582
references.append(
8683
Reference(
8784
url=f"https://nvd.nist.gov/vuln/detail/{cve_id}",

vulnerabilities/importers/redhat.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2017 nexB Inc. and others. All rights reserved.
1+
# Copyright (c) nexB Inc. and others. All rights reserved.
22
# http://nexb.com and https://github.com/nexB/vulnerablecode/
33
# The VulnerableCode software is licensed under the Apache License version 2.0.
44
# Data generated with VulnerableCode require an acknowledgment.
@@ -17,7 +17,7 @@
1717
# OR CONDITIONS OF ANY KIND, either express or implied. No content created from
1818
# VulnerableCode should be considered or used as legal advice. Consult an Attorney
1919
# for any legal advice.
20-
# VulnerableCode is a free software code scanning tool from nexB Inc. and others.
20+
# VulnerableCode is a free software code from nexB Inc. and others.
2121
# Visit https://github.com/nexB/vulnerablecode/ for support and download.
2222

2323

@@ -82,8 +82,8 @@ def to_advisory(advisory_data):
8282
bugzilla_data = requests.get(f"https://bugzilla.redhat.com/rest/bug/{bugzilla}").json()
8383
bugzilla_severity_val = bugzilla_data["bugs"][0]["severity"]
8484
bugzilla_severity = VulnerabilitySeverity(
85-
severity_type="REDHAT_BUGZILLA_SEVERITY",
86-
severity_value=bugzilla_severity_val,
85+
system="REDHAT_BUGZILLA_SEVERITY",
86+
value=bugzilla_severity_val,
8787
)
8888

8989
references.append(
@@ -102,11 +102,13 @@ def to_advisory(advisory_data):
102102
# See https://access.redhat.com/articles/2130961 for more details.
103103

104104
if "RHSA" in rh_adv:
105-
rhsa_data = requests.get(f"https://access.redhat.com/hydra/rest/securitydata/cvrf/{rh_adv}.json").json() # nopep8
106-
severity_value = rhsa_data["cvrfdoc"]["aggregate_severity"]
105+
rhsa_data = requests.get(
106+
f"https://access.redhat.com/hydra/rest/securitydata/cvrf/{rh_adv}.json"
107+
).json() # nopep8
108+
value = rhsa_data["cvrfdoc"]["aggregate_severity"]
107109
rhsa_aggregate_severity = VulnerabilitySeverity(
108-
severity_type="RHSA_AGGREGATE_SEVERITY",
109-
severity_value=severity_value,
110+
system="RHSA_AGGREGATE_SEVERITY",
111+
value=value,
110112
)
111113

112114
references.append(
@@ -123,8 +125,8 @@ def to_advisory(advisory_data):
123125
redhat_cve_entry = requests.get(advisory_data["resource_url"]).json()
124126
redhat_cvss = redhat_cve_entry["cvss3"]["cvss3_base_score"]
125127
redhat_cvss3 = VulnerabilitySeverity(
126-
severity_type="REDHAT_CVSS3",
127-
severity_value=redhat_cvss,
128+
system="REDHAT_CVSS3",
129+
value=redhat_cvss,
128130
)
129131

130132
references.append(Reference(severities=[redhat_cvss3], url=advisory_data["resource_url"]))
@@ -148,4 +150,4 @@ def rpm_to_purl(rpm_string):
148150
name, version = components
149151

150152
if version[0].isdigit():
151-
return PackageURL(name=name, type="rpm", version=version, namespace="redhat")
153+
return PackageURL(name=name, type="rpm", version=version, namespace="redhat")

vulnerabilities/models.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,11 +206,8 @@ class VulnerabilitySeverity(models.Model):
206206

207207
vulnerability = models.ForeignKey(Vulnerability, on_delete=models.CASCADE)
208208
value = models.CharField(max_length=50, help_text="Example: 9.0, Important, High")
209-
scoring_system_identifier = models.CharField(
210-
max_length=50, help_text="Example: cvssv2"
211-
)
209+
scoring_system_identifier = models.CharField(max_length=50, help_text="Example: cvssv2")
212210
reference = models.ForeignKey(VulnerabilityReference, on_delete=models.CASCADE)
213-
214211

215212
class Meta:
216213
# TBD

vulnerabilities/tests/test_nvd.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -140,23 +140,14 @@ def test_to_advisories(self):
140140
[
141141
Reference(
142142
url="http://code.google.com/p/gperftools/source/browse/tags/perftools-0.4/ChangeLog", # nopep8
143-
scores=[],
144143
),
145144
Reference(
146145
url="http://kqueue.org/blog/2012/03/05/memory-allocator-security-revisited/", # nopep8
147-
scores=[],
148-
),
149-
Reference(
150-
url="https://nvd.nist.gov/vuln/detail/CVE-2005-4895", # nopep8
151-
scores=[
152-
VulnerabilitySeverity(system="cvssV2", value="5.0")
153-
],
154-
reference_id="CVE-2005-4895",
155146
),
156147
Reference(
157148
url="https://nvd.nist.gov/vuln/detail/CVE-2005-4895", # nopep8
158149
severities=[
159-
VulnerabilitySeverity(severity_type="cvssV2", severity_value="5.0")
150+
VulnerabilitySeverity(system="cvssV2", value="5.0")
160151
],
161152
reference_id="CVE-2005-4895",
162153
),

vulnerabilities/tests/test_redhat_importer.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def test_to_advisory(self):
8484
Reference(
8585
url="https://bugzilla.redhat.com/show_bug.cgi?id=1396383",
8686
reference_id="1396383",
87-
scores=[
87+
severities=[
8888
VulnerabilitySeverity(
8989
system="REDHAT_BUGZILLA_SEVERITY", value=2.0
9090
)
@@ -93,7 +93,7 @@ def test_to_advisory(self):
9393
Reference(
9494
url="https://access.redhat.com/errata/RHSA-2017:1931",
9595
reference_id="RHSA-2017:1931",
96-
scores=[
96+
severities=[
9797
VulnerabilitySeverity(
9898
system="RHSA_AGGREGATE_SEVERITY", value=2.2
9999
)
@@ -102,7 +102,7 @@ def test_to_advisory(self):
102102
Reference(
103103
url="https://access.redhat.com/errata/RHSA-2017:0725",
104104
reference_id="RHSA-2017:0725",
105-
scores=[
105+
severities=[
106106
VulnerabilitySeverity(
107107
system="RHSA_AGGREGATE_SEVERITY", value=2.2
108108
)
@@ -111,7 +111,7 @@ def test_to_advisory(self):
111111
Reference(
112112
url="https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2016-9401.json", # nopep8
113113
reference_id="",
114-
scores=[
114+
severities=[
115115
VulnerabilitySeverity(
116116
system="REDHAT_CVSS3", value=6.0
117117
)
@@ -159,7 +159,7 @@ def test_to_advisory(self):
159159
Reference(
160160
url="https://bugzilla.redhat.com/show_bug.cgi?id=1430347",
161161
reference_id="1430347",
162-
scores=[
162+
severities=[
163163
VulnerabilitySeverity(
164164
system="REDHAT_BUGZILLA_SEVERITY", value=2.0
165165
)
@@ -168,7 +168,7 @@ def test_to_advisory(self):
168168
Reference(
169169
url="https://access.redhat.com/errata/RHSA-2017:1842",
170170
reference_id="RHSA-2017:1842",
171-
scores=[
171+
severities=[
172172
VulnerabilitySeverity(
173173
system="RHSA_AGGREGATE_SEVERITY", value=2.2
174174
)
@@ -177,7 +177,7 @@ def test_to_advisory(self):
177177
Reference(
178178
url="https://access.redhat.com/errata/RHSA-2017:2437",
179179
reference_id="RHSA-2017:2437",
180-
scores=[
180+
severities=[
181181
VulnerabilitySeverity(
182182
system="RHSA_AGGREGATE_SEVERITY", value=2.2
183183
)
@@ -186,7 +186,7 @@ def test_to_advisory(self):
186186
Reference(
187187
url="https://access.redhat.com/errata/RHSA-2017:2077",
188188
reference_id="RHSA-2017:2077",
189-
scores=[
189+
severities=[
190190
VulnerabilitySeverity(
191191
system="RHSA_AGGREGATE_SEVERITY", value=2.2
192192
)
@@ -195,7 +195,7 @@ def test_to_advisory(self):
195195
Reference(
196196
url="https://access.redhat.com/errata/RHSA-2017:2444",
197197
reference_id="RHSA-2017:2444",
198-
scores=[
198+
severities=[
199199
VulnerabilitySeverity(
200200
system="RHSA_AGGREGATE_SEVERITY", value=2.2
201201
)
@@ -204,7 +204,7 @@ def test_to_advisory(self):
204204
Reference(
205205
url="https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2016-10200.json", # nopep8
206206
reference_id="",
207-
scores=[
207+
severities=[
208208
VulnerabilitySeverity(
209209
system="REDHAT_CVSS3", value=6.0
210210
)
@@ -227,7 +227,7 @@ def test_to_advisory(self):
227227
Reference(
228228
url="https://bugzilla.redhat.com/show_bug.cgi?id=1492984",
229229
reference_id="1492984",
230-
scores=[
230+
severities=[
231231
VulnerabilitySeverity(
232232
system="REDHAT_BUGZILLA_SEVERITY", value=2.0
233233
)
@@ -236,7 +236,7 @@ def test_to_advisory(self):
236236
Reference(
237237
url="https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2017-12168.json", # nopep8
238238
reference_id="",
239-
scores=[
239+
severities=[
240240
VulnerabilitySeverity(
241241
system="REDHAT_CVSS3", value=6.0
242242
)

0 commit comments

Comments
 (0)