Skip to content

Commit b51b430

Browse files
committed
Remove vulcode creation option
Signed-off-by: Shivam Sandbhor <[email protected]>
1 parent aa05d8f commit b51b430

File tree

3 files changed

+21
-30
lines changed

3 files changed

+21
-30
lines changed

vulnerabilities/import_runner.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def __init__(self, importer: models.Importer, batch_size: int):
9898
self.importer = importer
9999
self.batch_size = batch_size
100100

101-
def run(self, create_vulcodes=True, cutoff_date: datetime.datetime = None) -> None:
101+
def run(self, cutoff_date: datetime.datetime = None) -> None:
102102
"""
103103
Create a data source for the given importer and store the data retrieved in the database.
104104
@@ -112,7 +112,7 @@ def run(self, create_vulcodes=True, cutoff_date: datetime.datetime = None) -> No
112112
logger.info(f"Starting import for {self.importer.name}.")
113113
data_source = self.importer.make_data_source(self.batch_size, cutoff_date=cutoff_date)
114114
with data_source:
115-
process_advisories(data_source, create_vulcodes)
115+
process_advisories(data_source)
116116
self.importer.last_run = datetime.datetime.now(tz=datetime.timezone.utc)
117117
self.importer.data_source_cfg = dataclasses.asdict(data_source.config)
118118
self.importer.save()
@@ -133,24 +133,25 @@ def get_vuln_pkg_refs(vulnerability, package):
133133
)
134134

135135

136-
def process_advisories(data_source: DataSource, create_vulcodes) -> None:
136+
def process_advisories(data_source: DataSource) -> None:
137137
bulk_create_vuln_refs = set()
138138
bulk_create_vuln_pkg_refs = set()
139139
# Treat updated_advisories and added_advisories as same. Eventually
140140
# we want to refactor all data sources to provide advisories via a
141141
# single method.
142-
vulcoid = datetime.datetime.now()
142+
vulcoid_timestamp = datetime.datetime.now()
143143
advisory_batches = chain(data_source.updated_advisories(), data_source.added_advisories())
144144
for batch in advisory_batches:
145145
for advisory in batch:
146146
try:
147147

148-
if not advisory.identifier and not create_vulcodes:
149-
continue
150-
151148
if not advisory.identifier:
152-
advisory.identifier = "VULCOID-" + vulcoid.strftime("%Y-%m-%d-%H:%M:%S")
153-
vulcoid += datetime.timedelta(seconds=1)
149+
advisory.identifier = "VULCOID-" + vulcoid_timestamp.strftime(
150+
"%Y-%m-%d-%H:%M:%S"
151+
)
152+
vulcoid_timestamp = max(
153+
vulcoid_timestamp + datetime.timedelta(seconds=1), datetime.datetime.now()
154+
)
154155

155156
vuln, vuln_created = _get_or_create_vulnerability(advisory)
156157
for vuln_ref in advisory.vuln_references:

vulnerabilities/importer_yielder.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,16 @@
6161
'debian_tracker_url': 'https://security-tracker.debian.org/tracker/data/json'
6262
},
6363
},
64-
# {
65-
# 'name': 'safetydb',
66-
# 'license': 'cc-by-nc-4.0',
67-
# 'last_run': None,
68-
# 'data_source': 'SafetyDbDataSource',
69-
# 'data_source_cfg': {
70-
# 'url': 'https://raw.githubusercontent.com/pyupio/safety-db/master/data/insecure_full.json', # nopep8
71-
# 'etags': {}
72-
# },
73-
# },
64+
{
65+
'name': 'safetydb',
66+
'license': 'cc-by-nc-4.0',
67+
'last_run': None,
68+
'data_source': 'SafetyDbDataSource',
69+
'data_source_cfg': {
70+
'url': 'https://raw.githubusercontent.com/pyupio/safety-db/master/data/insecure_full.json', # nopep8
71+
'etags': {}
72+
},
73+
},
7474
{
7575
'name': 'npm',
7676
'license': 'mit',

vulnerabilities/management/commands/import.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,6 @@ def add_arguments(self, parser):
5656
"--batch_size", help="The batch size to be used for bulk inserting data"
5757
)
5858

59-
parser.add_argument(
60-
"--cv",
61-
action="store_true",
62-
help="This will import and assign id's to vulnerabilities without any identifiers",
63-
)
64-
6559
def handle(self, *args, **options):
6660
# load_importers() seeds the DB with Importers
6761
load_importers()
@@ -72,8 +66,6 @@ def handle(self, *args, **options):
7266
if options["batch_size"]:
7367
self.batch_size = options["batch_size"]
7468

75-
self.create_vulcodes = options["cv"]
76-
7769
if options["all"]:
7870
self._import_data(Importer.objects.all(), options["cutoff_date"])
7971
return
@@ -111,9 +103,7 @@ def _import_data(self, importers, cutoff_date):
111103
for importer in importers:
112104
self.stdout.write(f"Importing data from {importer.name}")
113105
batch_size = int(getattr(self, "batch_size", 10))
114-
ImportRunner(importer, batch_size).run(
115-
cutoff_date=cutoff_date, create_vulcodes=self.create_vulcodes
116-
)
106+
ImportRunner(importer, batch_size).run(cutoff_date=cutoff_date)
117107
self.stdout.write(
118108
self.style.SUCCESS(f"Successfully imported data from {importer.name}")
119109
)

0 commit comments

Comments
 (0)