@mitre/hdf-schema 2.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/index.d.ts +6 -8
- package/dist/index.js +3 -6
- 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 +25 -20
- 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
- package/LICENSE.md +0 -55
|
@@ -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
|
},
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
],
|
|
143
143
|
"allOf": [
|
|
144
144
|
{
|
|
145
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
145
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Requirement_Core"
|
|
146
146
|
}
|
|
147
147
|
],
|
|
148
148
|
"properties": {
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
"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'."
|
|
152
152
|
},
|
|
153
153
|
"severity": {
|
|
154
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
154
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Severity",
|
|
155
155
|
"description": "Explicit severity rating. Typically derived from impact score but provided explicitly for clarity."
|
|
156
156
|
}
|
|
157
157
|
},
|
|
@@ -193,9 +193,9 @@
|
|
|
193
193
|
"description": "Array of labeled descriptions. At least one description with label 'default' must be present.",
|
|
194
194
|
"title": "Baseline Requirement Descriptions"
|
|
195
195
|
},
|
|
196
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
196
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0": {
|
|
197
197
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
198
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
198
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0",
|
|
199
199
|
"title": "HDF Common Primitives",
|
|
200
200
|
"description": "Shared building blocks used by hdf-results and hdf-baseline schemas.",
|
|
201
201
|
"$defs": {
|
|
@@ -1011,9 +1011,9 @@
|
|
|
1011
1011
|
}
|
|
1012
1012
|
}
|
|
1013
1013
|
},
|
|
1014
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/parameter/
|
|
1014
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/parameter/v3.0.0": {
|
|
1015
1015
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1016
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/parameter/
|
|
1016
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/parameter/v3.0.0",
|
|
1017
1017
|
"title": "HDF Parameter Primitives",
|
|
1018
1018
|
"description": "Input/parameter type definitions for typed, traceable configuration values that bridge governance prose and scanner automation.",
|
|
1019
1019
|
"$defs": {
|
|
@@ -1144,9 +1144,9 @@
|
|
|
1144
1144
|
}
|
|
1145
1145
|
}
|
|
1146
1146
|
},
|
|
1147
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
1147
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0": {
|
|
1148
1148
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1149
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/
|
|
1149
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0",
|
|
1150
1150
|
"title": "HDF Extension Primitives",
|
|
1151
1151
|
"description": "Extension types for waivers, attestations, generators, and integrity.",
|
|
1152
1152
|
"$defs": {
|
|
@@ -1163,11 +1163,11 @@
|
|
|
1163
1163
|
],
|
|
1164
1164
|
"properties": {
|
|
1165
1165
|
"type": {
|
|
1166
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/
|
|
1166
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0#/$defs/Override_Type",
|
|
1167
1167
|
"description": "The type of status override applied to this requirement."
|
|
1168
1168
|
},
|
|
1169
1169
|
"status": {
|
|
1170
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/
|
|
1170
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0#/$defs/Result_Status",
|
|
1171
1171
|
"description": "The new status this override sets for the requirement. This intentionally changes the compliance status."
|
|
1172
1172
|
},
|
|
1173
1173
|
"reason": {
|
|
@@ -1175,7 +1175,7 @@
|
|
|
1175
1175
|
"description": "Explanation for why this status override was applied."
|
|
1176
1176
|
},
|
|
1177
1177
|
"appliedBy": {
|
|
1178
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1178
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
1179
1179
|
"description": "Identity of who applied this status override. For simple cases, use type 'simple' with just an identifier."
|
|
1180
1180
|
},
|
|
1181
1181
|
"appliedAt": {
|
|
@@ -1189,18 +1189,18 @@
|
|
|
1189
1189
|
"description": "Timestamp when this status override expires and must be reviewed/renewed. REQUIRED - no permanent status overrides allowed. ISO 8601 format."
|
|
1190
1190
|
},
|
|
1191
1191
|
"signature": {
|
|
1192
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1192
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
|
|
1193
1193
|
"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."
|
|
1194
1194
|
},
|
|
1195
1195
|
"evidence": {
|
|
1196
1196
|
"type": "array",
|
|
1197
1197
|
"items": {
|
|
1198
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1198
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
|
|
1199
1199
|
},
|
|
1200
1200
|
"description": "Supporting evidence for this status override, such as screenshots demonstrating manual verification for attestations."
|
|
1201
1201
|
},
|
|
1202
1202
|
"previousChecksum": {
|
|
1203
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1203
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
|
|
1204
1204
|
"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."
|
|
1205
1205
|
}
|
|
1206
1206
|
},
|
|
@@ -1270,7 +1270,7 @@
|
|
|
1270
1270
|
"description": "Detailed explanation of the plan, including what actions will be taken."
|
|
1271
1271
|
},
|
|
1272
1272
|
"appliedBy": {
|
|
1273
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1273
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
1274
1274
|
"description": "Identity of who created this POA&M. For simple cases, use type 'simple' with just an identifier."
|
|
1275
1275
|
},
|
|
1276
1276
|
"appliedAt": {
|
|
@@ -1286,23 +1286,23 @@
|
|
|
1286
1286
|
"milestones": {
|
|
1287
1287
|
"type": "array",
|
|
1288
1288
|
"items": {
|
|
1289
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1289
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Milestone"
|
|
1290
1290
|
},
|
|
1291
1291
|
"description": "Optional array of milestones tracking progress toward completion."
|
|
1292
1292
|
},
|
|
1293
1293
|
"signature": {
|
|
1294
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1294
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
|
|
1295
1295
|
"description": "Optional digital signature for enhanced trust and non-repudiation."
|
|
1296
1296
|
},
|
|
1297
1297
|
"evidence": {
|
|
1298
1298
|
"type": "array",
|
|
1299
1299
|
"items": {
|
|
1300
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1300
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
|
|
1301
1301
|
},
|
|
1302
1302
|
"description": "Supporting evidence for this POA&M, such as documentation of compensating controls or mitigation implementation."
|
|
1303
1303
|
},
|
|
1304
1304
|
"previousChecksum": {
|
|
1305
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1305
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
|
|
1306
1306
|
"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."
|
|
1307
1307
|
}
|
|
1308
1308
|
},
|
|
@@ -1453,7 +1453,7 @@
|
|
|
1453
1453
|
},
|
|
1454
1454
|
"properties": {
|
|
1455
1455
|
"algorithm": {
|
|
1456
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1456
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Hash_Algorithm",
|
|
1457
1457
|
"description": "The hash algorithm used for the checksum."
|
|
1458
1458
|
},
|
|
1459
1459
|
"checksum": {
|
|
@@ -1486,9 +1486,9 @@
|
|
|
1486
1486
|
}
|
|
1487
1487
|
}
|
|
1488
1488
|
},
|
|
1489
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/
|
|
1489
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0": {
|
|
1490
1490
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1491
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/
|
|
1491
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0",
|
|
1492
1492
|
"title": "HDF Amendment Primitives",
|
|
1493
1493
|
"description": "Types for waivers, attestations, exceptions, and POA&Ms that modify requirement compliance status.",
|
|
1494
1494
|
"$defs": {
|
|
@@ -1530,7 +1530,7 @@
|
|
|
1530
1530
|
"description": "Name of the baseline containing the requirement. Required when the system has multiple baselines with potentially overlapping requirement IDs."
|
|
1531
1531
|
},
|
|
1532
1532
|
"status": {
|
|
1533
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/
|
|
1533
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0#/$defs/Result_Status",
|
|
1534
1534
|
"description": "The new status this amendment sets. For POA&Ms, this is the current status (POA&Ms track work, they don't change status)."
|
|
1535
1535
|
},
|
|
1536
1536
|
"reason": {
|
|
@@ -1538,7 +1538,7 @@
|
|
|
1538
1538
|
"description": "Justification for this amendment."
|
|
1539
1539
|
},
|
|
1540
1540
|
"appliedBy": {
|
|
1541
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1541
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
|
|
1542
1542
|
"description": "Identity of who applied this amendment."
|
|
1543
1543
|
},
|
|
1544
1544
|
"appliedAt": {
|
|
@@ -1554,22 +1554,22 @@
|
|
|
1554
1554
|
"evidence": {
|
|
1555
1555
|
"type": "array",
|
|
1556
1556
|
"items": {
|
|
1557
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1557
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
|
|
1558
1558
|
},
|
|
1559
1559
|
"description": "Supporting evidence (screenshots, logs, URLs, documents)."
|
|
1560
1560
|
},
|
|
1561
1561
|
"signature": {
|
|
1562
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1562
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
|
|
1563
1563
|
"description": "Digital signature for non-repudiation."
|
|
1564
1564
|
},
|
|
1565
1565
|
"previousChecksum": {
|
|
1566
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1566
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
|
|
1567
1567
|
"description": "Checksum of the prior amendment in the chain. Creates a tamper-evident linked list. Null for the first amendment."
|
|
1568
1568
|
},
|
|
1569
1569
|
"milestones": {
|
|
1570
1570
|
"type": "array",
|
|
1571
1571
|
"items": {
|
|
1572
|
-
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/
|
|
1572
|
+
"$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Milestone"
|
|
1573
1573
|
},
|
|
1574
1574
|
"description": "Remediation milestones (primarily for POA&M type amendments)."
|
|
1575
1575
|
},
|
|
@@ -1650,9 +1650,9 @@
|
|
|
1650
1650
|
}
|
|
1651
1651
|
}
|
|
1652
1652
|
},
|
|
1653
|
-
"https://mitre.github.io/hdf-libs/schemas/primitives/result/
|
|
1653
|
+
"https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0": {
|
|
1654
1654
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1655
|
-
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/
|
|
1655
|
+
"$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0",
|
|
1656
1656
|
"title": "HDF Result Primitives",
|
|
1657
1657
|
"description": "Types for representing assessment results and statuses.",
|
|
1658
1658
|
"$defs": {
|