diff options
| author | Adam Janovsky | 2021-04-20 11:17:59 +0200 |
|---|---|---|
| committer | Adam Janovsky | 2021-04-20 11:17:59 +0200 |
| commit | 1f69f1766541cd1829c0da0d142e0b36daf95dd9 (patch) | |
| tree | 64dda4900a06317593ad5f05b3227953ca449cbb | |
| parent | 34eca2f67c6d0ab34657de2c9426ef08d5e70ab4 (diff) | |
| download | sec-certs-1f69f1766541cd1829c0da0d142e0b36daf95dd9.tar.gz sec-certs-1f69f1766541cd1829c0da0d142e0b36daf95dd9.tar.zst sec-certs-1f69f1766541cd1829c0da0d142e0b36daf95dd9.zip | |
basically rebase of dev
| -rw-r--r-- | sec_certs/certificate/common_criteria.py | 3 | ||||
| -rw-r--r-- | sec_certs/dataset/common_criteria.py | 4 | ||||
| -rw-r--r-- | test/data/test_cc_oop/fictional_cert.json | 1 | ||||
| -rw-r--r-- | test/data/test_cc_oop/toy_dataset.json | 2 |
4 files changed, 8 insertions, 2 deletions
diff --git a/sec_certs/certificate/common_criteria.py b/sec_certs/certificate/common_criteria.py index 165ab86d..517601d7 100644 --- a/sec_certs/certificate/common_criteria.py +++ b/sec_certs/certificate/common_criteria.py @@ -202,6 +202,7 @@ class CommonCriteriaCert(Certificate, ComplexSerializableType): class Heuristics(ComplexSerializableType): extracted_versions: List[str] = field(default=None) cpe_matches: Optional[List[Tuple[float, CPE]]] = field(default=None) + labeled: bool = field(default=False) verified_cpe_matches: Optional[List[CPE]] = field(default=None) related_cves: Optional[List[str]] = field(default=None) cert_lab: Optional[List[str]] = field(default=None) @@ -215,7 +216,7 @@ class CommonCriteriaCert(Certificate, ComplexSerializableType): self.cpe_candidate_vendors = None def to_dict(self): - return {'extracted_versions': self.extracted_versions, 'cpe_matches': self.cpe_matches, 'verified_cpe_matches': self.verified_cpe_matches, 'related_cves': self.related_cves, 'cert_lab': self.cert_lab, 'cert_id': self.cert_id} + return {'extracted_versions': self.extracted_versions, 'cpe_matches': self.cpe_matches, 'labeled': self.labeled, 'verified_cpe_matches': self.verified_cpe_matches, 'related_cves': self.related_cves, 'cert_lab': self.cert_lab, 'cert_id': self.cert_id} @classmethod def from_dict(cls, dct: Dict[str, str]): diff --git a/sec_certs/dataset/common_criteria.py b/sec_certs/dataset/common_criteria.py index 289f5584..00604646 100644 --- a/sec_certs/dataset/common_criteria.py +++ b/sec_certs/dataset/common_criteria.py @@ -650,7 +650,9 @@ class CCDataset(Dataset, ComplexSerializableType): print(f'Saving progress.') self.to_json() - certs_to_verify: List[CommonCriteriaCert] = [x for x in self if (x.heuristics.cpe_matches and not x.heuristics.verified_cpe_matches)] + self[x.dgst].heuristics.labeled = True + + certs_to_verify: List[CommonCriteriaCert] = [x for x in self if (x.heuristics.cpe_matches and not x.heuristics.labeled)] logger.info('Manually verifying CPE matches') time.sleep(0.05) # easier than flushing the logger verify_certs(certs_to_verify) diff --git a/test/data/test_cc_oop/fictional_cert.json b/test/data/test_cc_oop/fictional_cert.json index c16a275b..dd106e74 100644 --- a/test/data/test_cc_oop/fictional_cert.json +++ b/test/data/test_cc_oop/fictional_cert.json @@ -55,6 +55,7 @@ "_type": "Heuristics", "extracted_versions": null, "cpe_matches": null, + "labeled": false, "verified_cpe_matches": null, "related_cves": null, "cert_lab": null, diff --git a/test/data/test_cc_oop/toy_dataset.json b/test/data/test_cc_oop/toy_dataset.json index 8e091096..4be9f90d 100644 --- a/test/data/test_cc_oop/toy_dataset.json +++ b/test/data/test_cc_oop/toy_dataset.json @@ -58,6 +58,7 @@ "_type": "Heuristics", "extracted_versions": null, "cpe_matches": null, + "labeled": false, "verified_cpe_matches": null, "related_cves": null, "cert_lab": null, @@ -111,6 +112,7 @@ "_type": "Heuristics", "extracted_versions": null, "cpe_matches": null, + "labeled": false, "verified_cpe_matches": null, "related_cves": null, "cert_lab": null, |
