@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-plan/v3.
|
|
3
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/hdf-plan/v3.1.0",
|
|
4
4
|
"title": "HDF Plan",
|
|
5
5
|
"description": "Defines an assessment plan — what baselines to run against which targets, with resolved inputs and scheduling. Maps to OSCAL Assessment Plan.",
|
|
6
6
|
"type": "object",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"description": "Human-readable plan name. Example: 'Portal Monthly Assessment'."
|
|
21
21
|
},
|
|
22
22
|
"type": {
|
|
23
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.
|
|
23
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.1.0#/$defs/Plan_Type",
|
|
24
24
|
"description": "The type of assessment plan."
|
|
25
25
|
},
|
|
26
26
|
"description": {
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
"type": "array",
|
|
37
37
|
"minItems": 1,
|
|
38
38
|
"items": {
|
|
39
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.
|
|
39
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.1.0#/$defs/Assessment"
|
|
40
40
|
},
|
|
41
41
|
"description": "The assessments to perform. Each assessment pairs a baseline with targets and resolved inputs."
|
|
42
42
|
},
|
|
43
43
|
"schedule": {
|
|
44
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.
|
|
44
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.1.0#/$defs/Schedule",
|
|
45
45
|
"description": "Optional scheduling configuration for recurring assessments."
|
|
46
46
|
},
|
|
47
47
|
"labels": {
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"description": "Optional key-value labels for grouping and querying plans."
|
|
53
53
|
},
|
|
54
54
|
"integrity": {
|
|
55
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.
|
|
55
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0#/$defs/Integrity",
|
|
56
56
|
"description": "Cryptographic integrity information for verifying this plan document has not been tampered with."
|
|
57
57
|
},
|
|
58
58
|
"version": {
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"description": "Version of this plan document."
|
|
61
61
|
},
|
|
62
62
|
"generator": {
|
|
63
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.
|
|
63
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0#/$defs/Generator",
|
|
64
64
|
"description": "Information about the tool that generated this plan."
|
|
65
65
|
}
|
|
66
66
|
},
|
|
@@ -94,9 +94,9 @@
|
|
|
94
94
|
}
|
|
95
95
|
],
|
|
96
96
|
"$defs": {
|
|
97
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.
|
|
97
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.1.0": {
|
|
98
98
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
99
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.
|
|
99
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/plan/v3.1.0",
|
|
100
100
|
"title": "HDF Plan Primitives",
|
|
101
101
|
"description": "Types for defining assessment plans — what to scan, how to configure it, and when to run.",
|
|
102
102
|
"$defs": {
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
"description": "componentId of the system component this assessment targets. Use for direct component binding. Alternative to targetSelector."
|
|
145
145
|
},
|
|
146
146
|
"targetSelector": {
|
|
147
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
147
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.0#/$defs/Target_Selector",
|
|
148
148
|
"description": "Label selector to match targets for this assessment. Overrides the system component's targetSelector if provided."
|
|
149
149
|
},
|
|
150
150
|
"inputs": {
|
|
@@ -226,9 +226,9 @@
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
},
|
|
229
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
229
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.0": {
|
|
230
230
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
231
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.
|
|
231
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/system/v3.1.0",
|
|
232
232
|
"title": "HDF System Primitives",
|
|
233
233
|
"description": "Types for describing system architecture, authorization boundaries, and components.",
|
|
234
234
|
"$defs": {
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
"description": "Rationale for why this override is needed."
|
|
280
280
|
},
|
|
281
281
|
"approvedBy": {
|
|
282
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
282
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
|
|
283
283
|
"description": "Identity of the person or system that approved this override."
|
|
284
284
|
}
|
|
285
285
|
},
|
|
@@ -360,9 +360,9 @@
|
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
362
|
},
|
|
363
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
363
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0": {
|
|
364
364
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
365
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
365
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0",
|
|
366
366
|
"title": "HDF Common Primitives",
|
|
367
367
|
"description": "Shared building blocks used by hdf-results and hdf-baseline schemas.",
|
|
368
368
|
"$defs": {
|
|
@@ -1178,9 +1178,9 @@
|
|
|
1178
1178
|
}
|
|
1179
1179
|
}
|
|
1180
1180
|
},
|
|
1181
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.
|
|
1181
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0": {
|
|
1182
1182
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1183
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.
|
|
1183
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0",
|
|
1184
1184
|
"title": "HDF Extension Primitives",
|
|
1185
1185
|
"description": "Extension types for waivers, attestations, generators, and integrity.",
|
|
1186
1186
|
"$defs": {
|
|
@@ -1189,52 +1189,67 @@
|
|
|
1189
1189
|
"unevaluatedProperties": false,
|
|
1190
1190
|
"required": [
|
|
1191
1191
|
"type",
|
|
1192
|
-
"status",
|
|
1193
1192
|
"reason",
|
|
1194
1193
|
"appliedBy",
|
|
1195
1194
|
"appliedAt",
|
|
1196
1195
|
"expiresAt"
|
|
1197
1196
|
],
|
|
1197
|
+
"anyOf": [
|
|
1198
|
+
{
|
|
1199
|
+
"required": [
|
|
1200
|
+
"status"
|
|
1201
|
+
]
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
"required": [
|
|
1205
|
+
"impact"
|
|
1206
|
+
]
|
|
1207
|
+
}
|
|
1208
|
+
],
|
|
1198
1209
|
"properties": {
|
|
1199
1210
|
"type": {
|
|
1200
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
1201
|
-
"description": "The type of
|
|
1211
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0#/$defs/Override_Type",
|
|
1212
|
+
"description": "The type of override applied to this requirement."
|
|
1202
1213
|
},
|
|
1203
1214
|
"status": {
|
|
1204
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
1205
|
-
"description": "The new status this override sets for the requirement.
|
|
1215
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0#/$defs/Result_Status",
|
|
1216
|
+
"description": "The new status this override sets for the requirement. Optional when only impact is being overridden."
|
|
1217
|
+
},
|
|
1218
|
+
"impact": {
|
|
1219
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0#/$defs/Impact_Override",
|
|
1220
|
+
"description": "Override to the requirement's impact score. At least one of status or impact must be set."
|
|
1206
1221
|
},
|
|
1207
1222
|
"reason": {
|
|
1208
1223
|
"type": "string",
|
|
1209
|
-
"description": "Explanation for why this
|
|
1224
|
+
"description": "Explanation for why this override was applied."
|
|
1210
1225
|
},
|
|
1211
1226
|
"appliedBy": {
|
|
1212
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1213
|
-
"description": "Identity of who applied this
|
|
1227
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
|
|
1228
|
+
"description": "Identity of who applied this override. For simple cases, use type 'simple' with just an identifier."
|
|
1214
1229
|
},
|
|
1215
1230
|
"appliedAt": {
|
|
1216
1231
|
"type": "string",
|
|
1217
1232
|
"format": "date-time",
|
|
1218
|
-
"description": "Timestamp when this
|
|
1233
|
+
"description": "Timestamp when this override was applied. ISO 8601 format."
|
|
1219
1234
|
},
|
|
1220
1235
|
"expiresAt": {
|
|
1221
1236
|
"type": "string",
|
|
1222
1237
|
"format": "date-time",
|
|
1223
|
-
"description": "Timestamp when this
|
|
1238
|
+
"description": "Timestamp when this override expires and must be reviewed/renewed. REQUIRED - no permanent overrides allowed. ISO 8601 format."
|
|
1224
1239
|
},
|
|
1225
1240
|
"signature": {
|
|
1226
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1241
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
|
|
1227
1242
|
"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."
|
|
1228
1243
|
},
|
|
1229
1244
|
"evidence": {
|
|
1230
1245
|
"type": "array",
|
|
1231
1246
|
"items": {
|
|
1232
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1247
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Evidence"
|
|
1233
1248
|
},
|
|
1234
|
-
"description": "Supporting evidence for this
|
|
1249
|
+
"description": "Supporting evidence for this override, such as screenshots demonstrating manual verification for attestations."
|
|
1235
1250
|
},
|
|
1236
1251
|
"previousChecksum": {
|
|
1237
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1252
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
|
|
1238
1253
|
"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."
|
|
1239
1254
|
}
|
|
1240
1255
|
},
|
|
@@ -1250,6 +1265,41 @@
|
|
|
1250
1265
|
"appliedAt": "2025-12-01T10:00:00Z",
|
|
1251
1266
|
"expiresAt": "2026-12-01T00:00:00Z"
|
|
1252
1267
|
},
|
|
1268
|
+
{
|
|
1269
|
+
"type": "riskAdjustment",
|
|
1270
|
+
"impact": {
|
|
1271
|
+
"value": 0.3
|
|
1272
|
+
},
|
|
1273
|
+
"reason": "CVE-123 is in a dead code path, unreachable from any entry point",
|
|
1274
|
+
"appliedBy": {
|
|
1275
|
+
"identifier": "dev@org.gov",
|
|
1276
|
+
"type": "email"
|
|
1277
|
+
},
|
|
1278
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
1279
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
1280
|
+
},
|
|
1281
|
+
{
|
|
1282
|
+
"type": "falsePositive",
|
|
1283
|
+
"status": "passed",
|
|
1284
|
+
"reason": "STIG check misidentified sshd_config syntax; manual review confirms compliant configuration",
|
|
1285
|
+
"appliedBy": {
|
|
1286
|
+
"identifier": "assessor@agency.gov",
|
|
1287
|
+
"type": "email"
|
|
1288
|
+
},
|
|
1289
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
1290
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
1291
|
+
},
|
|
1292
|
+
{
|
|
1293
|
+
"type": "falsePositive",
|
|
1294
|
+
"status": "notApplicable",
|
|
1295
|
+
"reason": "CVE scanner matched library signature but the vulnerable code path is not present — dependency compiled with affected module disabled",
|
|
1296
|
+
"appliedBy": {
|
|
1297
|
+
"identifier": "dev@org.gov",
|
|
1298
|
+
"type": "email"
|
|
1299
|
+
},
|
|
1300
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
1301
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
1302
|
+
},
|
|
1253
1303
|
{
|
|
1254
1304
|
"type": "attestation",
|
|
1255
1305
|
"status": "passed",
|
|
@@ -1277,7 +1327,7 @@
|
|
|
1277
1327
|
]
|
|
1278
1328
|
}
|
|
1279
1329
|
],
|
|
1280
|
-
"description": "An intentional change to a requirement's compliance status
|
|
1330
|
+
"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.",
|
|
1281
1331
|
"title": "Status Override"
|
|
1282
1332
|
},
|
|
1283
1333
|
"POAM": {
|
|
@@ -1295,16 +1345,17 @@
|
|
|
1295
1345
|
"enum": [
|
|
1296
1346
|
"remediation",
|
|
1297
1347
|
"mitigation",
|
|
1298
|
-
"riskAcceptance"
|
|
1348
|
+
"riskAcceptance",
|
|
1349
|
+
"vendorDependency"
|
|
1299
1350
|
],
|
|
1300
|
-
"description": "The type of POA&M. 'remediation' fixes root cause. 'mitigation' reduces risk via compensating controls. 'riskAcceptance' documents decision to accept risk."
|
|
1351
|
+
"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."
|
|
1301
1352
|
},
|
|
1302
1353
|
"explanation": {
|
|
1303
1354
|
"type": "string",
|
|
1304
1355
|
"description": "Detailed explanation of the plan, including what actions will be taken."
|
|
1305
1356
|
},
|
|
1306
1357
|
"appliedBy": {
|
|
1307
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1358
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
|
|
1308
1359
|
"description": "Identity of who created this POA&M. For simple cases, use type 'simple' with just an identifier."
|
|
1309
1360
|
},
|
|
1310
1361
|
"appliedAt": {
|
|
@@ -1320,23 +1371,23 @@
|
|
|
1320
1371
|
"milestones": {
|
|
1321
1372
|
"type": "array",
|
|
1322
1373
|
"items": {
|
|
1323
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1374
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Milestone"
|
|
1324
1375
|
},
|
|
1325
1376
|
"description": "Optional array of milestones tracking progress toward completion."
|
|
1326
1377
|
},
|
|
1327
1378
|
"signature": {
|
|
1328
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1379
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
|
|
1329
1380
|
"description": "Optional digital signature for enhanced trust and non-repudiation."
|
|
1330
1381
|
},
|
|
1331
1382
|
"evidence": {
|
|
1332
1383
|
"type": "array",
|
|
1333
1384
|
"items": {
|
|
1334
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1385
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Evidence"
|
|
1335
1386
|
},
|
|
1336
1387
|
"description": "Supporting evidence for this POA&M, such as documentation of compensating controls or mitigation implementation."
|
|
1337
1388
|
},
|
|
1338
1389
|
"previousChecksum": {
|
|
1339
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1390
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
|
|
1340
1391
|
"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."
|
|
1341
1392
|
}
|
|
1342
1393
|
},
|
|
@@ -1487,7 +1538,7 @@
|
|
|
1487
1538
|
},
|
|
1488
1539
|
"properties": {
|
|
1489
1540
|
"algorithm": {
|
|
1490
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1541
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Hash_Algorithm",
|
|
1491
1542
|
"description": "The hash algorithm used for the checksum."
|
|
1492
1543
|
},
|
|
1493
1544
|
"checksum": {
|
|
@@ -1520,36 +1571,66 @@
|
|
|
1520
1571
|
}
|
|
1521
1572
|
}
|
|
1522
1573
|
},
|
|
1523
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
1574
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0": {
|
|
1524
1575
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1525
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.
|
|
1576
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0",
|
|
1526
1577
|
"title": "HDF Amendment Primitives",
|
|
1527
|
-
"description": "Types for waivers, attestations,
|
|
1578
|
+
"description": "Types for waivers, attestations, and POA&Ms that modify requirement compliance status.",
|
|
1528
1579
|
"$defs": {
|
|
1529
1580
|
"Override_Type": {
|
|
1530
1581
|
"type": "string",
|
|
1531
1582
|
"enum": [
|
|
1532
1583
|
"waiver",
|
|
1533
1584
|
"attestation",
|
|
1534
|
-
"exception",
|
|
1535
1585
|
"poam",
|
|
1536
|
-
"inherited"
|
|
1586
|
+
"inherited",
|
|
1587
|
+
"falsePositive",
|
|
1588
|
+
"riskAdjustment",
|
|
1589
|
+
"operationalRequirement"
|
|
1537
1590
|
],
|
|
1538
|
-
"description": "The type of amendment. 'waiver': risk accepted
|
|
1591
|
+
"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.",
|
|
1539
1592
|
"title": "Override Type"
|
|
1540
1593
|
},
|
|
1594
|
+
"Impact_Override": {
|
|
1595
|
+
"type": "object",
|
|
1596
|
+
"required": [
|
|
1597
|
+
"value"
|
|
1598
|
+
],
|
|
1599
|
+
"unevaluatedProperties": false,
|
|
1600
|
+
"properties": {
|
|
1601
|
+
"value": {
|
|
1602
|
+
"type": "number",
|
|
1603
|
+
"minimum": 0,
|
|
1604
|
+
"maximum": 1,
|
|
1605
|
+
"description": "The overridden impact score (0.0–1.0)."
|
|
1606
|
+
}
|
|
1607
|
+
},
|
|
1608
|
+
"description": "An override to the requirement's impact score. The prior impact is the original result value or the preceding override in the chain.",
|
|
1609
|
+
"title": "Impact Override"
|
|
1610
|
+
},
|
|
1541
1611
|
"Standalone_Override": {
|
|
1542
1612
|
"type": "object",
|
|
1543
1613
|
"unevaluatedProperties": false,
|
|
1544
1614
|
"required": [
|
|
1545
1615
|
"type",
|
|
1546
1616
|
"requirementId",
|
|
1547
|
-
"status",
|
|
1548
1617
|
"reason",
|
|
1549
1618
|
"appliedBy",
|
|
1550
1619
|
"appliedAt",
|
|
1551
1620
|
"expiresAt"
|
|
1552
1621
|
],
|
|
1622
|
+
"anyOf": [
|
|
1623
|
+
{
|
|
1624
|
+
"required": [
|
|
1625
|
+
"status"
|
|
1626
|
+
]
|
|
1627
|
+
},
|
|
1628
|
+
{
|
|
1629
|
+
"required": [
|
|
1630
|
+
"impact"
|
|
1631
|
+
]
|
|
1632
|
+
}
|
|
1633
|
+
],
|
|
1553
1634
|
"properties": {
|
|
1554
1635
|
"type": {
|
|
1555
1636
|
"$ref": "#/$defs/Override_Type",
|
|
@@ -1564,15 +1645,19 @@
|
|
|
1564
1645
|
"description": "Name of the baseline containing the requirement. Required when the system has multiple baselines with potentially overlapping requirement IDs."
|
|
1565
1646
|
},
|
|
1566
1647
|
"status": {
|
|
1567
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
1568
|
-
"description": "The new status this amendment sets.
|
|
1648
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0#/$defs/Result_Status",
|
|
1649
|
+
"description": "The new status this amendment sets. Optional when only impact is being overridden."
|
|
1650
|
+
},
|
|
1651
|
+
"impact": {
|
|
1652
|
+
"$ref": "#/$defs/Impact_Override",
|
|
1653
|
+
"description": "Override to the requirement's impact score. At least one of status or impact must be set."
|
|
1569
1654
|
},
|
|
1570
1655
|
"reason": {
|
|
1571
1656
|
"type": "string",
|
|
1572
1657
|
"description": "Justification for this amendment."
|
|
1573
1658
|
},
|
|
1574
1659
|
"appliedBy": {
|
|
1575
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1660
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
|
|
1576
1661
|
"description": "Identity of who applied this amendment."
|
|
1577
1662
|
},
|
|
1578
1663
|
"appliedAt": {
|
|
@@ -1588,22 +1673,22 @@
|
|
|
1588
1673
|
"evidence": {
|
|
1589
1674
|
"type": "array",
|
|
1590
1675
|
"items": {
|
|
1591
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1676
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Evidence"
|
|
1592
1677
|
},
|
|
1593
1678
|
"description": "Supporting evidence (screenshots, logs, URLs, documents)."
|
|
1594
1679
|
},
|
|
1595
1680
|
"signature": {
|
|
1596
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1681
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
|
|
1597
1682
|
"description": "Digital signature for non-repudiation."
|
|
1598
1683
|
},
|
|
1599
1684
|
"previousChecksum": {
|
|
1600
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1685
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
|
|
1601
1686
|
"description": "Checksum of the prior amendment in the chain. Creates a tamper-evident linked list. Null for the first amendment."
|
|
1602
1687
|
},
|
|
1603
1688
|
"milestones": {
|
|
1604
1689
|
"type": "array",
|
|
1605
1690
|
"items": {
|
|
1606
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.
|
|
1691
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Milestone"
|
|
1607
1692
|
},
|
|
1608
1693
|
"description": "Remediation milestones (primarily for POA&M type amendments)."
|
|
1609
1694
|
},
|
|
@@ -1639,6 +1724,46 @@
|
|
|
1639
1724
|
}
|
|
1640
1725
|
]
|
|
1641
1726
|
},
|
|
1727
|
+
{
|
|
1728
|
+
"type": "falsePositive",
|
|
1729
|
+
"requirementId": "SV-258010",
|
|
1730
|
+
"baselineRef": "RHEL9-STIG",
|
|
1731
|
+
"status": "passed",
|
|
1732
|
+
"reason": "STIG check misidentified sshd_config syntax; manual review confirms compliant configuration",
|
|
1733
|
+
"appliedBy": {
|
|
1734
|
+
"type": "email",
|
|
1735
|
+
"identifier": "assessor@agency.gov"
|
|
1736
|
+
},
|
|
1737
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
1738
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
1739
|
+
},
|
|
1740
|
+
{
|
|
1741
|
+
"type": "falsePositive",
|
|
1742
|
+
"requirementId": "CVE-2026-12345",
|
|
1743
|
+
"status": "notApplicable",
|
|
1744
|
+
"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",
|
|
1745
|
+
"appliedBy": {
|
|
1746
|
+
"type": "email",
|
|
1747
|
+
"identifier": "dev@org.gov"
|
|
1748
|
+
},
|
|
1749
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
1750
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
1751
|
+
},
|
|
1752
|
+
{
|
|
1753
|
+
"type": "riskAdjustment",
|
|
1754
|
+
"requirementId": "SV-258020",
|
|
1755
|
+
"baselineRef": "RHEL9-STIG",
|
|
1756
|
+
"impact": {
|
|
1757
|
+
"value": 0.3
|
|
1758
|
+
},
|
|
1759
|
+
"reason": "CVE-123 is in a dead code path, unreachable from any entry point",
|
|
1760
|
+
"appliedBy": {
|
|
1761
|
+
"type": "email",
|
|
1762
|
+
"identifier": "dev@org.gov"
|
|
1763
|
+
},
|
|
1764
|
+
"appliedAt": "2026-04-14T10:00:00Z",
|
|
1765
|
+
"expiresAt": "2026-10-14T00:00:00Z"
|
|
1766
|
+
},
|
|
1642
1767
|
{
|
|
1643
1768
|
"type": "poam",
|
|
1644
1769
|
"requirementId": "SV-258001",
|
|
@@ -1679,14 +1804,14 @@
|
|
|
1679
1804
|
"expiresAt": "2026-09-26T00:00:00Z"
|
|
1680
1805
|
}
|
|
1681
1806
|
],
|
|
1682
|
-
"description": "A standalone amendment that modifies a requirement's compliance status. Extends the inline
|
|
1807
|
+
"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.",
|
|
1683
1808
|
"title": "Standalone Override"
|
|
1684
1809
|
}
|
|
1685
1810
|
}
|
|
1686
1811
|
},
|
|
1687
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
1812
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0": {
|
|
1688
1813
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1689
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.
|
|
1814
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0",
|
|
1690
1815
|
"title": "HDF Result Primitives",
|
|
1691
1816
|
"description": "Types for representing assessment results and statuses.",
|
|
1692
1817
|
"$defs": {
|