@mitre/hdf-schema 3.0.1 → 3.1.0
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/LICENSE.md +55 -0
- package/README.md +83 -40
- package/dist/go/hdf.go +148 -104
- package/dist/index.d.ts +26 -1
- package/dist/index.js +26 -1
- package/dist/schemas/hdf-amendments.schema.json +178 -53
- package/dist/schemas/hdf-baseline.schema.json +181 -56
- package/dist/schemas/hdf-comparison.schema.json +523 -108
- package/dist/schemas/hdf-evidence-package.schema.json +175 -50
- package/dist/schemas/hdf-plan.schema.json +181 -56
- package/dist/schemas/hdf-results.schema.json +502 -87
- package/dist/schemas/hdf-system.schema.json +190 -65
- package/dist/ts/hdf-amendments.d.ts +43 -15
- package/dist/ts/hdf-amendments.js +18 -7
- package/dist/ts/hdf-amendments.ts +44 -15
- package/dist/ts/hdf-results.d.ts +91 -37
- package/dist/ts/hdf-results.js +40 -20
- package/dist/ts/hdf-results.ts +91 -36
- package/package.json +44 -45
- package/dist/python/hdf_amendments.py +0 -695
- package/dist/python/hdf_baseline.py +0 -782
- package/dist/python/hdf_comparison.py +0 -1771
- package/dist/python/hdf_evidence_package.py +0 -593
- package/dist/python/hdf_plan.py +0 -363
- package/dist/python/hdf_results.py +0 -2163
- package/dist/python/hdf_system.py +0 -904
- package/src/schemas/hdf-amendments.schema.json +0 -97
- package/src/schemas/hdf-baseline.schema.json +0 -190
- package/src/schemas/hdf-comparison.schema.json +0 -107
- package/src/schemas/hdf-evidence-package.schema.json +0 -227
- package/src/schemas/hdf-plan.schema.json +0 -92
- package/src/schemas/hdf-results.schema.json +0 -304
- package/src/schemas/hdf-system.schema.json +0 -136
- package/src/schemas/primitives/amendments.schema.json +0 -155
- package/src/schemas/primitives/common.schema.json +0 -814
- package/src/schemas/primitives/comparison.schema.json +0 -809
- package/src/schemas/primitives/component.schema.json +0 -518
- package/src/schemas/primitives/data-flow.schema.json +0 -158
- package/src/schemas/primitives/extensions.schema.json +0 -342
- package/src/schemas/primitives/parameter.schema.json +0 -128
- package/src/schemas/primitives/plan.schema.json +0 -128
- package/src/schemas/primitives/platform.schema.json +0 -32
- package/src/schemas/primitives/result.schema.json +0 -133
- package/src/schemas/primitives/runner.schema.json +0 -83
- package/src/schemas/primitives/statistics.schema.json +0 -71
- package/src/schemas/primitives/system.schema.json +0 -132
- package/src/schemas/primitives/target.schema.json +0 -523
|
@@ -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.1.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/v3.
|
|
19
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.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/v3.
|
|
40
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.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/v3.
|
|
49
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.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/v3.
|
|
60
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.1.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/v3.
|
|
67
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.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/v3.
|
|
74
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.1.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/v3.
|
|
86
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.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/v3.
|
|
94
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.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/v3.
|
|
142
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0": {
|
|
143
143
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
144
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
144
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.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/v3.
|
|
960
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.0": {
|
|
961
961
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
962
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
962
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.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/v3.
|
|
1013
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.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/v3.
|
|
1094
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.1.0": {
|
|
1095
1095
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1096
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.
|
|
1096
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/component/v3.1.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/v3.
|
|
1126
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.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/v3.
|
|
1170
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.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/v3.
|
|
1175
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.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/v3.
|
|
1495
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.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/v3.
|
|
1534
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.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/v3.
|
|
1714
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.1.0": {
|
|
1715
1715
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1716
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.
|
|
1716
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/data-flow/v3.1.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/v3.
|
|
1872
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0": {
|
|
1873
1873
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1874
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.
|
|
1874
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0",
|
|
1875
1875
|
"title": "HDF Extension Primitives",
|
|
1876
1876
|
"description": "Extension types for waivers, attestations, generators, and integrity.",
|
|
1877
1877
|
"$defs": {
|
|
@@ -1880,52 +1880,67 @@
|
|
|
1880
1880
|
"unevaluatedProperties": false,
|
|
1881
1881
|
"required": [
|
|
1882
1882
|
"type",
|
|
1883
|
-
"status",
|
|
1884
1883
|
"reason",
|
|
1885
1884
|
"appliedBy",
|
|
1886
1885
|
"appliedAt",
|
|
1887
1886
|
"expiresAt"
|
|
1888
1887
|
],
|
|
1888
|
+
"anyOf": [
|
|
1889
|
+
{
|
|
1890
|
+
"required": [
|
|
1891
|
+
"status"
|
|
1892
|
+
]
|
|
1893
|
+
},
|
|
1894
|
+
{
|
|
1895
|
+
"required": [
|
|
1896
|
+
"impact"
|
|
1897
|
+
]
|
|
1898
|
+
}
|
|
1899
|
+
],
|
|
1889
1900
|
"properties": {
|
|
1890
1901
|
"type": {
|
|
1891
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
1892
|
-
"description": "The type of
|
|
1902
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0#/$defs/Override_Type",
|
|
1903
|
+
"description": "The type of override applied to this requirement."
|
|
1893
1904
|
},
|
|
1894
1905
|
"status": {
|
|
1895
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
1896
|
-
"description": "The new status this override sets for the requirement.
|
|
1906
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0#/$defs/Result_Status",
|
|
1907
|
+
"description": "The new status this override sets for the requirement. Optional when only impact is being overridden."
|
|
1908
|
+
},
|
|
1909
|
+
"impact": {
|
|
1910
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0#/$defs/Impact_Override",
|
|
1911
|
+
"description": "Override to the requirement's impact score. At least one of status or impact must be set."
|
|
1897
1912
|
},
|
|
1898
1913
|
"reason": {
|
|
1899
1914
|
"type": "string",
|
|
1900
|
-
"description": "Explanation for why this
|
|
1915
|
+
"description": "Explanation for why this override was applied."
|
|
1901
1916
|
},
|
|
1902
1917
|
"appliedBy": {
|
|
1903
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1904
|
-
"description": "Identity of who applied this
|
|
1918
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
|
|
1919
|
+
"description": "Identity of who applied this override. For simple cases, use type 'simple' with just an identifier."
|
|
1905
1920
|
},
|
|
1906
1921
|
"appliedAt": {
|
|
1907
1922
|
"type": "string",
|
|
1908
1923
|
"format": "date-time",
|
|
1909
|
-
"description": "Timestamp when this
|
|
1924
|
+
"description": "Timestamp when this override was applied. ISO 8601 format."
|
|
1910
1925
|
},
|
|
1911
1926
|
"expiresAt": {
|
|
1912
1927
|
"type": "string",
|
|
1913
1928
|
"format": "date-time",
|
|
1914
|
-
"description": "Timestamp when this
|
|
1929
|
+
"description": "Timestamp when this override expires and must be reviewed/renewed. REQUIRED - no permanent overrides allowed. ISO 8601 format."
|
|
1915
1930
|
},
|
|
1916
1931
|
"signature": {
|
|
1917
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1932
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
|
|
1918
1933
|
"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
1934
|
},
|
|
1920
1935
|
"evidence": {
|
|
1921
1936
|
"type": "array",
|
|
1922
1937
|
"items": {
|
|
1923
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1938
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Evidence"
|
|
1924
1939
|
},
|
|
1925
|
-
"description": "Supporting evidence for this
|
|
1940
|
+
"description": "Supporting evidence for this override, such as screenshots demonstrating manual verification for attestations."
|
|
1926
1941
|
},
|
|
1927
1942
|
"previousChecksum": {
|
|
1928
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1943
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
|
|
1929
1944
|
"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
1945
|
}
|
|
1931
1946
|
},
|
|
@@ -1941,6 +1956,41 @@
|
|
|
1941
1956
|
"appliedAt": "2025-12-01T10:00:00Z",
|
|
1942
1957
|
"expiresAt": "2026-12-01T00:00:00Z"
|
|
1943
1958
|
},
|
|
1959
|
+
{
|
|
1960
|
+
"type": "riskAdjustment",
|
|
1961
|
+
"impact": {
|
|
1962
|
+
"value": 0.3
|
|
1963
|
+
},
|
|
1964
|
+
"reason": "CVE-123 is in a dead code path, unreachable from any entry point",
|
|
1965
|
+
"appliedBy": {
|
|
1966
|
+
"identifier": "dev@org.gov",
|
|
1967
|
+
"type": "email"
|
|
1968
|
+
},
|
|
1969
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
1970
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
1971
|
+
},
|
|
1972
|
+
{
|
|
1973
|
+
"type": "falsePositive",
|
|
1974
|
+
"status": "passed",
|
|
1975
|
+
"reason": "STIG check misidentified sshd_config syntax; manual review confirms compliant configuration",
|
|
1976
|
+
"appliedBy": {
|
|
1977
|
+
"identifier": "assessor@agency.gov",
|
|
1978
|
+
"type": "email"
|
|
1979
|
+
},
|
|
1980
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
1981
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
1982
|
+
},
|
|
1983
|
+
{
|
|
1984
|
+
"type": "falsePositive",
|
|
1985
|
+
"status": "notApplicable",
|
|
1986
|
+
"reason": "CVE scanner matched library signature but the vulnerable code path is not present — dependency compiled with affected module disabled",
|
|
1987
|
+
"appliedBy": {
|
|
1988
|
+
"identifier": "dev@org.gov",
|
|
1989
|
+
"type": "email"
|
|
1990
|
+
},
|
|
1991
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
1992
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
1993
|
+
},
|
|
1944
1994
|
{
|
|
1945
1995
|
"type": "attestation",
|
|
1946
1996
|
"status": "passed",
|
|
@@ -1968,7 +2018,7 @@
|
|
|
1968
2018
|
]
|
|
1969
2019
|
}
|
|
1970
2020
|
],
|
|
1971
|
-
"description": "An intentional change to a requirement's compliance status
|
|
2021
|
+
"description": "An intentional change to a requirement's compliance status and/or impact score. At least one of status or impact must be set. Overrides change the effectiveStatus or impact of the requirement. All overrides must have an expiration date to enforce periodic review.",
|
|
1972
2022
|
"title": "Status Override"
|
|
1973
2023
|
},
|
|
1974
2024
|
"POAM": {
|
|
@@ -1986,16 +2036,17 @@
|
|
|
1986
2036
|
"enum": [
|
|
1987
2037
|
"remediation",
|
|
1988
2038
|
"mitigation",
|
|
1989
|
-
"riskAcceptance"
|
|
2039
|
+
"riskAcceptance",
|
|
2040
|
+
"vendorDependency"
|
|
1990
2041
|
],
|
|
1991
|
-
"description": "The type of POA&M. 'remediation' fixes root cause. 'mitigation' reduces risk via compensating controls. 'riskAcceptance' documents decision to accept risk."
|
|
2042
|
+
"description": "The type of POA&M. 'remediation' fixes root cause. 'mitigation' reduces risk via compensating controls. 'riskAcceptance' documents decision to accept risk. 'vendorDependency' tracks a fix that depends on a vendor releasing a patch or update."
|
|
1992
2043
|
},
|
|
1993
2044
|
"explanation": {
|
|
1994
2045
|
"type": "string",
|
|
1995
2046
|
"description": "Detailed explanation of the plan, including what actions will be taken."
|
|
1996
2047
|
},
|
|
1997
2048
|
"appliedBy": {
|
|
1998
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2049
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
|
|
1999
2050
|
"description": "Identity of who created this POA&M. For simple cases, use type 'simple' with just an identifier."
|
|
2000
2051
|
},
|
|
2001
2052
|
"appliedAt": {
|
|
@@ -2011,23 +2062,23 @@
|
|
|
2011
2062
|
"milestones": {
|
|
2012
2063
|
"type": "array",
|
|
2013
2064
|
"items": {
|
|
2014
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2065
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Milestone"
|
|
2015
2066
|
},
|
|
2016
2067
|
"description": "Optional array of milestones tracking progress toward completion."
|
|
2017
2068
|
},
|
|
2018
2069
|
"signature": {
|
|
2019
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2070
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
|
|
2020
2071
|
"description": "Optional digital signature for enhanced trust and non-repudiation."
|
|
2021
2072
|
},
|
|
2022
2073
|
"evidence": {
|
|
2023
2074
|
"type": "array",
|
|
2024
2075
|
"items": {
|
|
2025
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2076
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Evidence"
|
|
2026
2077
|
},
|
|
2027
2078
|
"description": "Supporting evidence for this POA&M, such as documentation of compensating controls or mitigation implementation."
|
|
2028
2079
|
},
|
|
2029
2080
|
"previousChecksum": {
|
|
2030
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2081
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
|
|
2031
2082
|
"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
2083
|
}
|
|
2033
2084
|
},
|
|
@@ -2178,7 +2229,7 @@
|
|
|
2178
2229
|
},
|
|
2179
2230
|
"properties": {
|
|
2180
2231
|
"algorithm": {
|
|
2181
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2232
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Hash_Algorithm",
|
|
2182
2233
|
"description": "The hash algorithm used for the checksum."
|
|
2183
2234
|
},
|
|
2184
2235
|
"checksum": {
|
|
@@ -2211,36 +2262,66 @@
|
|
|
2211
2262
|
}
|
|
2212
2263
|
}
|
|
2213
2264
|
},
|
|
2214
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
2265
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0": {
|
|
2215
2266
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2216
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
2267
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0",
|
|
2217
2268
|
"title": "HDF Amendment Primitives",
|
|
2218
|
-
"description": "Types for waivers, attestations,
|
|
2269
|
+
"description": "Types for waivers, attestations, and POA&Ms that modify requirement compliance status.",
|
|
2219
2270
|
"$defs": {
|
|
2220
2271
|
"Override_Type": {
|
|
2221
2272
|
"type": "string",
|
|
2222
2273
|
"enum": [
|
|
2223
2274
|
"waiver",
|
|
2224
2275
|
"attestation",
|
|
2225
|
-
"exception",
|
|
2226
2276
|
"poam",
|
|
2227
|
-
"inherited"
|
|
2277
|
+
"inherited",
|
|
2278
|
+
"falsePositive",
|
|
2279
|
+
"riskAdjustment",
|
|
2280
|
+
"operationalRequirement"
|
|
2228
2281
|
],
|
|
2229
|
-
"description": "The type of amendment. 'waiver': risk accepted
|
|
2282
|
+
"description": "The type of amendment, aligned with FedRAMP deviation request categories. 'waiver': risk accepted by Authorizing Official. 'attestation': manually verified by assessor. 'poam': remediation tracked (no status change). 'inherited': control provided by another component or system. 'falsePositive': scanner incorrectly identified a finding — for compliance scans (STIG, CIS), the check actually passes, so status is typically set to 'passed'; for vulnerability scans (CVE, SCA), the flagged vulnerability does not apply to this system, so status is typically set to 'notApplicable'. The disposition field on the requirement distinguishes false positives from genuinely not-applicable findings. 'riskAdjustment': impact score adjusted based on environmental context (FedRAMP Risk Adjustment); does not change pass/fail status, only impact via the impact field. 'operationalRequirement': deviation required by operational constraints (FedRAMP Operational Requirement); the finding cannot be remediated because the system requires the affected functionality. Remains an open risk. Migration note: 'exception' was removed in v3.1.0 — use 'waiver' with status 'notApplicable' instead.",
|
|
2230
2283
|
"title": "Override Type"
|
|
2231
2284
|
},
|
|
2285
|
+
"Impact_Override": {
|
|
2286
|
+
"type": "object",
|
|
2287
|
+
"required": [
|
|
2288
|
+
"value"
|
|
2289
|
+
],
|
|
2290
|
+
"unevaluatedProperties": false,
|
|
2291
|
+
"properties": {
|
|
2292
|
+
"value": {
|
|
2293
|
+
"type": "number",
|
|
2294
|
+
"minimum": 0,
|
|
2295
|
+
"maximum": 1,
|
|
2296
|
+
"description": "The overridden impact score (0.0–1.0)."
|
|
2297
|
+
}
|
|
2298
|
+
},
|
|
2299
|
+
"description": "An override to the requirement's impact score. The prior impact is the original result value or the preceding override in the chain.",
|
|
2300
|
+
"title": "Impact Override"
|
|
2301
|
+
},
|
|
2232
2302
|
"Standalone_Override": {
|
|
2233
2303
|
"type": "object",
|
|
2234
2304
|
"unevaluatedProperties": false,
|
|
2235
2305
|
"required": [
|
|
2236
2306
|
"type",
|
|
2237
2307
|
"requirementId",
|
|
2238
|
-
"status",
|
|
2239
2308
|
"reason",
|
|
2240
2309
|
"appliedBy",
|
|
2241
2310
|
"appliedAt",
|
|
2242
2311
|
"expiresAt"
|
|
2243
2312
|
],
|
|
2313
|
+
"anyOf": [
|
|
2314
|
+
{
|
|
2315
|
+
"required": [
|
|
2316
|
+
"status"
|
|
2317
|
+
]
|
|
2318
|
+
},
|
|
2319
|
+
{
|
|
2320
|
+
"required": [
|
|
2321
|
+
"impact"
|
|
2322
|
+
]
|
|
2323
|
+
}
|
|
2324
|
+
],
|
|
2244
2325
|
"properties": {
|
|
2245
2326
|
"type": {
|
|
2246
2327
|
"$ref": "#/$defs/Override_Type",
|
|
@@ -2255,15 +2336,19 @@
|
|
|
2255
2336
|
"description": "Name of the baseline containing the requirement. Required when the system has multiple baselines with potentially overlapping requirement IDs."
|
|
2256
2337
|
},
|
|
2257
2338
|
"status": {
|
|
2258
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
2259
|
-
"description": "The new status this amendment sets.
|
|
2339
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0#/$defs/Result_Status",
|
|
2340
|
+
"description": "The new status this amendment sets. Optional when only impact is being overridden."
|
|
2341
|
+
},
|
|
2342
|
+
"impact": {
|
|
2343
|
+
"$ref": "#/$defs/Impact_Override",
|
|
2344
|
+
"description": "Override to the requirement's impact score. At least one of status or impact must be set."
|
|
2260
2345
|
},
|
|
2261
2346
|
"reason": {
|
|
2262
2347
|
"type": "string",
|
|
2263
2348
|
"description": "Justification for this amendment."
|
|
2264
2349
|
},
|
|
2265
2350
|
"appliedBy": {
|
|
2266
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2351
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
|
|
2267
2352
|
"description": "Identity of who applied this amendment."
|
|
2268
2353
|
},
|
|
2269
2354
|
"appliedAt": {
|
|
@@ -2279,22 +2364,22 @@
|
|
|
2279
2364
|
"evidence": {
|
|
2280
2365
|
"type": "array",
|
|
2281
2366
|
"items": {
|
|
2282
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2367
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Evidence"
|
|
2283
2368
|
},
|
|
2284
2369
|
"description": "Supporting evidence (screenshots, logs, URLs, documents)."
|
|
2285
2370
|
},
|
|
2286
2371
|
"signature": {
|
|
2287
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2372
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
|
|
2288
2373
|
"description": "Digital signature for non-repudiation."
|
|
2289
2374
|
},
|
|
2290
2375
|
"previousChecksum": {
|
|
2291
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2376
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
|
|
2292
2377
|
"description": "Checksum of the prior amendment in the chain. Creates a tamper-evident linked list. Null for the first amendment."
|
|
2293
2378
|
},
|
|
2294
2379
|
"milestones": {
|
|
2295
2380
|
"type": "array",
|
|
2296
2381
|
"items": {
|
|
2297
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
2382
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Milestone"
|
|
2298
2383
|
},
|
|
2299
2384
|
"description": "Remediation milestones (primarily for POA&M type amendments)."
|
|
2300
2385
|
},
|
|
@@ -2330,6 +2415,46 @@
|
|
|
2330
2415
|
}
|
|
2331
2416
|
]
|
|
2332
2417
|
},
|
|
2418
|
+
{
|
|
2419
|
+
"type": "falsePositive",
|
|
2420
|
+
"requirementId": "SV-258010",
|
|
2421
|
+
"baselineRef": "RHEL9-STIG",
|
|
2422
|
+
"status": "passed",
|
|
2423
|
+
"reason": "STIG check misidentified sshd_config syntax; manual review confirms compliant configuration",
|
|
2424
|
+
"appliedBy": {
|
|
2425
|
+
"type": "email",
|
|
2426
|
+
"identifier": "assessor@agency.gov"
|
|
2427
|
+
},
|
|
2428
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
2429
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
2430
|
+
},
|
|
2431
|
+
{
|
|
2432
|
+
"type": "falsePositive",
|
|
2433
|
+
"requirementId": "CVE-2026-12345",
|
|
2434
|
+
"status": "notApplicable",
|
|
2435
|
+
"reason": "CVE scanner matched library signature but the vulnerable code path is not present in our build — dependency is compiled with the affected module disabled",
|
|
2436
|
+
"appliedBy": {
|
|
2437
|
+
"type": "email",
|
|
2438
|
+
"identifier": "dev@org.gov"
|
|
2439
|
+
},
|
|
2440
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
2441
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
2442
|
+
},
|
|
2443
|
+
{
|
|
2444
|
+
"type": "riskAdjustment",
|
|
2445
|
+
"requirementId": "SV-258020",
|
|
2446
|
+
"baselineRef": "RHEL9-STIG",
|
|
2447
|
+
"impact": {
|
|
2448
|
+
"value": 0.3
|
|
2449
|
+
},
|
|
2450
|
+
"reason": "CVE-123 is in a dead code path, unreachable from any entry point",
|
|
2451
|
+
"appliedBy": {
|
|
2452
|
+
"type": "email",
|
|
2453
|
+
"identifier": "dev@org.gov"
|
|
2454
|
+
},
|
|
2455
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
2456
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
2457
|
+
},
|
|
2333
2458
|
{
|
|
2334
2459
|
"type": "poam",
|
|
2335
2460
|
"requirementId": "SV-258001",
|
|
@@ -2370,14 +2495,14 @@
|
|
|
2370
2495
|
"expiresAt": "2026-09-26T00:00:00Z"
|
|
2371
2496
|
}
|
|
2372
2497
|
],
|
|
2373
|
-
"description": "A standalone amendment that modifies a requirement's compliance status. Extends the inline
|
|
2498
|
+
"description": "A standalone amendment that modifies a requirement's compliance status and/or impact score. At least one of status or impact must be set. Extends the inline Override concept with requirementId and baselineRef for use outside of results documents.",
|
|
2374
2499
|
"title": "Standalone Override"
|
|
2375
2500
|
}
|
|
2376
2501
|
}
|
|
2377
2502
|
},
|
|
2378
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
2503
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0": {
|
|
2379
2504
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2380
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
2505
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0",
|
|
2381
2506
|
"title": "HDF Result Primitives",
|
|
2382
2507
|
"description": "Types for representing assessment results and statuses.",
|
|
2383
2508
|
"$defs": {
|