aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sec_certs
diff options
context:
space:
mode:
authorAdam Janovsky2023-04-20 17:49:24 +0200
committerAdam Janovsky2023-04-20 17:49:24 +0200
commitce3857d1a031e90cea7cb884e9cd61c417669c03 (patch)
treeecab51d06ce970a42fab56d1626b340991dd20b2 /src/sec_certs
parentfec63347e3d012a32038762917a78f565c9e5b1c (diff)
downloadsec-certs-ce3857d1a031e90cea7cb884e9cd61c417669c03.tar.gz
sec-certs-ce3857d1a031e90cea7cb884e9cd61c417669c03.tar.zst
sec-certs-ce3857d1a031e90cea7cb884e9cd61c417669c03.zip
some more cve/cpe tests
Diffstat (limited to 'src/sec_certs')
-rw-r--r--src/sec_certs/dataset/cve.py3
-rw-r--r--src/sec_certs/sample/cpe.py4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/sec_certs/dataset/cve.py b/src/sec_certs/dataset/cve.py
index 79016991..7754caf1 100644
--- a/src/sec_certs/dataset/cve.py
+++ b/src/sec_certs/dataset/cve.py
@@ -138,7 +138,8 @@ class CVEDataset(JSONPathDataset, ComplexSerializableType):
continue
for cpe_uri in vulnerable_cpe_uris:
- self._cpe_uri_to_cve_ids_lookup.setdefault(cpe_uri, set()).add(cve.cve_id)
+ if not cpe_uris_of_interest or cpe_uri in cpe_uris_of_interest:
+ self._cpe_uri_to_cve_ids_lookup.setdefault(cpe_uri, set()).add(cve.cve_id)
def _get_cves_from_exactly_matched_cpes(self, cpe_uris: set[str]) -> set[str]:
return set(
diff --git a/src/sec_certs/sample/cpe.py b/src/sec_certs/sample/cpe.py
index 2cc267c9..5e9e8b65 100644
--- a/src/sec_certs/sample/cpe.py
+++ b/src/sec_certs/sample/cpe.py
@@ -61,7 +61,7 @@ class CPEMatchCriteriaConfiguration(ComplexSerializableType):
components: list[list[CPEMatchCriteria]]
_expanded_components: list[list[str]] = field(default_factory=list)
- def matches(self, cpe_ids: set[str]) -> bool:
+ def matches(self, cpe_uris: set[str]) -> bool:
"""
Returns if given set of cpe_ids matches this configuration.
"""
@@ -69,7 +69,7 @@ class CPEMatchCriteriaConfiguration(ComplexSerializableType):
raise ValueError(
"Cannot match to CPEMatchConfiguration when attribute _expanded_components was not filled-in. That attribute is prepared by `CVEDataset.build_lookup_dict()`."
)
- return all(any(x in component for x in cpe_ids) for component in self._expanded_components)
+ return all(any(x in component for x in cpe_uris) for component in self._expanded_components)
@property
def serialized_attributes(self) -> list[str]: