aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJ08nY2022-02-22 14:37:38 +0100
committerJ08nY2022-02-22 14:42:41 +0100
commitbddeeae516ad810bbb7ad4cae9c7f0e3fd996624 (patch)
tree032cebf4cc8eed6921de19d8f8a727da4143eed3
parent47863129815d4d283ae2cdc4212492953a6dde4b (diff)
downloadsec-certs-bddeeae516ad810bbb7ad4cae9c7f0e3fd996624.tar.gz
sec-certs-bddeeae516ad810bbb7ad4cae9c7f0e3fd996624.tar.zst
sec-certs-bddeeae516ad810bbb7ad4cae9c7f0e3fd996624.zip
Rename "affect" -> "reference".
We shouldn't use affecting to describe the relationship that we are describing here as we are only collecting references and can't say anything about whether the referenced certificates are truly affecting one another.
-rw-r--r--sec_certs/dataset/common_criteria.py8
-rw-r--r--sec_certs/model/dependency_finder.py32
-rw-r--r--sec_certs/sample/common_criteria.py24
-rw-r--r--sec_certs/sample/fips.py8
-rw-r--r--tests/data/test_cc_oop/fictional_cert.json8
-rw-r--r--tests/data/test_cc_oop/toy_dataset.json16
-rw-r--r--tests/test_cc_heuristics.py18
7 files changed, 58 insertions, 56 deletions
diff --git a/sec_certs/dataset/common_criteria.py b/sec_certs/dataset/common_criteria.py
index c169bc57..e2d53e7a 100644
--- a/sec_certs/dataset/common_criteria.py
+++ b/sec_certs/dataset/common_criteria.py
@@ -697,10 +697,10 @@ class CCDataset(Dataset[CommonCriteriaCert], ComplexSerializableType):
finder.fit(self.certs)
for dgst in self.certs:
- self.certs[dgst].heuristics.directly_affecting = finder.get_directly_affecting(dgst)
- self.certs[dgst].heuristics.indirectly_affecting = finder.get_indirectly_affecting(dgst)
- self.certs[dgst].heuristics.directly_affected_by = finder.get_directly_affected_by(dgst)
- self.certs[dgst].heuristics.indirectly_affected_by = finder.get_indirectly_affected_by(dgst)
+ self.certs[dgst].heuristics.directly_referencing = finder.get_directly_referencing(dgst)
+ self.certs[dgst].heuristics.indirectly_referencing = finder.get_indirectly_referencing(dgst)
+ self.certs[dgst].heuristics.directly_referenced_by = finder.get_directly_referenced_by(dgst)
+ self.certs[dgst].heuristics.indirectly_referenced_by = finder.get_indirectly_referenced_by(dgst)
@serialize
def analyze_certificates(self, fresh: bool = True) -> None:
diff --git a/sec_certs/model/dependency_finder.py b/sec_certs/model/dependency_finder.py
index 83d6cfb9..6f5e1347 100644
--- a/sec_certs/model/dependency_finder.py
+++ b/sec_certs/model/dependency_finder.py
@@ -65,7 +65,7 @@ class DependencyFinder:
return referenced_by, referenced_by_indirect
@staticmethod
- def _get_affecting_directly(cert: str, referenced_by_direct: ReferencedByDirect) -> Optional[Set[str]]:
+ def _get_referencing_directly(cert: str, referenced_by_direct: ReferencedByDirect) -> Optional[Set[str]]:
filter_direct = set()
for cert_id in referenced_by_direct:
@@ -75,7 +75,7 @@ class DependencyFinder:
return filter_direct if filter_direct else None
@staticmethod
- def _get_affecting_indirectly(cert: str, referenced_by_indirect: ReferencedByIndirect) -> Optional[Set[str]]:
+ def _get_referencing_indirectly(cert: str, referenced_by_indirect: ReferencedByIndirect) -> Optional[Set[str]]:
filter_indirect = set()
for cert_id in referenced_by_indirect:
@@ -85,11 +85,11 @@ class DependencyFinder:
return filter_indirect if filter_indirect else None
@staticmethod
- def _get_affected_directly(cert: str, referenced_by_direct: ReferencedByDirect) -> Optional[Set[str]]:
+ def _get_referenced_directly(cert: str, referenced_by_direct: ReferencedByDirect) -> Optional[Set[str]]:
return referenced_by_direct.get(cert, None)
@staticmethod
- def _get_affected_indirectly(cert: str, referenced_by_indirect: ReferencedByIndirect) -> Optional[Set[str]]:
+ def _get_referenced_indirectly(cert: str, referenced_by_indirect: ReferencedByIndirect) -> Optional[Set[str]]:
return referenced_by_indirect.get(cert, None)
def fit(self, certificates: Certificates) -> None:
@@ -102,34 +102,34 @@ class DependencyFinder:
if not cert_id:
continue
- self.dependencies[dgst]["directly_affected_by"] = DependencyFinder._get_affected_directly(
+ self.dependencies[dgst]["directly_referenced_by"] = DependencyFinder._get_referenced_directly(
cert_id, referenced_by_direct
)
- self.dependencies[dgst]["indirectly_affected_by"] = DependencyFinder._get_affected_indirectly(
+ self.dependencies[dgst]["indirectly_referenced_by"] = DependencyFinder._get_referenced_indirectly(
cert_id, referenced_by_indirect
)
- self.dependencies[dgst]["directly_affecting"] = DependencyFinder._get_affecting_directly(
+ self.dependencies[dgst]["directly_referencing"] = DependencyFinder._get_referencing_directly(
cert_id, referenced_by_direct
)
- self.dependencies[dgst]["indirectly_affecting"] = DependencyFinder._get_affecting_indirectly(
+ self.dependencies[dgst]["indirectly_referencing"] = DependencyFinder._get_referencing_indirectly(
cert_id, referenced_by_indirect
)
- def get_directly_affected_by(self, dgst: str) -> Optional[Set[str]]:
- res = self.dependencies[dgst].get("directly_affected_by", None)
+ def get_directly_referenced_by(self, dgst: str) -> Optional[Set[str]]:
+ res = self.dependencies[dgst].get("directly_referenced_by", None)
return set(res) if res else None
- def get_indirectly_affected_by(self, dgst: str) -> Optional[Set[str]]:
- res = self.dependencies[dgst].get("indirectly_affected_by", None)
+ def get_indirectly_referenced_by(self, dgst: str) -> Optional[Set[str]]:
+ res = self.dependencies[dgst].get("indirectly_referenced_by", None)
return set(res) if res else None
- def get_directly_affecting(self, dgst: str) -> Optional[Set[str]]:
- res = self.dependencies[dgst].get("directly_affecting", None)
+ def get_directly_referencing(self, dgst: str) -> Optional[Set[str]]:
+ res = self.dependencies[dgst].get("directly_referencing", None)
return set(res) if res else None
- def get_indirectly_affecting(self, dgst: str) -> Optional[Set[str]]:
- res = self.dependencies[dgst].get("indirectly_affecting", None)
+ def get_indirectly_referencing(self, dgst: str) -> Optional[Set[str]]:
+ res = self.dependencies[dgst].get("indirectly_referencing", None)
return set(res) if res else None
diff --git a/sec_certs/sample/common_criteria.py b/sec_certs/sample/common_criteria.py
index 68258f67..84239717 100644
--- a/sec_certs/sample/common_criteria.py
+++ b/sec_certs/sample/common_criteria.py
@@ -209,10 +209,10 @@ class CommonCriteriaCert(
related_cves: Optional[Set[str]] = field(default=None)
cert_lab: Optional[List[str]] = field(default=None)
cert_id: Optional[str] = field(default=None)
- directly_affected_by: Optional[Set[str]] = field(default=None)
- indirectly_affected_by: Optional[Set[str]] = field(default=None)
- directly_affecting: Optional[Set[str]] = field(default=None)
- indirectly_affecting: Optional[Set[str]] = field(default=None)
+ directly_referenced_by: Optional[Set[str]] = field(default=None)
+ indirectly_referenced_by: Optional[Set[str]] = field(default=None)
+ directly_referencing: Optional[Set[str]] = field(default=None)
+ indirectly_referencing: Optional[Set[str]] = field(default=None)
@property
def serialized_attributes(self) -> List[str]:
@@ -236,10 +236,10 @@ class CommonCriteriaCert(
"cpe_matches",
"verified_cpe_matches",
"related_cves",
- "directly_affected_by",
- "indirectly_affected_by",
- "directly_affecting",
- "indirectly_affecting",
+ "directly_referenced_by",
+ "indirectly_referenced_by",
+ "directly_referencing",
+ "indirectly_referencing",
]
def __init__(
@@ -319,10 +319,10 @@ class CommonCriteriaCert(
self.heuristics.cpe_matches,
self.heuristics.verified_cpe_matches,
self.heuristics.related_cves,
- self.heuristics.directly_affected_by,
- self.heuristics.indirectly_affected_by,
- self.heuristics.directly_affecting,
- self.heuristics.indirectly_affecting,
+ self.heuristics.directly_referenced_by,
+ self.heuristics.indirectly_referenced_by,
+ self.heuristics.directly_referencing,
+ self.heuristics.indirectly_referencing,
)
def __str__(self) -> str:
diff --git a/sec_certs/sample/fips.py b/sec_certs/sample/fips.py
index 97fd30bd..ab83f3d2 100644
--- a/sec_certs/sample/fips.py
+++ b/sec_certs/sample/fips.py
@@ -178,10 +178,10 @@ class FIPSCertificate(Certificate["FIPSCertificate", "FIPSCertificate.FIPSHeuris
verified_cpe_matches: Optional[Set[CPE]] = field(default=None)
related_cves: Optional[Set[str]] = field(default=None)
- directly_affected_by: Optional[Set] = field(default=None)
- indirectly_affected_by: Optional[Set] = field(default=None)
- directly_affecting: Optional[Set] = field(default=None)
- indirectly_affecting: Optional[Set] = field(default=None)
+ directly_referenced_by: Optional[Set] = field(default=None)
+ indirectly_referenced_by: Optional[Set] = field(default=None)
+ directly_referencing: Optional[Set] = field(default=None)
+ indirectly_referencing: Optional[Set] = field(default=None)
@property
def serialized_attributes(self) -> List[str]:
diff --git a/tests/data/test_cc_oop/fictional_cert.json b/tests/data/test_cc_oop/fictional_cert.json
index b8c321eb..ea96c2f8 100644
--- a/tests/data/test_cc_oop/fictional_cert.json
+++ b/tests/data/test_cc_oop/fictional_cert.json
@@ -61,10 +61,10 @@
"related_cves": null,
"cert_lab": null,
"cert_id": null,
- "directly_affected_by": null,
- "indirectly_affected_by": null,
- "directly_affecting": null,
- "indirectly_affecting": null
+ "directly_referenced_by": null,
+ "indirectly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referencing": null
},
"report_link": "https://path.to/report/link",
"st_link": "https://path.to/st/link",
diff --git a/tests/data/test_cc_oop/toy_dataset.json b/tests/data/test_cc_oop/toy_dataset.json
index 16d48909..8357d9f3 100644
--- a/tests/data/test_cc_oop/toy_dataset.json
+++ b/tests/data/test_cc_oop/toy_dataset.json
@@ -68,10 +68,10 @@
"related_cves": null,
"cert_lab": null,
"cert_id": null,
- "directly_affected_by": null,
- "indirectly_affected_by": null,
- "directly_affecting": null,
- "indirectly_affecting": null
+ "directly_referenced_by": null,
+ "indirectly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referencing": null
}
},
{
@@ -132,10 +132,10 @@
"related_cves": null,
"cert_lab": null,
"cert_id": null,
- "directly_affected_by": null,
- "indirectly_affected_by": null,
- "directly_affecting": null,
- "indirectly_affecting": null
+ "directly_referenced_by": null,
+ "indirectly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referencing": null
}
}
]
diff --git a/tests/test_cc_heuristics.py b/tests/test_cc_heuristics.py
index 94567574..c4a6f743 100644
--- a/tests/test_cc_heuristics.py
+++ b/tests/test_cc_heuristics.py
@@ -266,17 +266,19 @@ class TestCommonCriteriaHeuristics(TestCase):
def test_single_record_dependency_heuristics(self):
# Single record in daset is not affecting nor affected by other records
heuristics = self.cc_dset["ebd276cca70fd723"].heuristics
- self.assertEqual(heuristics.directly_affected_by, None)
- self.assertEqual(heuristics.indirectly_affected_by, None)
- self.assertEqual(heuristics.directly_affecting, None)
- self.assertEqual(heuristics.indirectly_affecting, None)
+ self.assertEqual(heuristics.directly_referenced_by, None)
+ self.assertEqual(heuristics.indirectly_referenced_by, None)
+ self.assertEqual(heuristics.directly_referencing, None)
+ self.assertEqual(heuristics.indirectly_referencing, None)
def test_dependency_dataset(self):
dependency_dataset = CCDataset.from_json(self.data_dir_path / "dependency_dataset.json")
dependency_dataset._compute_dependencies()
test_cert = dependency_dataset["692e91451741ef49"]
- self.assertEqual(test_cert.heuristics.directly_affected_by, {"BSI-DSZ-CC-0370-2006"})
- self.assertEqual(test_cert.heuristics.indirectly_affected_by, {"BSI-DSZ-CC-0370-2006", "BSI-DSZ-CC-0517-2009"})
- self.assertEqual(test_cert.heuristics.directly_affecting, {"BSI-DSZ-CC-0268-2005"})
- self.assertEqual(test_cert.heuristics.indirectly_affecting, {"BSI-DSZ-CC-0268-2005"})
+ self.assertEqual(test_cert.heuristics.directly_referenced_by, {"BSI-DSZ-CC-0370-2006"})
+ self.assertEqual(
+ test_cert.heuristics.indirectly_referenced_by, {"BSI-DSZ-CC-0370-2006", "BSI-DSZ-CC-0517-2009"}
+ )
+ self.assertEqual(test_cert.heuristics.directly_referencing, {"BSI-DSZ-CC-0268-2005"})
+ self.assertEqual(test_cert.heuristics.indirectly_referencing, {"BSI-DSZ-CC-0268-2005"})