mirror of
https://github.com/quay/quay.git
synced 2026-01-26 06:21:37 +03:00
secscan: ClairV2 datatype compatibility (PROJQUAY-3279) (#1133)
Mormalize metadata fields when serializing from dict, if not defined.
This commit is contained in:
committed by
GitHub
parent
ca17eb4312
commit
b32ca3142a
@@ -30,10 +30,11 @@ Vulnerability = namedtuple(
|
||||
["Severity", "NamespaceName", "Link", "FixedBy", "Description", "Name", "Metadata"],
|
||||
)
|
||||
Metadata = namedtuple(
|
||||
"Metadata", ["UpdatedBy", "RepoName", "RepoLink", "DistroName", "DistroVersion", "NVD"]
|
||||
"Metadata",
|
||||
["UpdatedBy", "RepoName", "RepoLink", "DistroName", "DistroVersion", "NVD"],
|
||||
)
|
||||
NVD = namedtuple("NVD", ["CVSSv3"])
|
||||
CVSSv3 = namedtuple("CVSSv3", ["Vectors", "Score"])
|
||||
CVSSv3 = namedtuple("CVSSv3", ["Vectors", "Score"], defaults=(None, None))
|
||||
Feature = namedtuple(
|
||||
"Feature", ["Name", "VersionFormat", "NamespaceName", "AddedBy", "Version", "Vulnerabilities"]
|
||||
)
|
||||
@@ -69,11 +70,20 @@ class SecurityInformation(namedtuple("SecurityInformation", ["Layer"])):
|
||||
Description=vuln.get("Description", None),
|
||||
Name=vuln.get("Name", None),
|
||||
Metadata=Metadata(
|
||||
UpdatedBy=vuln["Metadata"].get("UpdatedBy", None),
|
||||
RepoName=vuln["Metadata"].get("RepoName", None),
|
||||
RepoLink=vuln["Metadata"].get("RepoLink", None),
|
||||
DistroName=vuln["Metadata"].get("DistroName", None),
|
||||
DistroVersion=vuln["Metadata"].get("DistroVersion", None),
|
||||
UpdatedBy=vuln.get("Metadata", {}).get("UpdatedBy", None),
|
||||
RepoName=vuln.get("Metadata", {}).get("RepoName", None),
|
||||
RepoLink=vuln.get("Metadata", {}).get("RepoLink", None),
|
||||
DistroName=vuln.get("Metadata", {}).get("DistroName", None),
|
||||
DistroVersion=vuln.get("Metadata", {}).get(
|
||||
"DistroVersion", None
|
||||
),
|
||||
NVD=NVD(
|
||||
CVSSv3(
|
||||
**vuln.get("Metadata", {})
|
||||
.get("NVD", {})
|
||||
.get(["CVSv3"], {})
|
||||
)
|
||||
),
|
||||
),
|
||||
)
|
||||
for vuln in f.get("Vulnerabilities", [])
|
||||
|
||||
@@ -10,9 +10,6 @@ from data.secscan_model.datatypes import (
|
||||
ScanLookupStatus,
|
||||
SecurityInformationLookupResult,
|
||||
SecurityInformation,
|
||||
Layer,
|
||||
Feature,
|
||||
Vulnerability,
|
||||
)
|
||||
|
||||
from data.registry_model import registry_model
|
||||
|
||||
Reference in New Issue
Block a user