@mitre/hdf-schema 3.4.4 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -2
- package/dist/go/hdf.go +535 -271
- package/dist/helpers.d.ts +56 -1
- package/dist/helpers.js +98 -38
- package/dist/index.d.ts +2 -0
- package/dist/index.js +28 -26
- package/dist/schemas/hdf-amendments.schema.json +235 -48
- package/dist/schemas/hdf-baseline.schema.json +240 -53
- package/dist/schemas/hdf-comparison.schema.json +1948 -1504
- package/dist/schemas/hdf-evidence-package.schema.json +242 -48
- package/dist/schemas/hdf-plan.schema.json +692 -498
- package/dist/schemas/hdf-requirement-change-event.schema.json +5290 -0
- package/dist/schemas/hdf-results.schema.json +1650 -1215
- package/dist/schemas/hdf-system.schema.json +262 -68
- package/dist/ts/hdf.d.ts +420 -73
- package/dist/ts/hdf.js +65 -30
- package/dist/ts/hdf.ts +428 -77
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/hdf-system/v3.
|
|
3
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/hdf-system/v3.5.0",
|
|
4
4
|
"title": "HDF System",
|
|
5
5
|
"description": "Describes a system's authorization boundary, components, and interconnections. Maps to OSCAL SSP system-characteristics and FedRAMP system inventory.",
|
|
6
6
|
"type": "object",
|
|
@@ -10,13 +10,20 @@
|
|
|
10
10
|
"components"
|
|
11
11
|
],
|
|
12
12
|
"properties": {
|
|
13
|
+
"externalReferences": {
|
|
14
|
+
"type": "array",
|
|
15
|
+
"items": {
|
|
16
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/External_Reference"
|
|
17
|
+
},
|
|
18
|
+
"description": "Optional references to external artifacts describing this system's threat environment or context (CTI/STIX, BOMs, advisories, or any URI-addressable artifact). Inert context; see External_Reference."
|
|
19
|
+
},
|
|
13
20
|
"systemId": {
|
|
14
21
|
"type": "string",
|
|
15
22
|
"format": "uuid",
|
|
16
23
|
"description": "Stable UUID (RFC 4122) for this system. Enables cross-document correlation independent of file location. Optional in casual use, expected in production documents."
|
|
17
24
|
},
|
|
18
25
|
"owner": {
|
|
19
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
26
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Identity",
|
|
20
27
|
"description": "Team or individual responsible for this system's authorization and compliance. Maps to OSCAL responsible-party with role 'system-owner'."
|
|
21
28
|
},
|
|
22
29
|
"name": {
|
|
@@ -37,7 +44,7 @@
|
|
|
37
44
|
"description": "Description of the system's purpose and mission."
|
|
38
45
|
},
|
|
39
46
|
"authorizationStatus": {
|
|
40
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
47
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.5.0#/$defs/Authorization_Status",
|
|
41
48
|
"description": "Current Authorization to Operate (ATO) status."
|
|
42
49
|
},
|
|
43
50
|
"authorizationDate": {
|
|
@@ -46,7 +53,7 @@
|
|
|
46
53
|
"description": "Date the current authorization status was granted. ISO 8601 format."
|
|
47
54
|
},
|
|
48
55
|
"categorizationLevel": {
|
|
49
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
56
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.5.0#/$defs/Categorization_Level",
|
|
50
57
|
"description": "FIPS 199 security categorization (impact level)."
|
|
51
58
|
},
|
|
52
59
|
"boundaryDescription": {
|
|
@@ -57,28 +64,28 @@
|
|
|
57
64
|
"type": "array",
|
|
58
65
|
"minItems": 1,
|
|
59
66
|
"items": {
|
|
60
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.
|
|
67
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.5.0#/$defs/Component"
|
|
61
68
|
},
|
|
62
69
|
"description": "System components within the authorization boundary. Uses the full polymorphic Component type with stable identity (componentId), external references, and generalized BOM attachment (boms[])."
|
|
63
70
|
},
|
|
64
71
|
"controlDesignations": {
|
|
65
72
|
"type": "array",
|
|
66
73
|
"items": {
|
|
67
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
74
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.5.0#/$defs/Control_Designation"
|
|
68
75
|
},
|
|
69
76
|
"description": "Declares which controls are common, hybrid, or system-specific, and which component provides them. Maps to NIST SP 800-53 control designations and OSCAL leveraged-authorizations."
|
|
70
77
|
},
|
|
71
78
|
"dataFlows": {
|
|
72
79
|
"type": "array",
|
|
73
80
|
"items": {
|
|
74
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.
|
|
81
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.5.0#/$defs/Data_Flow"
|
|
75
82
|
},
|
|
76
83
|
"description": "Inter-component data flows describing how components communicate. Supports local, cross-system, and external flows. Replaces the interconnections[] field."
|
|
77
84
|
},
|
|
78
85
|
"boms": {
|
|
79
86
|
"type": "array",
|
|
80
87
|
"items": {
|
|
81
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/bom/v3.
|
|
88
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/bom/v3.5.0#/$defs/Bom"
|
|
82
89
|
},
|
|
83
90
|
"description": "System-scoped Bills of Materials whose subject is the authorization boundary rather than a single component (e.g. a SaaSBOM of services, a KBOM of cluster inventory, an OBOM). Component-scoped BOMs (SBOM, ai-model) attach on the component instead. See primitives/bom.schema.json."
|
|
84
91
|
},
|
|
@@ -90,7 +97,7 @@
|
|
|
90
97
|
"description": "Optional key-value labels for grouping and querying systems."
|
|
91
98
|
},
|
|
92
99
|
"integrity": {
|
|
93
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.
|
|
100
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.5.0#/$defs/Integrity",
|
|
94
101
|
"description": "Cryptographic integrity information for verifying this system document has not been tampered with."
|
|
95
102
|
},
|
|
96
103
|
"version": {
|
|
@@ -98,7 +105,7 @@
|
|
|
98
105
|
"description": "Version of this system document."
|
|
99
106
|
},
|
|
100
107
|
"generator": {
|
|
101
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.
|
|
108
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.5.0#/$defs/Generator",
|
|
102
109
|
"description": "Information about the tool that generated this system document."
|
|
103
110
|
}
|
|
104
111
|
},
|
|
@@ -151,12 +158,140 @@
|
|
|
151
158
|
}
|
|
152
159
|
],
|
|
153
160
|
"$defs": {
|
|
154
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
161
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0": {
|
|
155
162
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
156
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
163
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0",
|
|
157
164
|
"title": "HDF Common Primitives",
|
|
158
165
|
"description": "Shared building blocks used by hdf-results and hdf-baseline schemas.",
|
|
159
166
|
"$defs": {
|
|
167
|
+
"External_Reference": {
|
|
168
|
+
"type": "object",
|
|
169
|
+
"title": "External Reference",
|
|
170
|
+
"description": "A generalized reference to any external artifact by identity and/or location, modeled on the STIX 2.1 `external_references` common property. Purpose-agnostic: cite a CVE, an ATT&CK technique, a STIX bundle/object, a BOM, a runbook, or any vendor artifact — including kinds with no dedicated HDF reference category. `sourceName` names the system; `externalId` cites by id within that system; `href` locates it. `sourceName` + `externalId` is equivalently a URN (`urn:<sourceName>:<externalId>`, RFC 8141), so the by-identity and by-location forms stay interconvertible. A reference is inert context: it overrides nothing, so it carries only lightweight optional `addedBy`/`addedAt` attribution, never override machinery.",
|
|
171
|
+
"required": [
|
|
172
|
+
"sourceName"
|
|
173
|
+
],
|
|
174
|
+
"anyOf": [
|
|
175
|
+
{
|
|
176
|
+
"required": [
|
|
177
|
+
"externalId"
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"required": [
|
|
182
|
+
"href"
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"required": [
|
|
187
|
+
"description"
|
|
188
|
+
]
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
"properties": {
|
|
192
|
+
"sourceName": {
|
|
193
|
+
"type": "string",
|
|
194
|
+
"minLength": 1,
|
|
195
|
+
"description": "Name of the external system/source being referenced (e.g., 'cve', 'mitre-att&ck', 'stix', 'taxii', or any vendor label). Open string — not a closed enum. Use the `x-` prefix convention for custom/experimental sources, mirroring `bomType`."
|
|
196
|
+
},
|
|
197
|
+
"externalId": {
|
|
198
|
+
"type": "string",
|
|
199
|
+
"description": "Identifier of the artifact within `sourceName` (e.g., 'CVE-2021-44228' for source 'cve', 'T1059' for 'mitre-att&ck'). Cite by id without needing a URL. Together with `sourceName` this is a URN."
|
|
200
|
+
},
|
|
201
|
+
"href": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"format": "uri-reference",
|
|
204
|
+
"description": "Location of the artifact. `uri-reference` (not `uri`) so a bare internal `#fragment`/`#uuid` reference is expressible alongside absolute URLs. `checksum`/`mediaType` apply only to a retrievable `href`."
|
|
205
|
+
},
|
|
206
|
+
"description": {
|
|
207
|
+
"type": "string",
|
|
208
|
+
"description": "Human-readable description of what is referenced. Satisfies the at-least-one rule on its own when neither id nor href is available."
|
|
209
|
+
},
|
|
210
|
+
"rel": {
|
|
211
|
+
"type": "string",
|
|
212
|
+
"description": "Open relationship token describing how this reference relates to the referencing object. Deliberately open (cf. OSCAL `rel` allow-other, RFC 8288 extension relations). Documented starter vocabulary: 'reference' (generic), 'definition' (defines the concept), 'evidence' (supporting evidence), 'investigate' (a live pivot to investigate), 'canonical' (the authoritative source)."
|
|
213
|
+
},
|
|
214
|
+
"mediaType": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"description": "IANA media type of the referenced artifact when retrievable (RFC 6838), e.g., 'application/json'. Meaningful only with `href`."
|
|
217
|
+
},
|
|
218
|
+
"checksum": {
|
|
219
|
+
"$ref": "#/$defs/Checksum",
|
|
220
|
+
"description": "Integrity hash of the referenced artifact. Reuses the HDF `Checksum` primitive (not STIX `hashes`). Meaningful only with a retrievable `href`."
|
|
221
|
+
},
|
|
222
|
+
"addedBy": {
|
|
223
|
+
"$ref": "#/$defs/Identity",
|
|
224
|
+
"description": "Who attached this reference. Lightweight, flat attribution — a reference overrides nothing, so it has no chaining/superseding/disposition."
|
|
225
|
+
},
|
|
226
|
+
"addedAt": {
|
|
227
|
+
"type": "string",
|
|
228
|
+
"format": "date-time",
|
|
229
|
+
"description": "When this reference was attached (RFC 3339 / trimmed-UTC per HDF timestamp convention)."
|
|
230
|
+
},
|
|
231
|
+
"kind": {
|
|
232
|
+
"type": "string",
|
|
233
|
+
"minLength": 1,
|
|
234
|
+
"description": "Open token classifying the referenced/embedded payload, turning a bare reference into an enrichment envelope. Deliberately open (like `sourceName`/`rel`), not a closed enum. Documented starter vocabulary: 'threat-intel' (STIX/CTI object), 'annotation' (human triage note), 'exploitation' (EPSS/KEV signal carried as context), 'advisory' (vendor/security advisory). Use the `x-` prefix for custom kinds."
|
|
235
|
+
},
|
|
236
|
+
"document": {
|
|
237
|
+
"type": "object",
|
|
238
|
+
"additionalProperties": true,
|
|
239
|
+
"description": "Optional lossless embedded copy of the referenced artifact — the raw STIX object, EPSS record, advisory, or annotation payload — preserved verbatim. Composes with `href`/`externalId` (which point at the artifact) and `checksum` (which ties the copy to the source): a single entry can both point and embed. HDF stays payload-agnostic — the content is carried untouched, never normalized into HDF fields — so this does not duplicate the source ontology (e.g. STIX rides here unchanged)."
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
"unevaluatedProperties": false,
|
|
243
|
+
"examples": [
|
|
244
|
+
{
|
|
245
|
+
"$comment": "By-identity: cite a CVE by its id in the 'cve' system without a URL — equivalently urn:cve:CVE-2021-44228.",
|
|
246
|
+
"sourceName": "cve",
|
|
247
|
+
"externalId": "CVE-2021-44228",
|
|
248
|
+
"rel": "definition"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"$comment": "By-identity AND by-locator together (anyOf, not oneOf) — an ATT&CK technique cited by id with its canonical URL.",
|
|
252
|
+
"sourceName": "mitre-att&ck",
|
|
253
|
+
"externalId": "T1059",
|
|
254
|
+
"href": "https://attack.mitre.org/techniques/T1059/",
|
|
255
|
+
"rel": "canonical"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"$comment": "By-locator to a retrievable STIX bundle, with integrity hash, media type, and attribution.",
|
|
259
|
+
"sourceName": "stix",
|
|
260
|
+
"href": "https://cti.example.org/bundles/log4shell.json",
|
|
261
|
+
"rel": "investigate",
|
|
262
|
+
"mediaType": "application/json",
|
|
263
|
+
"checksum": {
|
|
264
|
+
"algorithm": "sha256",
|
|
265
|
+
"value": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
|
266
|
+
},
|
|
267
|
+
"addedBy": {
|
|
268
|
+
"type": "email",
|
|
269
|
+
"identifier": "analyst@agency.gov"
|
|
270
|
+
},
|
|
271
|
+
"addedAt": "2026-07-26T00:00:00Z"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"$comment": "Enrichment envelope: a STIX threat-intel object embedded losslessly in `document` and classified via `kind`, cited by id and pointed at by href — the pointer and the embedded copy compose. The payload rides verbatim; HDF does not normalize STIX fields.",
|
|
275
|
+
"sourceName": "stix",
|
|
276
|
+
"externalId": "vulnerability--f7c1b8e0-1234-4a2b-9c3d-000000000001",
|
|
277
|
+
"href": "https://cti.example.org/bundles/log4shell.json#vulnerability--f7c1b8e0-1234-4a2b-9c3d-000000000001",
|
|
278
|
+
"rel": "investigate",
|
|
279
|
+
"kind": "threat-intel",
|
|
280
|
+
"document": {
|
|
281
|
+
"type": "vulnerability",
|
|
282
|
+
"spec_version": "2.1",
|
|
283
|
+
"id": "vulnerability--f7c1b8e0-1234-4a2b-9c3d-000000000001",
|
|
284
|
+
"name": "CVE-2021-44228",
|
|
285
|
+
"external_references": [
|
|
286
|
+
{
|
|
287
|
+
"source_name": "cve",
|
|
288
|
+
"external_id": "CVE-2021-44228"
|
|
289
|
+
}
|
|
290
|
+
]
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
]
|
|
294
|
+
},
|
|
160
295
|
"Hash_Algorithm": {
|
|
161
296
|
"type": "string",
|
|
162
297
|
"enum": [
|
|
@@ -780,6 +915,13 @@
|
|
|
780
915
|
"Baseline_Metadata": {
|
|
781
916
|
"type": "object",
|
|
782
917
|
"properties": {
|
|
918
|
+
"externalReferences": {
|
|
919
|
+
"type": "array",
|
|
920
|
+
"items": {
|
|
921
|
+
"$ref": "#/$defs/External_Reference"
|
|
922
|
+
},
|
|
923
|
+
"description": "Optional references to external artifacts relevant to this baseline (CTI/STIX, advisories, source catalogs, or any URI-addressable artifact). Travels with the baseline definition. Inert context; see External_Reference."
|
|
924
|
+
},
|
|
783
925
|
"name": {
|
|
784
926
|
"type": "string",
|
|
785
927
|
"description": "The name - must be unique."
|
|
@@ -857,6 +999,13 @@
|
|
|
857
999
|
"Requirement_Core": {
|
|
858
1000
|
"type": "object",
|
|
859
1001
|
"properties": {
|
|
1002
|
+
"externalReferences": {
|
|
1003
|
+
"type": "array",
|
|
1004
|
+
"items": {
|
|
1005
|
+
"$ref": "#/$defs/External_Reference"
|
|
1006
|
+
},
|
|
1007
|
+
"description": "Optional references to external artifacts relevant to this requirement (CTI/STIX correlation, advisories, control/definition sources, or any URI-addressable artifact). Applies to both baseline requirement definitions and evaluated requirements. Inert context; see External_Reference."
|
|
1008
|
+
},
|
|
860
1009
|
"id": {
|
|
861
1010
|
"type": "string",
|
|
862
1011
|
"description": "The requirement identifier. Example: 'SV-238196'."
|
|
@@ -943,7 +1092,7 @@
|
|
|
943
1092
|
},
|
|
944
1093
|
"examples": [
|
|
945
1094
|
{
|
|
946
|
-
"$comment": "v3.1.x-style requirement: classification fields omitted. Consumers must continue to handle this shape under v3.
|
|
1095
|
+
"$comment": "v3.1.x-style requirement: classification fields omitted. Consumers must continue to handle this shape under v3.5.0 (backward compatibility).",
|
|
947
1096
|
"id": "SV-238196",
|
|
948
1097
|
"title": "The Ubuntu operating system must enforce password complexity",
|
|
949
1098
|
"impact": 0.5,
|
|
@@ -1080,9 +1229,9 @@
|
|
|
1080
1229
|
}
|
|
1081
1230
|
}
|
|
1082
1231
|
},
|
|
1083
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
1232
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.5.0": {
|
|
1084
1233
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1085
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
1234
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.5.0",
|
|
1086
1235
|
"title": "HDF System Primitives",
|
|
1087
1236
|
"description": "Types for describing system architecture, authorization boundaries, and components.",
|
|
1088
1237
|
"$defs": {
|
|
@@ -1133,7 +1282,7 @@
|
|
|
1133
1282
|
"description": "Rationale for why this override is needed."
|
|
1134
1283
|
},
|
|
1135
1284
|
"approvedBy": {
|
|
1136
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1285
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Identity",
|
|
1137
1286
|
"description": "Identity of the person or system that approved this override."
|
|
1138
1287
|
}
|
|
1139
1288
|
},
|
|
@@ -1215,9 +1364,9 @@
|
|
|
1215
1364
|
}
|
|
1216
1365
|
}
|
|
1217
1366
|
},
|
|
1218
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.
|
|
1367
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.5.0": {
|
|
1219
1368
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1220
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.
|
|
1369
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.5.0",
|
|
1221
1370
|
"title": "HDF Component Primitives",
|
|
1222
1371
|
"description": "First-class system component with identity, polymorphic type, generalized BOM attachment (boms[]), and system-binding properties. Components are the successor to Targets, adding stable identity (componentId), external system cross-references, and manifest inventory (SBOM, AI model/dataset, and reserved future BOM kinds).",
|
|
1223
1372
|
"$defs": {
|
|
@@ -1263,7 +1412,7 @@
|
|
|
1263
1412
|
"description": "Description of this component's role or purpose."
|
|
1264
1413
|
},
|
|
1265
1414
|
"owner": {
|
|
1266
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1415
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Identity",
|
|
1267
1416
|
"description": "Team or individual responsible for this component. Enables per-component ownership when different teams manage different parts of a system."
|
|
1268
1417
|
},
|
|
1269
1418
|
"externalIds": {
|
|
@@ -1283,14 +1432,14 @@
|
|
|
1283
1432
|
"boms": {
|
|
1284
1433
|
"type": "array",
|
|
1285
1434
|
"items": {
|
|
1286
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/bom/v3.
|
|
1435
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/bom/v3.5.0#/$defs/Bom"
|
|
1287
1436
|
},
|
|
1288
1437
|
"description": "Component-scoped Bills of Materials (SBOM, ai-model, dataset, or any reserved bomType), each carried by passthrough (ref/document) or normalized. Replaces the former sbom/sbomRef/sbomFormat trio; a component may carry several BOMs (e.g. an SBOM plus an ai-model BOM). See primitives/bom.schema.json."
|
|
1289
1438
|
},
|
|
1290
1439
|
"integrity": {
|
|
1291
1440
|
"type": "array",
|
|
1292
1441
|
"items": {
|
|
1293
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1442
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Checksum"
|
|
1294
1443
|
},
|
|
1295
1444
|
"description": "Cryptographic integrity of this component's underlying artifact — model weights or shards, dataset archive, container image, or package bytes. An array supports multi-file/sharded artifacts. This is the single, generic home for artifact/subject integrity across all component types (it replaced the former per-type Container_Image digest and Artifact checksum fields). Distinct from BOM-document integrity (Bom.hashes[]) and from the document tamper-evidence Integrity type."
|
|
1296
1445
|
},
|
|
@@ -1304,12 +1453,12 @@
|
|
|
1304
1453
|
"inputOverrides": {
|
|
1305
1454
|
"type": "array",
|
|
1306
1455
|
"items": {
|
|
1307
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
1456
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.5.0#/$defs/Input_Override"
|
|
1308
1457
|
},
|
|
1309
1458
|
"description": "System-specific overrides for baseline input values."
|
|
1310
1459
|
},
|
|
1311
1460
|
"targetSelector": {
|
|
1312
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
1461
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.5.0#/$defs/Target_Selector",
|
|
1313
1462
|
"description": "Label selector to match targets belonging to this component during migration. Targets with matching labels are automatically included."
|
|
1314
1463
|
}
|
|
1315
1464
|
},
|
|
@@ -1593,7 +1742,7 @@
|
|
|
1593
1742
|
"const": "cloudAccount"
|
|
1594
1743
|
},
|
|
1595
1744
|
"provider": {
|
|
1596
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1745
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Cloud_Provider",
|
|
1597
1746
|
"description": "Cloud provider."
|
|
1598
1747
|
},
|
|
1599
1748
|
"accountId": {
|
|
@@ -1632,7 +1781,7 @@
|
|
|
1632
1781
|
"const": "cloudResource"
|
|
1633
1782
|
},
|
|
1634
1783
|
"provider": {
|
|
1635
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1784
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Cloud_Provider",
|
|
1636
1785
|
"description": "Cloud provider."
|
|
1637
1786
|
},
|
|
1638
1787
|
"resourceType": {
|
|
@@ -1931,9 +2080,9 @@
|
|
|
1931
2080
|
}
|
|
1932
2081
|
}
|
|
1933
2082
|
},
|
|
1934
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/bom/v3.
|
|
2083
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/bom/v3.5.0": {
|
|
1935
2084
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1936
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/bom/v3.
|
|
2085
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/bom/v3.5.0",
|
|
1937
2086
|
"title": "HDF BOM Primitives",
|
|
1938
2087
|
"description": "Generalized Bill-of-Materials / manifest representation. One extensible Bom shape, discriminated by bomType, carries any manifest kind (SBOM, AI model/dataset, and reserved future kinds) either by passthrough (opaque ref/embed of the native document) or normalized (converted into HDF's queryable shape). Subject identity (name, version, componentId) is inherited from the host component or system — the BOM never re-owns it. See ADR-0001.",
|
|
1939
2088
|
"$defs": {
|
|
@@ -1989,7 +2138,7 @@
|
|
|
1989
2138
|
"hashes": {
|
|
1990
2139
|
"type": "array",
|
|
1991
2140
|
"items": {
|
|
1992
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2141
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Checksum"
|
|
1993
2142
|
},
|
|
1994
2143
|
"description": "Integrity of the carried BOM *document* itself (the referenced/embedded manifest file), NOT the integrity of the BOM's subject artifact. Subject/artifact integrity (model weights, dataset archive) is a component-level concern, not carried here. Subject identity is inherited from the host component/system; per-node identity lives in the type-extension."
|
|
1995
2144
|
},
|
|
@@ -2404,9 +2553,9 @@
|
|
|
2404
2553
|
}
|
|
2405
2554
|
}
|
|
2406
2555
|
},
|
|
2407
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.
|
|
2556
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.5.0": {
|
|
2408
2557
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2409
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.
|
|
2558
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.5.0",
|
|
2410
2559
|
"title": "HDF Data Flow Primitives",
|
|
2411
2560
|
"description": "Types for describing data flows between components within a system and across system boundaries. Data flows model network connections, API calls, database queries, and other inter-component communication.",
|
|
2412
2561
|
"$defs": {
|
|
@@ -2563,9 +2712,9 @@
|
|
|
2563
2712
|
}
|
|
2564
2713
|
}
|
|
2565
2714
|
},
|
|
2566
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.
|
|
2715
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.5.0": {
|
|
2567
2716
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2568
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.
|
|
2717
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.5.0",
|
|
2569
2718
|
"title": "HDF Extension Primitives",
|
|
2570
2719
|
"description": "Extension types for waivers, attestations, generators, and integrity.",
|
|
2571
2720
|
"$defs": {
|
|
@@ -2592,16 +2741,23 @@
|
|
|
2592
2741
|
}
|
|
2593
2742
|
],
|
|
2594
2743
|
"properties": {
|
|
2744
|
+
"externalReferences": {
|
|
2745
|
+
"type": "array",
|
|
2746
|
+
"items": {
|
|
2747
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/External_Reference"
|
|
2748
|
+
},
|
|
2749
|
+
"description": "Optional references to the external artifacts behind this override (e.g. the STIX bundle/object or CTI feed motivating an E:A riskAdjustment). Inert context distinct from `evidence`; see External_Reference. Symmetric with Standalone_Override.externalReferences for the inline (results-embedded) override carrier."
|
|
2750
|
+
},
|
|
2595
2751
|
"type": {
|
|
2596
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
2752
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.5.0#/$defs/Override_Type",
|
|
2597
2753
|
"description": "The type of override applied to this requirement."
|
|
2598
2754
|
},
|
|
2599
2755
|
"status": {
|
|
2600
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
2756
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.5.0#/$defs/Result_Status",
|
|
2601
2757
|
"description": "The new status this override sets for the requirement. Optional when only impact is being overridden."
|
|
2602
2758
|
},
|
|
2603
2759
|
"impact": {
|
|
2604
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
2760
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.5.0#/$defs/Impact_Override",
|
|
2605
2761
|
"description": "Override to the requirement's impact score. At least one of status or impact must be set."
|
|
2606
2762
|
},
|
|
2607
2763
|
"reason": {
|
|
@@ -2609,7 +2765,7 @@
|
|
|
2609
2765
|
"description": "Explanation for why this override was applied."
|
|
2610
2766
|
},
|
|
2611
2767
|
"appliedBy": {
|
|
2612
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2768
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Identity",
|
|
2613
2769
|
"description": "Identity of who applied this override. For simple cases, use type 'simple' with just an identifier."
|
|
2614
2770
|
},
|
|
2615
2771
|
"appliedAt": {
|
|
@@ -2623,27 +2779,27 @@
|
|
|
2623
2779
|
"description": "Timestamp when this override expires and must be reviewed/renewed. REQUIRED - no permanent overrides allowed. ISO 8601 format."
|
|
2624
2780
|
},
|
|
2625
2781
|
"signature": {
|
|
2626
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2782
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Signature",
|
|
2627
2783
|
"description": "Optional digital signature for enhanced trust and non-repudiation. Supports hardware security tokens (PKCS#11/PKCS#12), Yubikeys, GPG keys, passkeys, and other signing methods."
|
|
2628
2784
|
},
|
|
2629
2785
|
"evidence": {
|
|
2630
2786
|
"type": "array",
|
|
2631
2787
|
"items": {
|
|
2632
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2788
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Evidence"
|
|
2633
2789
|
},
|
|
2634
2790
|
"description": "Supporting evidence for this override, such as screenshots demonstrating manual verification for attestations."
|
|
2635
2791
|
},
|
|
2636
2792
|
"previousChecksum": {
|
|
2637
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2793
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Checksum",
|
|
2638
2794
|
"description": "SHA-256 checksum of the previous amendment in chronological order. Creates a tamper-evident chain of amendments (similar to blockchain). Null for the first amendment on a requirement."
|
|
2639
2795
|
},
|
|
2640
2796
|
"cvss": {
|
|
2641
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/cvss/v3.
|
|
2797
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/cvss/v3.5.0#/$defs/Cvss",
|
|
2642
2798
|
"$comment": "When present alongside impact.value on a riskAdjustment override, impact.value should be approximately cvss.computedScore / 10.0. Soft consistency rule — validators may warn but should not error. The cvss block makes Environmental/Threat enrichment auditable.",
|
|
2643
2799
|
"description": "Structured CVSS scoring data backing this override. Captures the rubric (which Environmental/Threat metrics the consumer modified, the recomputed score) used to justify a riskAdjustment. For other override types this is optional context."
|
|
2644
2800
|
},
|
|
2645
2801
|
"justification": {
|
|
2646
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
2802
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.5.0#/$defs/Justification",
|
|
2647
2803
|
"description": "Structured controlled-vocabulary classification for why this override applies. Complements (does not replace) the free-text 'reason' field. Most useful on falsePositive and attestation overrides where the structured category enables filtering and lossless round-trip with VEX / OSCAL / FedRAMP DR. See the Justification primitive for the precedent vocabulary and rationale."
|
|
2648
2804
|
}
|
|
2649
2805
|
},
|
|
@@ -2672,6 +2828,34 @@
|
|
|
2672
2828
|
"appliedAt": "2026-04-14T10:00:00Z",
|
|
2673
2829
|
"expiresAt": "2026-10-14T00:00:00Z"
|
|
2674
2830
|
},
|
|
2831
|
+
{
|
|
2832
|
+
"$comment": "Inline riskAdjustment carrying the STIX source that motivated it via externalReferences (the enrichment envelope, with the raw sighting embedded losslessly in document). This is the shape the enrich pass writes onto Evaluated_Requirement.overrides[] for the E:A recompute.",
|
|
2833
|
+
"type": "riskAdjustment",
|
|
2834
|
+
"impact": {
|
|
2835
|
+
"value": 0.9
|
|
2836
|
+
},
|
|
2837
|
+
"reason": "CVE-2021-44228 actively exploited in the wild per STIX threat intelligence",
|
|
2838
|
+
"appliedBy": {
|
|
2839
|
+
"identifier": "secops@agency.gov",
|
|
2840
|
+
"type": "email"
|
|
2841
|
+
},
|
|
2842
|
+
"appliedAt": "2026-07-27T00:00:00Z",
|
|
2843
|
+
"expiresAt": "2026-10-25T00:00:00Z",
|
|
2844
|
+
"externalReferences": [
|
|
2845
|
+
{
|
|
2846
|
+
"sourceName": "stix",
|
|
2847
|
+
"externalId": "sighting--a1b2c3d4-0000-4a2b-9c3d-000000000002",
|
|
2848
|
+
"kind": "threat-intel",
|
|
2849
|
+
"rel": "evidence",
|
|
2850
|
+
"document": {
|
|
2851
|
+
"type": "sighting",
|
|
2852
|
+
"spec_version": "2.1",
|
|
2853
|
+
"id": "sighting--a1b2c3d4-0000-4a2b-9c3d-000000000002",
|
|
2854
|
+
"sighting_of_ref": "vulnerability--f7c1b8e0-1234-4a2b-9c3d-000000000001"
|
|
2855
|
+
}
|
|
2856
|
+
}
|
|
2857
|
+
]
|
|
2858
|
+
},
|
|
2675
2859
|
{
|
|
2676
2860
|
"type": "falsePositive",
|
|
2677
2861
|
"status": "passed",
|
|
@@ -2731,7 +2915,8 @@
|
|
|
2731
2915
|
"type",
|
|
2732
2916
|
"explanation",
|
|
2733
2917
|
"appliedBy",
|
|
2734
|
-
"appliedAt"
|
|
2918
|
+
"appliedAt",
|
|
2919
|
+
"expiresAt"
|
|
2735
2920
|
],
|
|
2736
2921
|
"properties": {
|
|
2737
2922
|
"type": {
|
|
@@ -2750,7 +2935,7 @@
|
|
|
2750
2935
|
"description": "Detailed explanation of the plan, including what actions will be taken."
|
|
2751
2936
|
},
|
|
2752
2937
|
"appliedBy": {
|
|
2753
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2938
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Identity",
|
|
2754
2939
|
"description": "Identity of who created this POA&M. For simple cases, use type 'simple' with just an identifier."
|
|
2755
2940
|
},
|
|
2756
2941
|
"appliedAt": {
|
|
@@ -2761,28 +2946,28 @@
|
|
|
2761
2946
|
"expiresAt": {
|
|
2762
2947
|
"type": "string",
|
|
2763
2948
|
"format": "date-time",
|
|
2764
|
-
"description": "
|
|
2949
|
+
"description": "Required deadline for this POA&M. A POA&M is a time-boxed acceptance of an open finding; without a deadline it lets a failing requirement duck remediation indefinitely. Source a real date (e.g. a remediation target or vendor-fix date) — never a wall-clock default. ISO 8601 format."
|
|
2765
2950
|
},
|
|
2766
2951
|
"milestones": {
|
|
2767
2952
|
"type": "array",
|
|
2768
2953
|
"items": {
|
|
2769
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2954
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Milestone"
|
|
2770
2955
|
},
|
|
2771
2956
|
"description": "Optional array of milestones tracking progress toward completion."
|
|
2772
2957
|
},
|
|
2773
2958
|
"signature": {
|
|
2774
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2959
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Signature",
|
|
2775
2960
|
"description": "Optional digital signature for enhanced trust and non-repudiation."
|
|
2776
2961
|
},
|
|
2777
2962
|
"evidence": {
|
|
2778
2963
|
"type": "array",
|
|
2779
2964
|
"items": {
|
|
2780
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2965
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Evidence"
|
|
2781
2966
|
},
|
|
2782
2967
|
"description": "Supporting evidence for this POA&M, such as documentation of compensating controls or mitigation implementation."
|
|
2783
2968
|
},
|
|
2784
2969
|
"previousChecksum": {
|
|
2785
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2970
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Checksum",
|
|
2786
2971
|
"description": "SHA-256 checksum of the previous amendment in chronological order. Creates a tamper-evident chain of amendments (similar to blockchain). Null for the first amendment on a requirement."
|
|
2787
2972
|
}
|
|
2788
2973
|
},
|
|
@@ -2795,6 +2980,7 @@
|
|
|
2795
2980
|
"type": "email"
|
|
2796
2981
|
},
|
|
2797
2982
|
"appliedAt": "2025-12-01T09:00:00Z",
|
|
2983
|
+
"expiresAt": "2099-12-31T00:00:00Z",
|
|
2798
2984
|
"milestones": [
|
|
2799
2985
|
{
|
|
2800
2986
|
"description": "Update base Docker image to use OpenSSL 3.0.x",
|
|
@@ -2827,7 +3013,7 @@
|
|
|
2827
3013
|
"description": "Automated POA&M creation from vulnerability scan"
|
|
2828
3014
|
},
|
|
2829
3015
|
"appliedAt": "2025-11-28T14:00:00Z",
|
|
2830
|
-
"expiresAt": "
|
|
3016
|
+
"expiresAt": "2099-12-31T00:00:00Z",
|
|
2831
3017
|
"milestones": [
|
|
2832
3018
|
{
|
|
2833
3019
|
"description": "Configure firewall rules to restrict database access to management VLAN",
|
|
@@ -2862,7 +3048,7 @@
|
|
|
2862
3048
|
"type": "email"
|
|
2863
3049
|
},
|
|
2864
3050
|
"appliedAt": "2025-12-05T10:00:00Z",
|
|
2865
|
-
"expiresAt": "
|
|
3051
|
+
"expiresAt": "2099-12-31T00:00:00Z",
|
|
2866
3052
|
"milestones": [
|
|
2867
3053
|
{
|
|
2868
3054
|
"description": "Complete migration to replacement system",
|
|
@@ -2914,7 +3100,8 @@
|
|
|
2914
3100
|
},
|
|
2915
3101
|
"format": {
|
|
2916
3102
|
"type": "string",
|
|
2917
|
-
"description": "The
|
|
3103
|
+
"description": "The named format of the source data, when it follows a recognized format specification with its own identity: an interchange format emitted by many tools ('SARIF', 'XCCDF', 'OSCAL') or one of several named output formats a single tool produces ('FVDL', 'exec-json', 'FPF'). Never a serialization structure — 'JSON', 'XML', and 'CSV' are encodings, not formats. Omit for a tool's native output: an absent format means the tool's own shape, and data arriving as a named format is converted by that format's converter, which sets this field alongside the producing tool's name.",
|
|
3104
|
+
"$comment": "Format-not-serialization rule decided 2026-08-01; bare JSON/XML/CSV labels were swept from the converters at the same time."
|
|
2918
3105
|
}
|
|
2919
3106
|
},
|
|
2920
3107
|
"description": "The security tool that produced the assessment data represented in this HDF file. Aligns with SARIF, OSCAL, and CycloneDX terminology.",
|
|
@@ -2933,7 +3120,7 @@
|
|
|
2933
3120
|
},
|
|
2934
3121
|
"properties": {
|
|
2935
3122
|
"algorithm": {
|
|
2936
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
3123
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Hash_Algorithm",
|
|
2937
3124
|
"description": "The hash algorithm used for the checksum."
|
|
2938
3125
|
},
|
|
2939
3126
|
"checksum": {
|
|
@@ -2966,9 +3153,9 @@
|
|
|
2966
3153
|
}
|
|
2967
3154
|
}
|
|
2968
3155
|
},
|
|
2969
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
3156
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.5.0": {
|
|
2970
3157
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2971
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
3158
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.5.0",
|
|
2972
3159
|
"title": "HDF Amendment Primitives",
|
|
2973
3160
|
"description": "Types for waivers, attestations, and POA&Ms that modify requirement compliance status.",
|
|
2974
3161
|
"$defs": {
|
|
@@ -3076,6 +3263,13 @@
|
|
|
3076
3263
|
]
|
|
3077
3264
|
},
|
|
3078
3265
|
"properties": {
|
|
3266
|
+
"externalReferences": {
|
|
3267
|
+
"type": "array",
|
|
3268
|
+
"items": {
|
|
3269
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/External_Reference"
|
|
3270
|
+
},
|
|
3271
|
+
"description": "Optional references to the external artifacts behind this override (e.g. the STIX bundle/object, advisory, or CTI feed that motivated it). Inert context distinct from `evidence`; see External_Reference."
|
|
3272
|
+
},
|
|
3079
3273
|
"type": {
|
|
3080
3274
|
"$ref": "#/$defs/Override_Type",
|
|
3081
3275
|
"description": "The type of amendment."
|
|
@@ -3089,7 +3283,7 @@
|
|
|
3089
3283
|
"description": "Name of the baseline containing the requirement. Required when the system has multiple baselines with potentially overlapping requirement IDs."
|
|
3090
3284
|
},
|
|
3091
3285
|
"status": {
|
|
3092
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
3286
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.5.0#/$defs/Result_Status",
|
|
3093
3287
|
"description": "The new status this amendment sets. Optional when only impact is being overridden."
|
|
3094
3288
|
},
|
|
3095
3289
|
"impact": {
|
|
@@ -3101,7 +3295,7 @@
|
|
|
3101
3295
|
"description": "Justification for this amendment."
|
|
3102
3296
|
},
|
|
3103
3297
|
"appliedBy": {
|
|
3104
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
3298
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Identity",
|
|
3105
3299
|
"description": "Identity of who applied this amendment."
|
|
3106
3300
|
},
|
|
3107
3301
|
"appliedAt": {
|
|
@@ -3117,20 +3311,20 @@
|
|
|
3117
3311
|
"evidence": {
|
|
3118
3312
|
"type": "array",
|
|
3119
3313
|
"items": {
|
|
3120
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
3314
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Evidence"
|
|
3121
3315
|
},
|
|
3122
3316
|
"description": "Supporting evidence (screenshots, logs, URLs, documents)."
|
|
3123
3317
|
},
|
|
3124
3318
|
"signature": {
|
|
3125
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
3319
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Signature",
|
|
3126
3320
|
"description": "Digital signature for non-repudiation."
|
|
3127
3321
|
},
|
|
3128
3322
|
"previousChecksum": {
|
|
3129
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
3323
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Checksum",
|
|
3130
3324
|
"description": "Checksum of the prior amendment in the chain. Creates a tamper-evident linked list. Null for the first amendment."
|
|
3131
3325
|
},
|
|
3132
3326
|
"cvss": {
|
|
3133
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/cvss/v3.
|
|
3327
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/cvss/v3.5.0#/$defs/Cvss",
|
|
3134
3328
|
"$comment": "When present alongside impact.value on a riskAdjustment override, impact.value should be approximately cvss.computedScore / 10.0. Soft consistency rule — validators may warn but should not error. The cvss block makes Environmental/Threat enrichment auditable.",
|
|
3135
3329
|
"description": "Structured CVSS scoring data backing this override. Captures the rubric (which Environmental/Threat metrics the consumer modified, the recomputed score) used to justify a riskAdjustment. For other override types this is optional context."
|
|
3136
3330
|
},
|
|
@@ -3141,7 +3335,7 @@
|
|
|
3141
3335
|
"milestones": {
|
|
3142
3336
|
"type": "array",
|
|
3143
3337
|
"items": {
|
|
3144
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
3338
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.5.0#/$defs/Milestone"
|
|
3145
3339
|
},
|
|
3146
3340
|
"description": "Remediation milestones (primarily for POA&M type amendments)."
|
|
3147
3341
|
},
|
|
@@ -3158,7 +3352,7 @@
|
|
|
3158
3352
|
"affectedPackages": {
|
|
3159
3353
|
"type": "array",
|
|
3160
3354
|
"items": {
|
|
3161
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/affected-package/v3.
|
|
3355
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/affected-package/v3.5.0#/$defs/Affected_Package"
|
|
3162
3356
|
},
|
|
3163
3357
|
"description": "Software packages this amendment is scoped to, distinct from componentRef (which scopes to an HDF-internal Component by UUID). Use when the source amendment format references packages by purl/cpe/name+version — e.g., VEX `affects[]` / `products[]`, OSCAL POA&M `subjects[]`, FedRAMP component-aware amendments. Symmetric with Evaluated_Requirement.affectedPackages, which scopes findings to the same package vocabulary. When omitted, the amendment applies system-wide (or only to componentRef when that is set)."
|
|
3164
3358
|
}
|
|
@@ -3291,9 +3485,9 @@
|
|
|
3291
3485
|
}
|
|
3292
3486
|
}
|
|
3293
3487
|
},
|
|
3294
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
3488
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.5.0": {
|
|
3295
3489
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3296
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
3490
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.5.0",
|
|
3297
3491
|
"title": "HDF Result Primitives",
|
|
3298
3492
|
"description": "Types for representing assessment results and statuses.",
|
|
3299
3493
|
"$defs": {
|
|
@@ -3424,9 +3618,9 @@
|
|
|
3424
3618
|
}
|
|
3425
3619
|
}
|
|
3426
3620
|
},
|
|
3427
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/cvss/v3.
|
|
3621
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/cvss/v3.5.0": {
|
|
3428
3622
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3429
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/cvss/v3.
|
|
3623
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/cvss/v3.5.0",
|
|
3430
3624
|
"title": "HDF CVSS Primitives",
|
|
3431
3625
|
"description": "Types for representing CVSS (Common Vulnerability Scoring System) data attached to assessment findings. Supports CVSS v2.0, v3.0, v3.1, and v4.0 metric groups (Base, Threat, Environmental, Supplemental).",
|
|
3432
3626
|
"$defs": {
|
|
@@ -3628,9 +3822,9 @@
|
|
|
3628
3822
|
}
|
|
3629
3823
|
}
|
|
3630
3824
|
},
|
|
3631
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/affected-package/v3.
|
|
3825
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/affected-package/v3.5.0": {
|
|
3632
3826
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3633
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/affected-package/v3.
|
|
3827
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/affected-package/v3.5.0",
|
|
3634
3828
|
"title": "HDF Affected Package Primitives",
|
|
3635
3829
|
"description": "Types for representing the software package(s) affected by a vulnerability finding.",
|
|
3636
3830
|
"$defs": {
|