Skip to content

Commit 7229633

Browse files
[issue-426] update model: ExternalIdentifier and Relationship types
to cb39f85bed80d432acd2c177fb6480efb8fc73ae Signed-off-by: Armin Tänzer <armin.taenzer@tngtech.com>
1 parent bc78c2b commit 7229633

4 files changed

Lines changed: 27 additions & 29 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ additional installation of optional dependencies
5050
* Serialize to JSON-LD
5151

5252
See [Quickstart to SPDX 3.0](#quickstart-to-spdx-30) below.
53-
The implementation is based on the descriptive markdown files in the repository https://github.com/spdx/spdx-3-model (latest commit: 7ecb523ea152ed40c09ff6451b47ceefad148164).
53+
The implementation is based on the descriptive markdown files in the repository https://github.com/spdx/spdx-3-model (latest commit: cb39f85bed80d432acd2c177fb6480efb8fc73ae).
5454

5555

5656
# Installation

src/spdx_tools/spdx3/model/external_identifier.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
class ExternalIdentifierType(Enum):
1414
CPE22 = auto()
1515
CPE23 = auto()
16+
CVE = auto()
1617
EMAIL = auto()
1718
GITOID = auto()
1819
PURL = auto()
20+
SECURITY_OTHER = auto()
1921
SWHID = auto()
2022
SWID = auto()
2123
URL_SCHEME = auto()

src/spdx_tools/spdx3/model/relationship.py

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,20 @@
1313

1414

1515
class RelationshipType(Enum):
16+
AFFECTS = auto()
1617
AMENDS = auto()
1718
ANCESTOR = auto()
1819
AVAILABLE_FROM = auto()
20+
BUILD_CONFIG_OF = auto()
1921
BUILD_DEPENDENCY = auto()
22+
BUILD_HOST_OF = auto()
23+
BUILD_INPUT_OF = auto()
24+
BUILD_INVOKED_BY = auto()
25+
BUILD_ON_BEHALF_OF = auto()
26+
BUILD_OUTPUT_OF = auto()
2027
BUILD_TOOL = auto()
2128
CONTAINS = auto()
29+
COORDINATED_BY = auto()
2230
COPY = auto()
2331
DATA_FILE = auto()
2432
DEPENDENCY_MANIFEST = auto()
@@ -29,13 +37,20 @@ class RelationshipType(Enum):
2937
DEV_TOOL = auto()
3038
DISTRIBUTION_ARTIFACT = auto()
3139
DOCUMENTATION = auto()
40+
DOES_NOT_AFFECT = auto()
3241
DYNAMIC_LINK = auto()
3342
EXAMPLE = auto()
3443
EXPANDED_FROM_ARCHIVE = auto()
44+
EXPLOIT_CREATED_BY = auto()
3545
FILE_ADDED = auto()
3646
FILE_DELETED = auto()
3747
FILE_MODIFIED = auto()
48+
FIXED_BY = auto()
49+
FIXED_IN = auto()
50+
FOUND_BY = auto()
3851
GENERATES = auto()
52+
HAS_ASSESSMENT_FOR = auto()
53+
HAS_ASSOCIATED_VULNERABILITY = auto()
3954
METAFILE = auto()
4055
OPTIONAL_COMPONENT = auto()
4156
OPTIONAL_DEPENDENCY = auto()
@@ -44,6 +59,9 @@ class RelationshipType(Enum):
4459
PATCH = auto()
4560
PREREQUISITE = auto()
4661
PROVIDED_DEPENDENCY = auto()
62+
PUBLISHED_BY = auto()
63+
REPORTED_BY = auto()
64+
REPUBLISHED_BY = auto()
4765
REQUIREMENT_FOR = auto()
4866
RUNTIME_DEPENDENCY = auto()
4967
SPECIFICATION_FOR = auto()
@@ -52,30 +70,8 @@ class RelationshipType(Enum):
5270
TEST_CASE = auto()
5371
TEST_DEPENDENCY = auto()
5472
TEST_TOOL = auto()
55-
VARIANT = auto()
56-
BUILD_INPUT_OF = auto()
57-
BUILD_OUTPUT_OF = auto()
58-
BUILD_CONFIG_OF = auto()
59-
BUILD_INVOKED_BY = auto()
60-
BUILD_ON_BEHALF_OF = auto()
61-
BUILD_HOST_OF = auto()
62-
HAS_ASSOCIATED_VULNERABILITY = auto()
63-
COORDINATED_BY = auto()
64-
HAS_CVSS_V2_ASSESSMENT_FOR = auto()
65-
HAS_CVSS_V3_ASSESSMENT_FOR = auto()
66-
HAS_EPSS_ASSESSMENT_FOR = auto()
67-
HAS_EXPLOIT_CATALOG_ASSESSMENT_FOR = auto()
68-
HAS_SSVC_ASSESSMENT_FOR = auto()
69-
EXPLOIT_CREATED_BY = auto()
70-
FIXED_BY = auto()
71-
FOUND_BY = auto()
72-
PUBLISHED_BY = auto()
73-
REPORTED_BY = auto()
74-
REPUBLISHED_BY = auto()
75-
AFFECTS = auto()
76-
DOES_NOT_AFFECT = auto()
77-
FIXED_IN = auto()
7873
UNDER_INVESTIGATION_FOR = auto()
74+
VARIANT = auto()
7975

8076

8177
class RelationshipCompleteness(Enum):

tests/spdx3/fixtures.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -297,32 +297,32 @@ def listed_license_fixture(
297297
"score": "4.3",
298298
"severity": "low",
299299
"vector": "(AV:N/AC:M/Au:N/C:P/I:N/A:N)",
300-
"relationship_type": RelationshipType.HAS_CVSS_V2_ASSESSMENT_FOR,
300+
"relationship_type": RelationshipType.HAS_ASSESSMENT_FOR,
301301
}
302302

303303
CVSS_V3_VULN_ASSESSMENT_RELATIONSHIP_DICT = {
304304
"score": "6.8",
305305
"severity": "medium",
306306
"vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N",
307-
"relationship_type": RelationshipType.HAS_CVSS_V3_ASSESSMENT_FOR,
307+
"relationship_type": RelationshipType.HAS_ASSESSMENT_FOR,
308308
}
309309

310310
EPSS_VULN_ASSESSMENT_RELATIONSHIP_DICT = {
311311
"probability": 80,
312312
"severity": "high",
313-
"relationship_type": RelationshipType.HAS_EPSS_ASSESSMENT_FOR,
313+
"relationship_type": RelationshipType.HAS_ASSESSMENT_FOR,
314314
}
315315

316316
SSVC_VULN_ASSESSMENT_RELATIONSHIP_DICT = {
317317
"decision_type": SsvcDecisionType.ACT,
318-
"relationship_type": RelationshipType.HAS_SSVC_ASSESSMENT_FOR,
318+
"relationship_type": RelationshipType.HAS_ASSESSMENT_FOR,
319319
}
320320

321321
EXPLOIT_CATALOG_VULN_ASSESSMENT_RELATIONSHIP_DICT = {
322322
"catalog_type": ExploitCatalogType.KEV,
323323
"exploited": True,
324324
"locator": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
325-
"relationship_type": RelationshipType.HAS_EXPLOIT_CATALOG_ASSESSMENT_FOR,
325+
"relationship_type": RelationshipType.HAS_ASSESSMENT_FOR,
326326
}
327327

328328
VEX_VULN_ASSESSMENT_RELATIONSHIP_DICT = {

0 commit comments

Comments
 (0)