@mitre/hdf-schema 3.0.0 → 3.0.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 +14 -2
- package/dist/helpers.js +4 -44
- package/dist/schemas/hdf-amendments.schema.json +33 -33
- package/dist/schemas/hdf-baseline.schema.json +38 -38
- package/dist/schemas/hdf-comparison.schema.json +88 -88
- package/dist/schemas/hdf-evidence-package.schema.json +32 -32
- package/dist/schemas/hdf-plan.schema.json +38 -38
- package/dist/schemas/hdf-results.schema.json +67 -67
- package/dist/schemas/hdf-system.schema.json +47 -47
- package/package.json +2 -1
- package/src/schemas/hdf-amendments.schema.json +7 -7
- package/src/schemas/hdf-baseline.schema.json +10 -10
- package/src/schemas/hdf-comparison.schema.json +13 -13
- package/src/schemas/hdf-evidence-package.schema.json +6 -6
- package/src/schemas/hdf-plan.schema.json +6 -6
- package/src/schemas/hdf-results.schema.json +24 -24
- package/src/schemas/hdf-system.schema.json +9 -9
- package/src/schemas/primitives/amendments.schema.json +7 -7
- package/src/schemas/primitives/common.schema.json +1 -1
- package/src/schemas/primitives/comparison.schema.json +6 -6
- package/src/schemas/primitives/component.schema.json +6 -6
- package/src/schemas/primitives/data-flow.schema.json +1 -1
- package/src/schemas/primitives/extensions.schema.json +13 -13
- package/src/schemas/primitives/parameter.schema.json +1 -1
- package/src/schemas/primitives/plan.schema.json +2 -2
- package/src/schemas/primitives/platform.schema.json +1 -1
- package/src/schemas/primitives/result.schema.json +1 -1
- package/src/schemas/primitives/runner.schema.json +2 -2
- package/src/schemas/primitives/statistics.schema.json +1 -1
- package/src/schemas/primitives/system.schema.json +2 -2
- package/src/schemas/primitives/target.schema.json +3 -3
|
@@ -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/
|
|
3
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/hdf-system/v3.0.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",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"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
17
|
},
|
|
18
18
|
"owner": {
|
|
19
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
19
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
20
20
|
"description": "Team or individual responsible for this system's authorization and compliance. Maps to OSCAL responsible-party with role 'system-owner'."
|
|
21
21
|
},
|
|
22
22
|
"name": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"description": "Description of the system's purpose and mission."
|
|
38
38
|
},
|
|
39
39
|
"authorizationStatus": {
|
|
40
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/
|
|
40
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.0.0#/$defs/Authorization_Status",
|
|
41
41
|
"description": "Current Authorization to Operate (ATO) status."
|
|
42
42
|
},
|
|
43
43
|
"authorizationDate": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"description": "Date the current authorization status was granted. ISO 8601 format."
|
|
47
47
|
},
|
|
48
48
|
"categorizationLevel": {
|
|
49
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/
|
|
49
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.0.0#/$defs/Categorization_Level",
|
|
50
50
|
"description": "FIPS 199 security categorization (impact level)."
|
|
51
51
|
},
|
|
52
52
|
"boundaryDescription": {
|
|
@@ -57,21 +57,21 @@
|
|
|
57
57
|
"type": "array",
|
|
58
58
|
"minItems": 1,
|
|
59
59
|
"items": {
|
|
60
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/component/
|
|
60
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.0.0#/$defs/Component"
|
|
61
61
|
},
|
|
62
62
|
"description": "System components within the authorization boundary. Uses the full polymorphic Component type with stable identity (componentId), external references, and SBOM support."
|
|
63
63
|
},
|
|
64
64
|
"controlDesignations": {
|
|
65
65
|
"type": "array",
|
|
66
66
|
"items": {
|
|
67
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/
|
|
67
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.0.0#/$defs/Control_Designation"
|
|
68
68
|
},
|
|
69
69
|
"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
70
|
},
|
|
71
71
|
"dataFlows": {
|
|
72
72
|
"type": "array",
|
|
73
73
|
"items": {
|
|
74
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/
|
|
74
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.0.0#/$defs/Data_Flow"
|
|
75
75
|
},
|
|
76
76
|
"description": "Inter-component data flows describing how components communicate. Supports local, cross-system, and external flows. Replaces the interconnections[] field."
|
|
77
77
|
},
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"description": "Optional key-value labels for grouping and querying systems."
|
|
84
84
|
},
|
|
85
85
|
"integrity": {
|
|
86
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
86
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
|
|
87
87
|
"description": "Cryptographic integrity information for verifying this system document has not been tampered with."
|
|
88
88
|
},
|
|
89
89
|
"version": {
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"description": "Version of this system document."
|
|
92
92
|
},
|
|
93
93
|
"generator": {
|
|
94
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
94
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
|
|
95
95
|
"description": "Information about the tool that generated this system document."
|
|
96
96
|
}
|
|
97
97
|
},
|
|
@@ -139,9 +139,9 @@
|
|
|
139
139
|
}
|
|
140
140
|
],
|
|
141
141
|
"$defs": {
|
|
142
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
142
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0": {
|
|
143
143
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
144
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
144
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0",
|
|
145
145
|
"title": "HDF Common Primitives",
|
|
146
146
|
"description": "Shared building blocks used by hdf-results and hdf-baseline schemas.",
|
|
147
147
|
"$defs": {
|
|
@@ -957,9 +957,9 @@
|
|
|
957
957
|
}
|
|
958
958
|
}
|
|
959
959
|
},
|
|
960
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/system/
|
|
960
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.0.0": {
|
|
961
961
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
962
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/system/
|
|
962
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.0.0",
|
|
963
963
|
"title": "HDF System Primitives",
|
|
964
964
|
"description": "Types for describing system architecture, authorization boundaries, and components.",
|
|
965
965
|
"$defs": {
|
|
@@ -1010,7 +1010,7 @@
|
|
|
1010
1010
|
"description": "Rationale for why this override is needed."
|
|
1011
1011
|
},
|
|
1012
1012
|
"approvedBy": {
|
|
1013
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1013
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
1014
1014
|
"description": "Identity of the person or system that approved this override."
|
|
1015
1015
|
}
|
|
1016
1016
|
},
|
|
@@ -1091,9 +1091,9 @@
|
|
|
1091
1091
|
}
|
|
1092
1092
|
}
|
|
1093
1093
|
},
|
|
1094
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/component/
|
|
1094
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.0.0": {
|
|
1095
1095
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1096
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/component/
|
|
1096
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.0.0",
|
|
1097
1097
|
"title": "HDF Component Primitives",
|
|
1098
1098
|
"description": "First-class system component with identity, polymorphic type, SBOM embedding, and system-binding properties. Components are the successor to Targets, adding stable identity (componentId), external system cross-references, and software inventory.",
|
|
1099
1099
|
"$defs": {
|
|
@@ -1123,7 +1123,7 @@
|
|
|
1123
1123
|
"description": "Description of this component's role or purpose."
|
|
1124
1124
|
},
|
|
1125
1125
|
"owner": {
|
|
1126
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1126
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
1127
1127
|
"description": "Team or individual responsible for this component. Enables per-component ownership when different teams manage different parts of a system."
|
|
1128
1128
|
},
|
|
1129
1129
|
"externalIds": {
|
|
@@ -1167,12 +1167,12 @@
|
|
|
1167
1167
|
"inputOverrides": {
|
|
1168
1168
|
"type": "array",
|
|
1169
1169
|
"items": {
|
|
1170
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/
|
|
1170
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.0.0#/$defs/Input_Override"
|
|
1171
1171
|
},
|
|
1172
1172
|
"description": "System-specific overrides for baseline input values."
|
|
1173
1173
|
},
|
|
1174
1174
|
"targetSelector": {
|
|
1175
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/
|
|
1175
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.0.0#/$defs/Target_Selector",
|
|
1176
1176
|
"description": "Label selector to match targets belonging to this component during migration. Targets with matching labels are automatically included."
|
|
1177
1177
|
}
|
|
1178
1178
|
},
|
|
@@ -1492,7 +1492,7 @@
|
|
|
1492
1492
|
"const": "cloudAccount"
|
|
1493
1493
|
},
|
|
1494
1494
|
"provider": {
|
|
1495
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1495
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Cloud_Provider",
|
|
1496
1496
|
"description": "Cloud provider."
|
|
1497
1497
|
},
|
|
1498
1498
|
"accountId": {
|
|
@@ -1531,7 +1531,7 @@
|
|
|
1531
1531
|
"const": "cloudResource"
|
|
1532
1532
|
},
|
|
1533
1533
|
"provider": {
|
|
1534
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1534
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Cloud_Provider",
|
|
1535
1535
|
"description": "Cloud provider."
|
|
1536
1536
|
},
|
|
1537
1537
|
"resourceType": {
|
|
@@ -1711,9 +1711,9 @@
|
|
|
1711
1711
|
}
|
|
1712
1712
|
}
|
|
1713
1713
|
},
|
|
1714
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/
|
|
1714
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.0.0": {
|
|
1715
1715
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1716
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/
|
|
1716
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.0.0",
|
|
1717
1717
|
"title": "HDF Data Flow Primitives",
|
|
1718
1718
|
"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.",
|
|
1719
1719
|
"$defs": {
|
|
@@ -1869,9 +1869,9 @@
|
|
|
1869
1869
|
}
|
|
1870
1870
|
}
|
|
1871
1871
|
},
|
|
1872
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
1872
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0": {
|
|
1873
1873
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1874
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
1874
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0",
|
|
1875
1875
|
"title": "HDF Extension Primitives",
|
|
1876
1876
|
"description": "Extension types for waivers, attestations, generators, and integrity.",
|
|
1877
1877
|
"$defs": {
|
|
@@ -1888,11 +1888,11 @@
|
|
|
1888
1888
|
],
|
|
1889
1889
|
"properties": {
|
|
1890
1890
|
"type": {
|
|
1891
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/
|
|
1891
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0#/$defs/Override_Type",
|
|
1892
1892
|
"description": "The type of status override applied to this requirement."
|
|
1893
1893
|
},
|
|
1894
1894
|
"status": {
|
|
1895
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/
|
|
1895
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0#/$defs/Result_Status",
|
|
1896
1896
|
"description": "The new status this override sets for the requirement. This intentionally changes the compliance status."
|
|
1897
1897
|
},
|
|
1898
1898
|
"reason": {
|
|
@@ -1900,7 +1900,7 @@
|
|
|
1900
1900
|
"description": "Explanation for why this status override was applied."
|
|
1901
1901
|
},
|
|
1902
1902
|
"appliedBy": {
|
|
1903
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1903
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
1904
1904
|
"description": "Identity of who applied this status override. For simple cases, use type 'simple' with just an identifier."
|
|
1905
1905
|
},
|
|
1906
1906
|
"appliedAt": {
|
|
@@ -1914,18 +1914,18 @@
|
|
|
1914
1914
|
"description": "Timestamp when this status override expires and must be reviewed/renewed. REQUIRED - no permanent status overrides allowed. ISO 8601 format."
|
|
1915
1915
|
},
|
|
1916
1916
|
"signature": {
|
|
1917
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1917
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
|
|
1918
1918
|
"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."
|
|
1919
1919
|
},
|
|
1920
1920
|
"evidence": {
|
|
1921
1921
|
"type": "array",
|
|
1922
1922
|
"items": {
|
|
1923
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1923
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
|
|
1924
1924
|
},
|
|
1925
1925
|
"description": "Supporting evidence for this status override, such as screenshots demonstrating manual verification for attestations."
|
|
1926
1926
|
},
|
|
1927
1927
|
"previousChecksum": {
|
|
1928
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1928
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
|
|
1929
1929
|
"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."
|
|
1930
1930
|
}
|
|
1931
1931
|
},
|
|
@@ -1995,7 +1995,7 @@
|
|
|
1995
1995
|
"description": "Detailed explanation of the plan, including what actions will be taken."
|
|
1996
1996
|
},
|
|
1997
1997
|
"appliedBy": {
|
|
1998
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1998
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
1999
1999
|
"description": "Identity of who created this POA&M. For simple cases, use type 'simple' with just an identifier."
|
|
2000
2000
|
},
|
|
2001
2001
|
"appliedAt": {
|
|
@@ -2011,23 +2011,23 @@
|
|
|
2011
2011
|
"milestones": {
|
|
2012
2012
|
"type": "array",
|
|
2013
2013
|
"items": {
|
|
2014
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2014
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Milestone"
|
|
2015
2015
|
},
|
|
2016
2016
|
"description": "Optional array of milestones tracking progress toward completion."
|
|
2017
2017
|
},
|
|
2018
2018
|
"signature": {
|
|
2019
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2019
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
|
|
2020
2020
|
"description": "Optional digital signature for enhanced trust and non-repudiation."
|
|
2021
2021
|
},
|
|
2022
2022
|
"evidence": {
|
|
2023
2023
|
"type": "array",
|
|
2024
2024
|
"items": {
|
|
2025
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2025
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
|
|
2026
2026
|
},
|
|
2027
2027
|
"description": "Supporting evidence for this POA&M, such as documentation of compensating controls or mitigation implementation."
|
|
2028
2028
|
},
|
|
2029
2029
|
"previousChecksum": {
|
|
2030
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2030
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
|
|
2031
2031
|
"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."
|
|
2032
2032
|
}
|
|
2033
2033
|
},
|
|
@@ -2178,7 +2178,7 @@
|
|
|
2178
2178
|
},
|
|
2179
2179
|
"properties": {
|
|
2180
2180
|
"algorithm": {
|
|
2181
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2181
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Hash_Algorithm",
|
|
2182
2182
|
"description": "The hash algorithm used for the checksum."
|
|
2183
2183
|
},
|
|
2184
2184
|
"checksum": {
|
|
@@ -2211,9 +2211,9 @@
|
|
|
2211
2211
|
}
|
|
2212
2212
|
}
|
|
2213
2213
|
},
|
|
2214
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/
|
|
2214
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0": {
|
|
2215
2215
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2216
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/
|
|
2216
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0",
|
|
2217
2217
|
"title": "HDF Amendment Primitives",
|
|
2218
2218
|
"description": "Types for waivers, attestations, exceptions, and POA&Ms that modify requirement compliance status.",
|
|
2219
2219
|
"$defs": {
|
|
@@ -2255,7 +2255,7 @@
|
|
|
2255
2255
|
"description": "Name of the baseline containing the requirement. Required when the system has multiple baselines with potentially overlapping requirement IDs."
|
|
2256
2256
|
},
|
|
2257
2257
|
"status": {
|
|
2258
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/
|
|
2258
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0#/$defs/Result_Status",
|
|
2259
2259
|
"description": "The new status this amendment sets. For POA&Ms, this is the current status (POA&Ms track work, they don't change status)."
|
|
2260
2260
|
},
|
|
2261
2261
|
"reason": {
|
|
@@ -2263,7 +2263,7 @@
|
|
|
2263
2263
|
"description": "Justification for this amendment."
|
|
2264
2264
|
},
|
|
2265
2265
|
"appliedBy": {
|
|
2266
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2266
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
2267
2267
|
"description": "Identity of who applied this amendment."
|
|
2268
2268
|
},
|
|
2269
2269
|
"appliedAt": {
|
|
@@ -2279,22 +2279,22 @@
|
|
|
2279
2279
|
"evidence": {
|
|
2280
2280
|
"type": "array",
|
|
2281
2281
|
"items": {
|
|
2282
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2282
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
|
|
2283
2283
|
},
|
|
2284
2284
|
"description": "Supporting evidence (screenshots, logs, URLs, documents)."
|
|
2285
2285
|
},
|
|
2286
2286
|
"signature": {
|
|
2287
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2287
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
|
|
2288
2288
|
"description": "Digital signature for non-repudiation."
|
|
2289
2289
|
},
|
|
2290
2290
|
"previousChecksum": {
|
|
2291
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2291
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
|
|
2292
2292
|
"description": "Checksum of the prior amendment in the chain. Creates a tamper-evident linked list. Null for the first amendment."
|
|
2293
2293
|
},
|
|
2294
2294
|
"milestones": {
|
|
2295
2295
|
"type": "array",
|
|
2296
2296
|
"items": {
|
|
2297
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
2297
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Milestone"
|
|
2298
2298
|
},
|
|
2299
2299
|
"description": "Remediation milestones (primarily for POA&M type amendments)."
|
|
2300
2300
|
},
|
|
@@ -2375,9 +2375,9 @@
|
|
|
2375
2375
|
}
|
|
2376
2376
|
}
|
|
2377
2377
|
},
|
|
2378
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/result/
|
|
2378
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0": {
|
|
2379
2379
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2380
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/
|
|
2380
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0",
|
|
2381
2381
|
"title": "HDF Result Primitives",
|
|
2382
2382
|
"description": "Types for representing assessment results and statuses.",
|
|
2383
2383
|
"$defs": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mitre/hdf-schema",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "JSON schemas and multi-language type definitions for Heimdall Data Format (HDF)",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
"author": "MITRE Corporation",
|
|
77
77
|
"license": "Apache-2.0",
|
|
78
78
|
"dependencies": {
|
|
79
|
+
"@mitre/hdf-utilities": "workspace:*",
|
|
79
80
|
"ajv": "^8.17.0",
|
|
80
81
|
"ajv-formats": "^3.0.0"
|
|
81
82
|
},
|
|
@@ -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-amendments/
|
|
3
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/hdf-amendments/v3.0.0",
|
|
4
4
|
"title": "HDF Amendments",
|
|
5
5
|
"description": "Waivers, attestations, exceptions, and POA&Ms that modify requirement compliance status. Amendments are standalone documents that can be applied to results via merge operations.",
|
|
6
6
|
"type": "object",
|
|
@@ -29,18 +29,18 @@
|
|
|
29
29
|
"description": "URI to the hdf-system document these amendments apply to."
|
|
30
30
|
},
|
|
31
31
|
"appliedBy": {
|
|
32
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
32
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
33
33
|
"description": "Default identity of who created this amendments document. Individual overrides may specify their own appliedBy."
|
|
34
34
|
},
|
|
35
35
|
"approvedBy": {
|
|
36
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
36
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
37
37
|
"description": "Identity of the authorizing official who approved these amendments."
|
|
38
38
|
},
|
|
39
39
|
"overrides": {
|
|
40
40
|
"type": "array",
|
|
41
41
|
"minItems": 1,
|
|
42
42
|
"items": {
|
|
43
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/
|
|
43
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0#/$defs/Standalone_Override"
|
|
44
44
|
},
|
|
45
45
|
"description": "The set of amendments (waivers, attestations, exceptions, POA&Ms)."
|
|
46
46
|
},
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
"description": "Optional key-value labels for grouping and querying amendments."
|
|
53
53
|
},
|
|
54
54
|
"integrity": {
|
|
55
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
55
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
|
|
56
56
|
"description": "Cryptographic integrity information for verifying this amendments document has not been tampered with."
|
|
57
57
|
},
|
|
58
58
|
"signature": {
|
|
59
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
59
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
|
|
60
60
|
"description": "Document-level digital signature covering all amendments."
|
|
61
61
|
},
|
|
62
62
|
"version": {
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"description": "Version of this amendments document."
|
|
65
65
|
},
|
|
66
66
|
"generator": {
|
|
67
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
67
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
|
|
68
68
|
"description": "Information about the tool that generated this document."
|
|
69
69
|
}
|
|
70
70
|
},
|
|
@@ -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-baseline/
|
|
3
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/hdf-baseline/v3.0.0",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"unevaluatedProperties": false,
|
|
6
6
|
"required": [
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
],
|
|
10
10
|
"allOf": [
|
|
11
11
|
{
|
|
12
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
12
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Baseline_Metadata"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"properties": {
|
|
@@ -24,34 +24,34 @@
|
|
|
24
24
|
"groups": {
|
|
25
25
|
"type": "array",
|
|
26
26
|
"items": {
|
|
27
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
27
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Requirement_Group"
|
|
28
28
|
},
|
|
29
29
|
"description": "A set of descriptions for the requirement groups."
|
|
30
30
|
},
|
|
31
31
|
"inputs": {
|
|
32
32
|
"type": "array",
|
|
33
33
|
"items": {
|
|
34
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/parameter/
|
|
34
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/parameter/v3.0.0#/$defs/Input"
|
|
35
35
|
},
|
|
36
36
|
"description": "The input(s) or attribute(s) to be used in the run."
|
|
37
37
|
},
|
|
38
38
|
"integrity": {
|
|
39
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
39
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
|
|
40
40
|
"description": "Cryptographic integrity information for verifying this baseline has not been tampered with."
|
|
41
41
|
},
|
|
42
42
|
"remediation": {
|
|
43
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
43
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Remediation",
|
|
44
44
|
"description": "Optional reference to automated remediation resources (Ansible playbooks, Terraform scripts, etc.) for implementing the security controls defined in this baseline."
|
|
45
45
|
},
|
|
46
46
|
"depends": {
|
|
47
47
|
"type": "array",
|
|
48
48
|
"items": {
|
|
49
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
49
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Dependency"
|
|
50
50
|
},
|
|
51
51
|
"description": "The set of dependencies this baseline depends on."
|
|
52
52
|
},
|
|
53
53
|
"generator": {
|
|
54
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
54
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
|
|
55
55
|
"description": "The tool that generated this file."
|
|
56
56
|
}
|
|
57
57
|
},
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
],
|
|
136
136
|
"allOf": [
|
|
137
137
|
{
|
|
138
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
138
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Requirement_Core"
|
|
139
139
|
}
|
|
140
140
|
],
|
|
141
141
|
"properties": {
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
"description": "Array of labeled descriptions. At least one description with label 'default' must be present. Convention: place default description first. Common labels: 'default', 'check', 'fix', 'rationale'."
|
|
145
145
|
},
|
|
146
146
|
"severity": {
|
|
147
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
147
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Severity",
|
|
148
148
|
"description": "Explicit severity rating. Typically derived from impact score but provided explicitly for clarity."
|
|
149
149
|
}
|
|
150
150
|
},
|
|
@@ -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-comparison/
|
|
3
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/hdf-comparison/v3.0.0",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"unevaluatedProperties": false,
|
|
6
6
|
"required": [
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"description": "Schema version for this comparison format."
|
|
18
18
|
},
|
|
19
19
|
"comparisonMode": {
|
|
20
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
20
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Comparison_Mode",
|
|
21
21
|
"description": "The mode of comparison being performed."
|
|
22
22
|
},
|
|
23
23
|
"timestamp": {
|
|
@@ -26,50 +26,50 @@
|
|
|
26
26
|
"description": "When this comparison was performed."
|
|
27
27
|
},
|
|
28
28
|
"generator": {
|
|
29
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
29
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
|
|
30
30
|
"description": "Information about the tool that generated this comparison."
|
|
31
31
|
},
|
|
32
32
|
"sources": {
|
|
33
33
|
"type": "array",
|
|
34
34
|
"minItems": 2,
|
|
35
35
|
"items": {
|
|
36
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
36
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Source"
|
|
37
37
|
},
|
|
38
38
|
"description": "The source documents being compared. At least two sources are required."
|
|
39
39
|
},
|
|
40
40
|
"matching": {
|
|
41
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
41
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Matching_Config",
|
|
42
42
|
"description": "Configuration for how requirements were matched across sources."
|
|
43
43
|
},
|
|
44
44
|
"summary": {
|
|
45
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
45
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Comparison_Summary",
|
|
46
46
|
"description": "Summary statistics for the overall comparison."
|
|
47
47
|
},
|
|
48
48
|
"baselineDiffs": {
|
|
49
49
|
"type": "array",
|
|
50
50
|
"items": {
|
|
51
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
51
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Baseline_Diff"
|
|
52
52
|
},
|
|
53
53
|
"description": "Comparison of baselines between sources."
|
|
54
54
|
},
|
|
55
55
|
"requirementDiffs": {
|
|
56
56
|
"type": "array",
|
|
57
57
|
"items": {
|
|
58
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
58
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Requirement_Diff"
|
|
59
59
|
},
|
|
60
60
|
"description": "Detailed comparison of individual requirements between sources."
|
|
61
61
|
},
|
|
62
62
|
"componentDiffs": {
|
|
63
63
|
"type": "array",
|
|
64
64
|
"items": {
|
|
65
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
65
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Component_Diff"
|
|
66
66
|
},
|
|
67
67
|
"description": "Comparison of components between two system documents. Used in systemDrift mode."
|
|
68
68
|
},
|
|
69
69
|
"packageDiffs": {
|
|
70
70
|
"type": "array",
|
|
71
71
|
"items": {
|
|
72
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
72
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Package_Diff"
|
|
73
73
|
},
|
|
74
74
|
"description": "Comparison of packages between two SBOMs. Used in systemDrift mode for SBOM comparison."
|
|
75
75
|
},
|
|
@@ -81,19 +81,19 @@
|
|
|
81
81
|
"drift": {
|
|
82
82
|
"type": "array",
|
|
83
83
|
"items": {
|
|
84
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
84
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Requirement_Diff"
|
|
85
85
|
},
|
|
86
86
|
"description": "External/metadata changes separate from status changes (Terraform pattern)."
|
|
87
87
|
},
|
|
88
88
|
"annotations": {
|
|
89
89
|
"type": "object",
|
|
90
90
|
"additionalProperties": {
|
|
91
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/
|
|
91
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Annotation"
|
|
92
92
|
},
|
|
93
93
|
"description": "Map of annotation IDs to annotation objects, providing context or action items for requirement diffs."
|
|
94
94
|
},
|
|
95
95
|
"integrity": {
|
|
96
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
96
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
|
|
97
97
|
"description": "Cryptographic integrity information for verifying this comparison document."
|
|
98
98
|
},
|
|
99
99
|
"extensions": {
|