@mitre/hdf-schema 3.4.0 → 3.4.2
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/dist/go/hdf.go +155 -460
- package/dist/helpers.js +5 -3
- package/dist/ts/hdf.d.ts +158 -463
- package/dist/ts/hdf.js +58 -130
- package/dist/ts/hdf.ts +158 -463
- package/package.json +2 -2
package/dist/ts/hdf.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The comparison operator used when evaluating this input against observed values.
|
|
3
|
-
*
|
|
4
2
|
* Comparison operator for evaluating the input value against observed values. Numeric:
|
|
5
3
|
* eq/ne/lt/le/gt/ge. String: eq/ne/contains/matches. Collection: in/notIn.
|
|
6
4
|
*/
|
|
@@ -18,8 +16,6 @@ export var ComparisonOperator;
|
|
|
18
16
|
ComparisonOperator["NotIn"] = "notIn";
|
|
19
17
|
})(ComparisonOperator || (ComparisonOperator = {}));
|
|
20
18
|
/**
|
|
21
|
-
* The data type of this input.
|
|
22
|
-
*
|
|
23
19
|
* The data type of the input value. Aligns with InSpec input types.
|
|
24
20
|
*/
|
|
25
21
|
export var InputType;
|
|
@@ -32,10 +28,8 @@ export var InputType;
|
|
|
32
28
|
InputType["String"] = "String";
|
|
33
29
|
})(InputType || (InputType = {}));
|
|
34
30
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* Supported cryptographic hash algorithms for checksums and integrity verification. blake3
|
|
38
|
-
* covers container-image and other artifact digests that use it.
|
|
31
|
+
* Supported cryptographic hash algorithms for checksums and integrity verification. blake3 covers
|
|
32
|
+
* container-image and other artifact digests that use it.
|
|
39
33
|
*/
|
|
40
34
|
export var HashAlgorithm;
|
|
41
35
|
(function (HashAlgorithm) {
|
|
@@ -92,15 +86,9 @@ export var ControlType;
|
|
|
92
86
|
ControlType["Technical"] = "technical";
|
|
93
87
|
})(ControlType || (ControlType = {}));
|
|
94
88
|
/**
|
|
95
|
-
* Qualitative severity band corresponding to baseScore. CVSS 2.0 does not natively use
|
|
96
|
-
* 'none' or 'critical' bands; map accordingly when populating.
|
|
97
|
-
*
|
|
98
89
|
* Qualitative CVSS severity band. Aligns with FIRST/NVD bands: none=0.0, low=0.1-3.9,
|
|
99
|
-
* medium=4.0-6.9, high=7.0-8.9, critical=9.0-10.0. Distinct from the broader Severity enum
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
* Qualitative severity band corresponding to computedScore. Same band convention as
|
|
103
|
-
* baseSeverity.
|
|
90
|
+
* medium=4.0-6.9, high=7.0-8.9, critical=9.0-10.0. Distinct from the broader Severity enum used on
|
|
91
|
+
* Requirement_Core (which includes 'informational').
|
|
104
92
|
*/
|
|
105
93
|
export var CVSSSeverity;
|
|
106
94
|
(function (CVSSSeverity) {
|
|
@@ -122,29 +110,19 @@ export var Version;
|
|
|
122
110
|
Version["The40"] = "4.0";
|
|
123
111
|
})(Version || (Version = {}));
|
|
124
112
|
/**
|
|
125
|
-
* The type of
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
* 'riskAdjustment': impact score adjusted based on environmental context (FedRAMP Risk
|
|
139
|
-
* Adjustment); does not change pass/fail status, only impact via the impact field.
|
|
140
|
-
* 'operationalRequirement': deviation required by operational constraints (FedRAMP
|
|
141
|
-
* Operational Requirement); the finding cannot be remediated because the system requires
|
|
142
|
-
* the affected functionality. Remains an open risk. Migration note: 'exception' was removed
|
|
143
|
-
* in v3.1.0 — use 'waiver' with status 'notApplicable' instead.
|
|
144
|
-
*
|
|
145
|
-
* The type of override applied to this requirement.
|
|
146
|
-
*
|
|
147
|
-
* The type of amendment.
|
|
113
|
+
* The type of amendment, aligned with FedRAMP deviation request categories. 'waiver': risk accepted
|
|
114
|
+
* by Authorizing Official. 'attestation': manually verified by assessor. 'poam': remediation
|
|
115
|
+
* tracked (no status change). 'inherited': control provided by another component or system.
|
|
116
|
+
* 'falsePositive': scanner incorrectly identified a finding — for compliance scans (STIG, CIS), the
|
|
117
|
+
* check actually passes, so status is typically set to 'passed'; for vulnerability scans (CVE,
|
|
118
|
+
* SCA), the flagged vulnerability does not apply to this system, so status is typically set to
|
|
119
|
+
* 'notApplicable'. The disposition field on the requirement distinguishes false positives from
|
|
120
|
+
* genuinely not-applicable findings. 'riskAdjustment': impact score adjusted based on environmental
|
|
121
|
+
* context (FedRAMP Risk Adjustment); does not change pass/fail status, only impact via the impact
|
|
122
|
+
* field. 'operationalRequirement': deviation required by operational constraints (FedRAMP
|
|
123
|
+
* Operational Requirement); the finding cannot be remediated because the system requires the
|
|
124
|
+
* affected functionality. Remains an open risk. Migration note: 'exception' was removed in v3.1.0 —
|
|
125
|
+
* use 'waiver' with status 'notApplicable' instead.
|
|
148
126
|
*/
|
|
149
127
|
export var OverrideType;
|
|
150
128
|
(function (OverrideType) {
|
|
@@ -157,20 +135,9 @@ export var OverrideType;
|
|
|
157
135
|
OverrideType["Waiver"] = "waiver";
|
|
158
136
|
})(OverrideType || (OverrideType = {}));
|
|
159
137
|
/**
|
|
160
|
-
* The
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
* The status of an individual test result. 'notApplicable' indicates the requirement does
|
|
165
|
-
* not apply to the target. 'notReviewed' indicates the requirement was not assessed (e.g.,
|
|
166
|
-
* requires manual verification).
|
|
167
|
-
*
|
|
168
|
-
* The status of this test within the requirement. Example: 'failed'.
|
|
169
|
-
*
|
|
170
|
-
* The new status this override sets for the requirement. Optional when only impact is being
|
|
171
|
-
* overridden.
|
|
172
|
-
*
|
|
173
|
-
* The new status this amendment sets. Optional when only impact is being overridden.
|
|
138
|
+
* The status of an individual test result. 'notApplicable' indicates the requirement does not apply
|
|
139
|
+
* to the target. 'notReviewed' indicates the requirement was not assessed (e.g., requires manual
|
|
140
|
+
* verification).
|
|
174
141
|
*/
|
|
175
142
|
export var ResultStatus;
|
|
176
143
|
(function (ResultStatus) {
|
|
@@ -232,9 +199,6 @@ export var POAMType;
|
|
|
232
199
|
POAMType["VendorDependency"] = "vendorDependency";
|
|
233
200
|
})(POAMType || (POAMType = {}));
|
|
234
201
|
/**
|
|
235
|
-
* Explicit severity rating. Typically derived from impact score but provided explicitly for
|
|
236
|
-
* clarity.
|
|
237
|
-
*
|
|
238
202
|
* Severity rating for a requirement. Typically derived from the numeric impact score.
|
|
239
203
|
*/
|
|
240
204
|
export var Severity;
|
|
@@ -246,28 +210,21 @@ export var Severity;
|
|
|
246
210
|
Severity["Medium"] = "medium";
|
|
247
211
|
})(Severity || (Severity = {}));
|
|
248
212
|
/**
|
|
249
|
-
* Structured controlled-vocabulary
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
*
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
*
|
|
264
|
-
* requires_dependency / requires_environment / protected_by_compiler / protected_at_runtime
|
|
265
|
-
* / protected_at_perimeter) are CycloneDX-specific and describe why the vulnerable code
|
|
266
|
-
* path is unreachable in the deployed configuration. The enum is extended additively across
|
|
267
|
-
* schema versions as other ecosystems' controlled vocabularies are integrated; documents
|
|
268
|
-
* using values added in a newer schema version will fail validation against an older
|
|
269
|
-
* schema. Consumers SHOULD validate against the schema version declared by the document
|
|
270
|
-
* ($schema) rather than assume a fixed vocabulary.
|
|
213
|
+
* Structured controlled-vocabulary reason for an override, complementing the free-text 'reason'
|
|
214
|
+
* field. 'reason' carries the human-readable rationale an auditor reads; 'justification' carries
|
|
215
|
+
* the machine-readable category enabling filtering, aggregation, and lossless round-trip with
|
|
216
|
+
* structured ecosystems (VEX, OSCAL, FedRAMP DR). Both fields may be present simultaneously and are
|
|
217
|
+
* NOT redundant: 'reason' explains the specific circumstance; 'justification' classifies it.
|
|
218
|
+
* Authors SHOULD populate both when a controlled-vocabulary value applies — the enum value alone is
|
|
219
|
+
* not self-explanatory to an auditor. The vocabulary is drawn from the VEX ecosystem: the first
|
|
220
|
+
* five values are common across OpenVEX, CSAF VEX, and CycloneDX VEX; the remaining six
|
|
221
|
+
* (requires_configuration / requires_dependency / requires_environment / protected_by_compiler /
|
|
222
|
+
* protected_at_runtime / protected_at_perimeter) are CycloneDX-specific and describe why the
|
|
223
|
+
* vulnerable code path is unreachable in the deployed configuration. The enum is extended
|
|
224
|
+
* additively across schema versions as other ecosystems' controlled vocabularies are integrated;
|
|
225
|
+
* documents using values added in a newer schema version will fail validation against an older
|
|
226
|
+
* schema. Consumers SHOULD validate against the schema version declared by the document ($schema)
|
|
227
|
+
* rather than assume a fixed vocabulary.
|
|
271
228
|
*/
|
|
272
229
|
export var Justification;
|
|
273
230
|
(function (Justification) {
|
|
@@ -284,19 +241,12 @@ export var Justification;
|
|
|
284
241
|
Justification["VulnerableCodeNotPresent"] = "vulnerable_code_not_present";
|
|
285
242
|
})(Justification || (Justification = {}));
|
|
286
243
|
/**
|
|
287
|
-
* How
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
* How a requirement is intended to be verified. Disambiguates the two cases that null
|
|
295
|
-
* 'code' overloads: 'manual-by-design' (the requirement is statement-form and not amenable
|
|
296
|
-
* to automation, e.g. FedRAMP 20x KSIs); 'manual-pending-automation' (automation could
|
|
297
|
-
* exist but does not yet, e.g. a STIG rule lacking a fix). 'automated' = a check exists and
|
|
298
|
-
* runs without operator action; 'hybrid' = part automated, part manual. Named '_Enum' to
|
|
299
|
-
* disambiguate from the unrelated Verification_Method DID-context struct.
|
|
244
|
+
* How a requirement is intended to be verified. Disambiguates the two cases that null 'code'
|
|
245
|
+
* overloads: 'manual-by-design' (the requirement is statement-form and not amenable to automation,
|
|
246
|
+
* e.g. FedRAMP 20x KSIs); 'manual-pending-automation' (automation could exist but does not yet,
|
|
247
|
+
* e.g. a STIG rule lacking a fix). 'automated' = a check exists and runs without operator action;
|
|
248
|
+
* 'hybrid' = part automated, part manual. Named '_Enum' to disambiguate from the unrelated
|
|
249
|
+
* Verification_Method DID-context struct.
|
|
300
250
|
*/
|
|
301
251
|
export var VerificationMethodEnum;
|
|
302
252
|
(function (VerificationMethodEnum) {
|
|
@@ -357,8 +307,6 @@ export var TargetType;
|
|
|
357
307
|
TargetType["Repository"] = "repository";
|
|
358
308
|
})(TargetType || (TargetType = {}));
|
|
359
309
|
/**
|
|
360
|
-
* The category of this annotation.
|
|
361
|
-
*
|
|
362
310
|
* The category of an annotation attached to a comparison.
|
|
363
311
|
*/
|
|
364
312
|
export var AnnotationCategory;
|
|
@@ -382,13 +330,11 @@ export var BaselineDiffState;
|
|
|
382
330
|
BaselineDiffState["Updated"] = "updated";
|
|
383
331
|
})(BaselineDiffState || (BaselineDiffState = {}));
|
|
384
332
|
/**
|
|
385
|
-
* The mode of comparison
|
|
386
|
-
*
|
|
387
|
-
*
|
|
388
|
-
*
|
|
389
|
-
*
|
|
390
|
-
* baseline documents to detect requirement changes between versions. 'systemDrift' compares
|
|
391
|
-
* two system documents to detect component-level changes.
|
|
333
|
+
* The mode of comparison. 'temporal' compares the same target over time. 'baseline' compares
|
|
334
|
+
* against a golden reference. 'fleet' compares across multiple systems. 'multiSource' compares
|
|
335
|
+
* outputs from different scanners. 'baselineEvolution' compares two baseline documents to detect
|
|
336
|
+
* requirement changes between versions. 'systemDrift' compares two system documents to detect
|
|
337
|
+
* component-level changes.
|
|
392
338
|
*/
|
|
393
339
|
export var ComparisonMode;
|
|
394
340
|
(function (ComparisonMode) {
|
|
@@ -427,8 +373,6 @@ export var ChangeReason;
|
|
|
427
373
|
ChangeReason["TargetChanged"] = "targetChanged";
|
|
428
374
|
})(ChangeReason || (ChangeReason = {}));
|
|
429
375
|
/**
|
|
430
|
-
* How the conflict was resolved.
|
|
431
|
-
*
|
|
432
376
|
* How a conflict between multiple scanner results was resolved.
|
|
433
377
|
*/
|
|
434
378
|
export var ConflictResolution;
|
|
@@ -439,13 +383,9 @@ export var ConflictResolution;
|
|
|
439
383
|
ConflictResolution["Unresolved"] = "unresolved";
|
|
440
384
|
})(ConflictResolution || (ConflictResolution = {}));
|
|
441
385
|
/**
|
|
442
|
-
* The strategy
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
* IDs. 'mappedId' uses an ID mapping table. 'cciMatch'/'nistMatch' match by framework
|
|
446
|
-
* identifiers. 'fuzzyTitle'/'fuzzyContent' use text similarity.
|
|
447
|
-
*
|
|
448
|
-
* The primary strategy used to match requirements across sources.
|
|
386
|
+
* The strategy used to match requirements across sources. 'exactId' matches by identical IDs.
|
|
387
|
+
* 'mappedId' uses an ID mapping table. 'cciMatch'/'nistMatch' match by framework identifiers.
|
|
388
|
+
* 'fuzzyTitle'/'fuzzyContent' use text similarity.
|
|
449
389
|
*/
|
|
450
390
|
export var MatchStrategy;
|
|
451
391
|
(function (MatchStrategy) {
|
|
@@ -457,12 +397,10 @@ export var MatchStrategy;
|
|
|
457
397
|
MatchStrategy["NISTMatch"] = "nistMatch";
|
|
458
398
|
})(MatchStrategy || (MatchStrategy = {}));
|
|
459
399
|
/**
|
|
460
|
-
*
|
|
461
|
-
*
|
|
462
|
-
*
|
|
463
|
-
*
|
|
464
|
-
* changed (generic), 'fixed' = was failing now passing, 'regressed' = was passing now
|
|
465
|
-
* failing, 'moved' = reorganized same content, 'split'/'merged' = reserved for v1.1.
|
|
400
|
+
* SARIF-compatible vocabulary extended for security. 'new' = present only in new source, 'absent' =
|
|
401
|
+
* present only in old, 'unchanged' = same effective status, 'updated' = status changed (generic),
|
|
402
|
+
* 'fixed' = was failing now passing, 'regressed' = was passing now failing, 'moved' = reorganized
|
|
403
|
+
* same content, 'split'/'merged' = reserved for v1.1.
|
|
466
404
|
*/
|
|
467
405
|
export var RequirementState;
|
|
468
406
|
(function (RequirementState) {
|
|
@@ -503,8 +441,6 @@ export var OriginalFormat;
|
|
|
503
441
|
OriginalFormat["Xccdf"] = "xccdf";
|
|
504
442
|
})(OriginalFormat || (OriginalFormat = {}));
|
|
505
443
|
/**
|
|
506
|
-
* The role of this source in the comparison.
|
|
507
|
-
*
|
|
508
444
|
* The role of a source document in the comparison.
|
|
509
445
|
*/
|
|
510
446
|
export var SourceRole;
|
|
@@ -516,8 +452,6 @@ export var SourceRole;
|
|
|
516
452
|
SourceRole["System"] = "system";
|
|
517
453
|
})(SourceRole || (SourceRole = {}));
|
|
518
454
|
/**
|
|
519
|
-
* Current Authorization to Operate (ATO) status.
|
|
520
|
-
*
|
|
521
455
|
* Authorization to Operate (ATO) status for the system.
|
|
522
456
|
*/
|
|
523
457
|
export var AuthorizationStatus;
|
|
@@ -530,8 +464,6 @@ export var AuthorizationStatus;
|
|
|
530
464
|
AuthorizationStatus["Revoked"] = "revoked";
|
|
531
465
|
})(AuthorizationStatus || (AuthorizationStatus = {}));
|
|
532
466
|
/**
|
|
533
|
-
* FIPS 199 security categorization (impact level).
|
|
534
|
-
*
|
|
535
467
|
* FIPS 199 security categorization level (impact level).
|
|
536
468
|
*/
|
|
537
469
|
export var CategorizationLevel;
|
|
@@ -561,10 +493,8 @@ export var Direction;
|
|
|
561
493
|
Direction["Unidirectional"] = "unidirectional";
|
|
562
494
|
})(Direction || (Direction = {}));
|
|
563
495
|
/**
|
|
564
|
-
* The type of assessment
|
|
565
|
-
*
|
|
566
|
-
* The type of assessment. 'automated' for scanner-driven, 'manual' for human-performed,
|
|
567
|
-
* 'hybrid' for both.
|
|
496
|
+
* The type of assessment. 'automated' for scanner-driven, 'manual' for human-performed, 'hybrid'
|
|
497
|
+
* for both.
|
|
568
498
|
*/
|
|
569
499
|
export var PlanType;
|
|
570
500
|
(function (PlanType) {
|
|
@@ -573,12 +503,10 @@ export var PlanType;
|
|
|
573
503
|
PlanType["Manual"] = "manual";
|
|
574
504
|
})(PlanType || (PlanType = {}));
|
|
575
505
|
/**
|
|
576
|
-
* The type of HDF document being referenced.
|
|
577
|
-
*
|
|
578
506
|
* The type of document referenced in the evidence package. 'bom' covers any
|
|
579
|
-
* Bill-of-Materials/manifest document (SBOM, AI model/dataset, and reserved future kinds) —
|
|
580
|
-
*
|
|
581
|
-
*
|
|
507
|
+
* Bill-of-Materials/manifest document (SBOM, AI model/dataset, and reserved future kinds) — its
|
|
508
|
+
* specific kind is carried by the referenced document's bomType, not by a per-kind Content_Type
|
|
509
|
+
* value.
|
|
582
510
|
*/
|
|
583
511
|
export var ContentType;
|
|
584
512
|
(function (ContentType) {
|