Skip to content

Commit ba36d34

Browse files
committed
feat: validate partially curated advisory
Signed-off-by: Keshav Priyadarshi <git@keshav.space>
1 parent 6e9c5f0 commit ba36d34

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

vulnerabilities/pipelines/v2_improvers/compute_advisory_todo.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from django.utils import timezone
1919
from packageurl import PackageURL
2020

21+
from vulnerabilities.importer import AdvisoryDataV2
2122
from vulnerabilities.models import AdvisoryAlias
2223
from vulnerabilities.models import AdvisoryToDoV2
2324
from vulnerabilities.models import AdvisoryV2
@@ -177,8 +178,10 @@ def detect_conflicting_advisories(self):
177178
continue
178179

179180
advisories_with_common_alias.extend(adv_with_alias_in_adv_id)
180-
if len(advisories_with_common_alias) < 2:
181-
total_successfully_compared_advisory_count += 1
181+
initial_advisory_group_size = len(advisories_with_common_alias)
182+
183+
if initial_advisory_group_size < 2:
184+
total_successfully_compared_advisory_count += initial_advisory_group_size
182185
continue
183186

184187
for advisory in advisories_with_common_alias:
@@ -217,8 +220,6 @@ def detect_conflicting_advisories(self):
217220
if adv.avid in avids_with_common_alias_and_purl
218221
}
219222

220-
if not len(advisory_group) > 1:
221-
continue
222223
# if any eligible PURL is not unfurled, skip
223224
if set(comparable_purl_map) & unfurled_base_purls:
224225
unfurled_purl_summary.update(
@@ -228,6 +229,10 @@ def detect_conflicting_advisories(self):
228229
total_uncomparable_advisory_count += len(advisories_with_unfurled_purls)
229230
continue
230231

232+
if not len(advisory_group) > 1:
233+
total_successfully_compared_advisory_count += len(advisory_group)
234+
continue
235+
231236
package_conflict_count, count_conflicting_advisory = (
232237
check_conflicting_affected_and_fixed_by_packages_for_alias(
233238
purl_adv_map=comparable_purl_map,
@@ -582,6 +587,11 @@ def merged_advisory(advisories, non_conflicting_purl_avid_map):
582587
merged_adv["summary"] = "\n".join(merged_summary)
583588
merged_adv["aliases"] = list(merged_adv["aliases"])
584589
merged_adv["weaknesses"] = list(merged_adv["weaknesses"])
590+
591+
merged_adv["advisory_id"] = "PLACEHOLDER_AVID"
592+
merged_adv["date_published"] = ""
593+
merged_adv = AdvisoryDataV2.from_dict(merged_adv).to_dict()
594+
585595
return merged_adv
586596

587597

0 commit comments

Comments
 (0)