diff options
| author | Adam Janovsky | 2023-04-20 17:49:24 +0200 |
|---|---|---|
| committer | Adam Janovsky | 2023-04-20 17:49:24 +0200 |
| commit | ce3857d1a031e90cea7cb884e9cd61c417669c03 (patch) | |
| tree | ecab51d06ce970a42fab56d1626b340991dd20b2 /src/sec_certs | |
| parent | fec63347e3d012a32038762917a78f565c9e5b1c (diff) | |
| download | sec-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.py | 3 | ||||
| -rw-r--r-- | src/sec_certs/sample/cpe.py | 4 |
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]: |
