@mitre/hdf-schema 3.4.0 → 3.4.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/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.d.ts
CHANGED
|
@@ -67,9 +67,6 @@ export interface HDFResults {
|
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
69
|
* Information on a baseline that was evaluated, including any findings.
|
|
70
|
-
*
|
|
71
|
-
* Shared metadata fields for baselines. Used in both standalone baseline documents and
|
|
72
|
-
* evaluated baseline results.
|
|
73
70
|
*/
|
|
74
71
|
export interface EvaluatedBaseline {
|
|
75
72
|
/**
|
|
@@ -176,8 +173,7 @@ export interface EvaluatedBaseline {
|
|
|
176
173
|
[property: string]: any;
|
|
177
174
|
}
|
|
178
175
|
/**
|
|
179
|
-
* A dependency for a baseline. Can include relative paths or URLs for where to find the
|
|
180
|
-
* dependency.
|
|
176
|
+
* A dependency for a baseline. Can include relative paths or URLs for where to find the dependency.
|
|
181
177
|
*/
|
|
182
178
|
export interface Dependency {
|
|
183
179
|
/**
|
|
@@ -239,9 +235,9 @@ export interface RequirementGroup {
|
|
|
239
235
|
[property: string]: any;
|
|
240
236
|
}
|
|
241
237
|
/**
|
|
242
|
-
* A typed input parameter that bridges governance requirements and scanner automation.
|
|
243
|
-
*
|
|
244
|
-
*
|
|
238
|
+
* A typed input parameter that bridges governance requirements and scanner automation. Inputs carry
|
|
239
|
+
* expected configuration values with type information, comparison operators, and validation
|
|
240
|
+
* constraints, enabling traceability from policy through to scan results.
|
|
245
241
|
*/
|
|
246
242
|
export interface Input {
|
|
247
243
|
/**
|
|
@@ -281,8 +277,6 @@ export interface Input {
|
|
|
281
277
|
[property: string]: any;
|
|
282
278
|
}
|
|
283
279
|
/**
|
|
284
|
-
* Validation constraints for the input value.
|
|
285
|
-
*
|
|
286
280
|
* Validation constraints for an input value.
|
|
287
281
|
*/
|
|
288
282
|
export interface InputConstraints {
|
|
@@ -305,8 +299,6 @@ export interface InputConstraints {
|
|
|
305
299
|
[property: string]: any;
|
|
306
300
|
}
|
|
307
301
|
/**
|
|
308
|
-
* The comparison operator used when evaluating this input against observed values.
|
|
309
|
-
*
|
|
310
302
|
* Comparison operator for evaluating the input value against observed values. Numeric:
|
|
311
303
|
* eq/ne/lt/le/gt/ge. String: eq/ne/contains/matches. Collection: in/notIn.
|
|
312
304
|
*/
|
|
@@ -323,8 +315,6 @@ export declare enum ComparisonOperator {
|
|
|
323
315
|
NotIn = "notIn"
|
|
324
316
|
}
|
|
325
317
|
/**
|
|
326
|
-
* The data type of this input.
|
|
327
|
-
*
|
|
328
318
|
* The data type of the input value. Aligns with InSpec input types.
|
|
329
319
|
*/
|
|
330
320
|
export declare enum InputType {
|
|
@@ -336,27 +326,8 @@ export declare enum InputType {
|
|
|
336
326
|
String = "String"
|
|
337
327
|
}
|
|
338
328
|
/**
|
|
339
|
-
* Cryptographic integrity information for verifying
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
* Cryptographic integrity information for verifying the HDF file has not been tampered
|
|
343
|
-
* with. If algorithm is provided, checksum must also be provided, and vice versa.
|
|
344
|
-
*
|
|
345
|
-
* Cryptographic integrity information for verifying this file.
|
|
346
|
-
*
|
|
347
|
-
* Cryptographic integrity information for verifying this comparison document.
|
|
348
|
-
*
|
|
349
|
-
* Cryptographic integrity information for verifying this system document has not been
|
|
350
|
-
* tampered with.
|
|
351
|
-
*
|
|
352
|
-
* Cryptographic integrity information for verifying this plan document has not been
|
|
353
|
-
* tampered with.
|
|
354
|
-
*
|
|
355
|
-
* Cryptographic integrity information for verifying this amendments document has not been
|
|
356
|
-
* tampered with.
|
|
357
|
-
*
|
|
358
|
-
* Cryptographic integrity information for verifying this evidence package has not been
|
|
359
|
-
* tampered with.
|
|
329
|
+
* Cryptographic integrity information for verifying the HDF file has not been tampered with. If
|
|
330
|
+
* algorithm is provided, checksum must also be provided, and vice versa.
|
|
360
331
|
*/
|
|
361
332
|
export interface Integrity {
|
|
362
333
|
/**
|
|
@@ -378,10 +349,8 @@ export interface Integrity {
|
|
|
378
349
|
[property: string]: any;
|
|
379
350
|
}
|
|
380
351
|
/**
|
|
381
|
-
*
|
|
382
|
-
*
|
|
383
|
-
* Supported cryptographic hash algorithms for checksums and integrity verification. blake3
|
|
384
|
-
* covers container-image and other artifact digests that use it.
|
|
352
|
+
* Supported cryptographic hash algorithms for checksums and integrity verification. blake3 covers
|
|
353
|
+
* container-image and other artifact digests that use it.
|
|
385
354
|
*/
|
|
386
355
|
export declare enum HashAlgorithm {
|
|
387
356
|
Blake3 = "blake3",
|
|
@@ -390,32 +359,7 @@ export declare enum HashAlgorithm {
|
|
|
390
359
|
Sha512 = "sha512"
|
|
391
360
|
}
|
|
392
361
|
/**
|
|
393
|
-
* SHA-256 checksum of the original baseline definition file (before execution). This is an
|
|
394
|
-
* immutable reference to the baseline as defined, used to detect tampering with baseline
|
|
395
|
-
* requirements or metadata.
|
|
396
|
-
*
|
|
397
362
|
* Cryptographic checksum for baseline integrity verification.
|
|
398
|
-
*
|
|
399
|
-
* SHA-256 checksum of the previous amendment in chronological order. Creates a
|
|
400
|
-
* tamper-evident chain of amendments (similar to blockchain). Null for the first amendment
|
|
401
|
-
* on a requirement.
|
|
402
|
-
*
|
|
403
|
-
* SHA-256 checksum of the raw results before any amendments (statusOverrides or POAMs).
|
|
404
|
-
* Used to detect tampering with test results. Compare with currentChecksum to verify
|
|
405
|
-
* amendment integrity.
|
|
406
|
-
*
|
|
407
|
-
* Optional cryptographic checksum for verifying the integrity of remediation resources
|
|
408
|
-
* fetched from the URI. Recommended for security when referencing external automation
|
|
409
|
-
* scripts.
|
|
410
|
-
*
|
|
411
|
-
* Cryptographic checksum of the source document for integrity verification.
|
|
412
|
-
*
|
|
413
|
-
* Checksum of the prior amendment in the chain. Creates a tamper-evident linked list. Null
|
|
414
|
-
* for the first amendment.
|
|
415
|
-
*
|
|
416
|
-
* Cryptographic checksum for verifying the referenced document's integrity.
|
|
417
|
-
*
|
|
418
|
-
* Cryptographic checksum of the referenced artifact for integrity verification.
|
|
419
363
|
*/
|
|
420
364
|
export interface Checksum {
|
|
421
365
|
/**
|
|
@@ -430,9 +374,6 @@ export interface Checksum {
|
|
|
430
374
|
}
|
|
431
375
|
/**
|
|
432
376
|
* A requirement that has been evaluated, including any findings.
|
|
433
|
-
*
|
|
434
|
-
* Core requirement fields shared between baseline requirements and evaluated requirements.
|
|
435
|
-
* Contains the fundamental requirement definition without assessment results.
|
|
436
377
|
*/
|
|
437
378
|
export interface EvaluatedRequirement {
|
|
438
379
|
/**
|
|
@@ -581,14 +522,13 @@ export interface EvaluatedRequirement {
|
|
|
581
522
|
}
|
|
582
523
|
/**
|
|
583
524
|
* Represents a package referenced by a vulnerability finding or by an amendment's scope. On
|
|
584
|
-
* Evaluated_Requirement.affectedPackages it says 'this CVE affects these package versions'.
|
|
585
|
-
*
|
|
586
|
-
*
|
|
587
|
-
*
|
|
588
|
-
*
|
|
589
|
-
*
|
|
590
|
-
*
|
|
591
|
-
* sources without formal identifiers.
|
|
525
|
+
* Evaluated_Requirement.affectedPackages it says 'this CVE affects these package versions'. On
|
|
526
|
+
* Standalone_Override.affectedPackages it says 'this amendment is scoped to these packages' (used
|
|
527
|
+
* by VEX, OSCAL POA&M, FedRAMP component-aware amendments). NOT a system-level component identifier
|
|
528
|
+
* — see `components[]` on hdf-system for those. Validity requires at least one of: (name + version
|
|
529
|
+
* + ecosystem), purl alone, or cpe alone. purl and cpe are self-describing identifiers that encode
|
|
530
|
+
* name/version implicitly, so either may stand on its own; the name+version+ecosystem combination
|
|
531
|
+
* is the explicit form for sources without formal identifiers.
|
|
592
532
|
*/
|
|
593
533
|
export interface AffectedPackage {
|
|
594
534
|
/**
|
|
@@ -675,16 +615,12 @@ export declare enum ControlType {
|
|
|
675
615
|
Technical = "technical"
|
|
676
616
|
}
|
|
677
617
|
/**
|
|
678
|
-
*
|
|
679
|
-
*
|
|
680
|
-
*
|
|
681
|
-
*
|
|
682
|
-
*
|
|
683
|
-
*
|
|
684
|
-
* Environmental, and Supplemental metric groups. Supports all four CVSS major versions
|
|
685
|
-
* (2.0, 3.0, 3.1, 4.0). Vector strings are validated against a permissive umbrella grammar;
|
|
686
|
-
* semantic validation (correct metrics per version, correct values per metric) is performed
|
|
687
|
-
* by the hdf-utilities `validateCvssVector` helper rather than at the schema layer.
|
|
618
|
+
* A CVSS (Common Vulnerability Scoring System) score record for a vulnerability finding. Captures
|
|
619
|
+
* the vendor-supplied Base metric group and optional consumer-supplied Threat, Environmental, and
|
|
620
|
+
* Supplemental metric groups. Supports all four CVSS major versions (2.0, 3.0, 3.1, 4.0). Vector
|
|
621
|
+
* strings are validated against a permissive umbrella grammar; semantic validation (correct metrics
|
|
622
|
+
* per version, correct values per metric) is performed by the hdf-utilities `validateCvssVector`
|
|
623
|
+
* helper rather than at the schema layer.
|
|
688
624
|
*/
|
|
689
625
|
export interface Cvss {
|
|
690
626
|
/**
|
|
@@ -756,15 +692,9 @@ export interface Cvss {
|
|
|
756
692
|
[property: string]: any;
|
|
757
693
|
}
|
|
758
694
|
/**
|
|
759
|
-
* Qualitative severity band corresponding to baseScore. CVSS 2.0 does not natively use
|
|
760
|
-
* 'none' or 'critical' bands; map accordingly when populating.
|
|
761
|
-
*
|
|
762
695
|
* Qualitative CVSS severity band. Aligns with FIRST/NVD bands: none=0.0, low=0.1-3.9,
|
|
763
|
-
* medium=4.0-6.9, high=7.0-8.9, critical=9.0-10.0. Distinct from the broader Severity enum
|
|
764
|
-
*
|
|
765
|
-
*
|
|
766
|
-
* Qualitative severity band corresponding to computedScore. Same band convention as
|
|
767
|
-
* baseSeverity.
|
|
696
|
+
* medium=4.0-6.9, high=7.0-8.9, critical=9.0-10.0. Distinct from the broader Severity enum used on
|
|
697
|
+
* Requirement_Core (which includes 'informational').
|
|
768
698
|
*/
|
|
769
699
|
export declare enum CVSSSeverity {
|
|
770
700
|
Critical = "critical",
|
|
@@ -796,29 +726,19 @@ export interface Description {
|
|
|
796
726
|
[property: string]: any;
|
|
797
727
|
}
|
|
798
728
|
/**
|
|
799
|
-
* The type of
|
|
800
|
-
*
|
|
801
|
-
*
|
|
802
|
-
*
|
|
803
|
-
*
|
|
804
|
-
*
|
|
805
|
-
*
|
|
806
|
-
*
|
|
807
|
-
*
|
|
808
|
-
*
|
|
809
|
-
*
|
|
810
|
-
*
|
|
811
|
-
*
|
|
812
|
-
* 'riskAdjustment': impact score adjusted based on environmental context (FedRAMP Risk
|
|
813
|
-
* Adjustment); does not change pass/fail status, only impact via the impact field.
|
|
814
|
-
* 'operationalRequirement': deviation required by operational constraints (FedRAMP
|
|
815
|
-
* Operational Requirement); the finding cannot be remediated because the system requires
|
|
816
|
-
* the affected functionality. Remains an open risk. Migration note: 'exception' was removed
|
|
817
|
-
* in v3.1.0 — use 'waiver' with status 'notApplicable' instead.
|
|
818
|
-
*
|
|
819
|
-
* The type of override applied to this requirement.
|
|
820
|
-
*
|
|
821
|
-
* The type of amendment.
|
|
729
|
+
* The type of amendment, aligned with FedRAMP deviation request categories. 'waiver': risk accepted
|
|
730
|
+
* by Authorizing Official. 'attestation': manually verified by assessor. 'poam': remediation
|
|
731
|
+
* tracked (no status change). 'inherited': control provided by another component or system.
|
|
732
|
+
* 'falsePositive': scanner incorrectly identified a finding — for compliance scans (STIG, CIS), the
|
|
733
|
+
* check actually passes, so status is typically set to 'passed'; for vulnerability scans (CVE,
|
|
734
|
+
* SCA), the flagged vulnerability does not apply to this system, so status is typically set to
|
|
735
|
+
* 'notApplicable'. The disposition field on the requirement distinguishes false positives from
|
|
736
|
+
* genuinely not-applicable findings. 'riskAdjustment': impact score adjusted based on environmental
|
|
737
|
+
* context (FedRAMP Risk Adjustment); does not change pass/fail status, only impact via the impact
|
|
738
|
+
* field. 'operationalRequirement': deviation required by operational constraints (FedRAMP
|
|
739
|
+
* Operational Requirement); the finding cannot be remediated because the system requires the
|
|
740
|
+
* affected functionality. Remains an open risk. Migration note: 'exception' was removed in v3.1.0 —
|
|
741
|
+
* use 'waiver' with status 'notApplicable' instead.
|
|
822
742
|
*/
|
|
823
743
|
export declare enum OverrideType {
|
|
824
744
|
Attestation = "attestation",
|
|
@@ -830,20 +750,9 @@ export declare enum OverrideType {
|
|
|
830
750
|
Waiver = "waiver"
|
|
831
751
|
}
|
|
832
752
|
/**
|
|
833
|
-
* The
|
|
834
|
-
*
|
|
835
|
-
*
|
|
836
|
-
*
|
|
837
|
-
* The status of an individual test result. 'notApplicable' indicates the requirement does
|
|
838
|
-
* not apply to the target. 'notReviewed' indicates the requirement was not assessed (e.g.,
|
|
839
|
-
* requires manual verification).
|
|
840
|
-
*
|
|
841
|
-
* The status of this test within the requirement. Example: 'failed'.
|
|
842
|
-
*
|
|
843
|
-
* The new status this override sets for the requirement. Optional when only impact is being
|
|
844
|
-
* overridden.
|
|
845
|
-
*
|
|
846
|
-
* The new status this amendment sets. Optional when only impact is being overridden.
|
|
753
|
+
* The status of an individual test result. 'notApplicable' indicates the requirement does not apply
|
|
754
|
+
* to the target. 'notReviewed' indicates the requirement was not assessed (e.g., requires manual
|
|
755
|
+
* verification).
|
|
847
756
|
*/
|
|
848
757
|
export declare enum ResultStatus {
|
|
849
758
|
Error = "error",
|
|
@@ -853,13 +762,9 @@ export declare enum ResultStatus {
|
|
|
853
762
|
Passed = "passed"
|
|
854
763
|
}
|
|
855
764
|
/**
|
|
856
|
-
* FIRST.org
|
|
857
|
-
*
|
|
858
|
-
*
|
|
859
|
-
*
|
|
860
|
-
* FIRST.org Exploit Prediction Scoring System (EPSS) data for a single vulnerability. All
|
|
861
|
-
* three fields are required when an Epss object is present; the date disambiguates which
|
|
862
|
-
* day's score this is, since EPSS recomputes daily.
|
|
765
|
+
* FIRST.org Exploit Prediction Scoring System (EPSS) data for a single vulnerability. All three
|
|
766
|
+
* fields are required when an Epss object is present; the date disambiguates which day's score this
|
|
767
|
+
* is, since EPSS recomputes daily.
|
|
863
768
|
*/
|
|
864
769
|
export interface Epss {
|
|
865
770
|
/**
|
|
@@ -881,8 +786,8 @@ export interface Epss {
|
|
|
881
786
|
[property: string]: any;
|
|
882
787
|
}
|
|
883
788
|
/**
|
|
884
|
-
* Supporting evidence for a finding or override, such as screenshots, code samples, log
|
|
885
|
-
*
|
|
789
|
+
* Supporting evidence for a finding or override, such as screenshots, code samples, log excerpts,
|
|
790
|
+
* or URLs.
|
|
886
791
|
*/
|
|
887
792
|
export interface Evidence {
|
|
888
793
|
/**
|
|
@@ -921,41 +826,8 @@ export interface Evidence {
|
|
|
921
826
|
[property: string]: any;
|
|
922
827
|
}
|
|
923
828
|
/**
|
|
924
|
-
*
|
|
925
|
-
*
|
|
926
|
-
* Represents an identity that performed an action, such as capturing evidence or applying
|
|
927
|
-
* an override.
|
|
928
|
-
*
|
|
929
|
-
* Identity of who created this POA&M. For simple cases, use type 'simple' with just an
|
|
930
|
-
* identifier.
|
|
931
|
-
*
|
|
932
|
-
* Identity of who completed this milestone.
|
|
933
|
-
*
|
|
934
|
-
* The identity that created this signature.
|
|
935
|
-
*
|
|
936
|
-
* Identity of who applied this override. For simple cases, use type 'simple' with just an
|
|
937
|
-
* identifier.
|
|
938
|
-
*
|
|
939
|
-
* Identity of the person or system that approved this override.
|
|
940
|
-
*
|
|
941
|
-
* Team or individual responsible for this component. Enables per-component ownership when
|
|
942
|
-
* different teams manage different parts of a system.
|
|
943
|
-
*
|
|
944
|
-
* The identity of the person or system responsible for executing the test. This could be a
|
|
945
|
-
* human auditor manually completing a checklist, an automated CI/CD system, or a security
|
|
946
|
-
* tool. Optional field to support both automated and manual HDF generation.
|
|
947
|
-
*
|
|
948
|
-
* Team or individual responsible for this system's authorization and compliance. Maps to
|
|
949
|
-
* OSCAL responsible-party with role 'system-owner'.
|
|
950
|
-
*
|
|
951
|
-
* Default identity of who created this amendments document. Individual overrides may
|
|
952
|
-
* specify their own appliedBy.
|
|
953
|
-
*
|
|
954
|
-
* Identity of the authorizing official who approved these amendments.
|
|
955
|
-
*
|
|
956
|
-
* Identity of who applied this amendment.
|
|
957
|
-
*
|
|
958
|
-
* Identity of who prepared this evidence package.
|
|
829
|
+
* Represents an identity that performed an action, such as capturing evidence or applying an
|
|
830
|
+
* override.
|
|
959
831
|
*/
|
|
960
832
|
export interface Identity {
|
|
961
833
|
/**
|
|
@@ -1035,9 +907,9 @@ export interface Kev {
|
|
|
1035
907
|
[property: string]: any;
|
|
1036
908
|
}
|
|
1037
909
|
/**
|
|
1038
|
-
* Plan of Action and Milestones for tracking remediation, mitigation, or risk acceptance.
|
|
1039
|
-
*
|
|
1040
|
-
*
|
|
910
|
+
* Plan of Action and Milestones for tracking remediation, mitigation, or risk acceptance. POAMs do
|
|
911
|
+
* NOT change the effectiveStatus - the requirement remains in its current state while the POA&M
|
|
912
|
+
* tracks remediation efforts.
|
|
1041
913
|
*/
|
|
1042
914
|
export interface Poam {
|
|
1043
915
|
/**
|
|
@@ -1119,21 +991,9 @@ export declare enum MilestoneStatus {
|
|
|
1119
991
|
Pending = "pending"
|
|
1120
992
|
}
|
|
1121
993
|
/**
|
|
1122
|
-
*
|
|
1123
|
-
*
|
|
1124
|
-
*
|
|
1125
|
-
* security tokens (PKCS#11/PKCS#12), Yubikeys, GPG keys, passkeys, and other cryptographic
|
|
1126
|
-
* signing methods via JWK, PEM, or Base58 key formats.
|
|
1127
|
-
*
|
|
1128
|
-
* Optional digital signature for enhanced trust and non-repudiation. Supports hardware
|
|
1129
|
-
* security tokens (PKCS#11/PKCS#12), Yubikeys, GPG keys, passkeys, and other signing
|
|
1130
|
-
* methods.
|
|
1131
|
-
*
|
|
1132
|
-
* Digital signature for non-repudiation.
|
|
1133
|
-
*
|
|
1134
|
-
* Document-level digital signature covering all amendments.
|
|
1135
|
-
*
|
|
1136
|
-
* Digital signature covering the entire evidence package.
|
|
994
|
+
* A digital signature following W3C Data Integrity Proofs pattern. Supports hardware security
|
|
995
|
+
* tokens (PKCS#11/PKCS#12), Yubikeys, GPG keys, passkeys, and other cryptographic signing methods
|
|
996
|
+
* via JWK, PEM, or Base58 key formats.
|
|
1137
997
|
*/
|
|
1138
998
|
export interface Signature {
|
|
1139
999
|
/**
|
|
@@ -1177,10 +1037,8 @@ export interface Signature {
|
|
|
1177
1037
|
[property: string]: any;
|
|
1178
1038
|
}
|
|
1179
1039
|
/**
|
|
1180
|
-
*
|
|
1181
|
-
*
|
|
1182
|
-
* Verification method containing the public key needed to verify a digital signature.
|
|
1183
|
-
* Supports multiple key formats including JWK (for RSA, EC), PEM, and Base58.
|
|
1040
|
+
* Verification method containing the public key needed to verify a digital signature. Supports
|
|
1041
|
+
* multiple key formats including JWK (for RSA, EC), PEM, and Base58.
|
|
1184
1042
|
*/
|
|
1185
1043
|
export interface VerificationMethod {
|
|
1186
1044
|
/**
|
|
@@ -1222,12 +1080,6 @@ export declare enum POAMType {
|
|
|
1222
1080
|
}
|
|
1223
1081
|
/**
|
|
1224
1082
|
* A reference to an external document.
|
|
1225
|
-
*
|
|
1226
|
-
* A reference using the 'ref' field.
|
|
1227
|
-
*
|
|
1228
|
-
* A URL pointing at the reference.
|
|
1229
|
-
*
|
|
1230
|
-
* A URI pointing at the reference.
|
|
1231
1083
|
*/
|
|
1232
1084
|
export interface Reference {
|
|
1233
1085
|
ref?: {
|
|
@@ -1282,9 +1134,6 @@ export interface RequirementResult {
|
|
|
1282
1134
|
[property: string]: any;
|
|
1283
1135
|
}
|
|
1284
1136
|
/**
|
|
1285
|
-
* Explicit severity rating. Typically derived from impact score but provided explicitly for
|
|
1286
|
-
* clarity.
|
|
1287
|
-
*
|
|
1288
1137
|
* Severity rating for a requirement. Typically derived from the numeric impact score.
|
|
1289
1138
|
*/
|
|
1290
1139
|
export declare enum Severity {
|
|
@@ -1295,8 +1144,6 @@ export declare enum Severity {
|
|
|
1295
1144
|
Medium = "medium"
|
|
1296
1145
|
}
|
|
1297
1146
|
/**
|
|
1298
|
-
* The explicit location of the requirement within the source code.
|
|
1299
|
-
*
|
|
1300
1147
|
* The explicit location of a requirement within source code.
|
|
1301
1148
|
*/
|
|
1302
1149
|
export interface SourceLocation {
|
|
@@ -1311,9 +1158,9 @@ export interface SourceLocation {
|
|
|
1311
1158
|
[property: string]: any;
|
|
1312
1159
|
}
|
|
1313
1160
|
/**
|
|
1314
|
-
* An intentional change to a requirement's compliance status and/or impact score. At least
|
|
1315
|
-
*
|
|
1316
|
-
*
|
|
1161
|
+
* An intentional change to a requirement's compliance status and/or impact score. At least one of
|
|
1162
|
+
* status or impact must be set. Overrides change the effectiveStatus or impact of the requirement.
|
|
1163
|
+
* All overrides must have an expiration date to enforce periodic review.
|
|
1317
1164
|
*/
|
|
1318
1165
|
export interface StatusOverride {
|
|
1319
1166
|
/**
|
|
@@ -1381,11 +1228,8 @@ export interface StatusOverride {
|
|
|
1381
1228
|
[property: string]: any;
|
|
1382
1229
|
}
|
|
1383
1230
|
/**
|
|
1384
|
-
*
|
|
1385
|
-
*
|
|
1386
|
-
*
|
|
1387
|
-
* An override to the requirement's impact score. The prior impact is the original result
|
|
1388
|
-
* value or the preceding override in the chain.
|
|
1231
|
+
* An override to the requirement's impact score. The prior impact is the original result value or
|
|
1232
|
+
* the preceding override in the chain.
|
|
1389
1233
|
*/
|
|
1390
1234
|
export interface ImpactOverride {
|
|
1391
1235
|
/**
|
|
@@ -1395,28 +1239,21 @@ export interface ImpactOverride {
|
|
|
1395
1239
|
[property: string]: any;
|
|
1396
1240
|
}
|
|
1397
1241
|
/**
|
|
1398
|
-
* Structured controlled-vocabulary
|
|
1399
|
-
*
|
|
1400
|
-
*
|
|
1401
|
-
*
|
|
1402
|
-
*
|
|
1403
|
-
*
|
|
1404
|
-
*
|
|
1405
|
-
*
|
|
1406
|
-
*
|
|
1407
|
-
*
|
|
1408
|
-
*
|
|
1409
|
-
*
|
|
1410
|
-
*
|
|
1411
|
-
*
|
|
1412
|
-
*
|
|
1413
|
-
* requires_dependency / requires_environment / protected_by_compiler / protected_at_runtime
|
|
1414
|
-
* / protected_at_perimeter) are CycloneDX-specific and describe why the vulnerable code
|
|
1415
|
-
* path is unreachable in the deployed configuration. The enum is extended additively across
|
|
1416
|
-
* schema versions as other ecosystems' controlled vocabularies are integrated; documents
|
|
1417
|
-
* using values added in a newer schema version will fail validation against an older
|
|
1418
|
-
* schema. Consumers SHOULD validate against the schema version declared by the document
|
|
1419
|
-
* ($schema) rather than assume a fixed vocabulary.
|
|
1242
|
+
* Structured controlled-vocabulary reason for an override, complementing the free-text 'reason'
|
|
1243
|
+
* field. 'reason' carries the human-readable rationale an auditor reads; 'justification' carries
|
|
1244
|
+
* the machine-readable category enabling filtering, aggregation, and lossless round-trip with
|
|
1245
|
+
* structured ecosystems (VEX, OSCAL, FedRAMP DR). Both fields may be present simultaneously and are
|
|
1246
|
+
* NOT redundant: 'reason' explains the specific circumstance; 'justification' classifies it.
|
|
1247
|
+
* Authors SHOULD populate both when a controlled-vocabulary value applies — the enum value alone is
|
|
1248
|
+
* not self-explanatory to an auditor. The vocabulary is drawn from the VEX ecosystem: the first
|
|
1249
|
+
* five values are common across OpenVEX, CSAF VEX, and CycloneDX VEX; the remaining six
|
|
1250
|
+
* (requires_configuration / requires_dependency / requires_environment / protected_by_compiler /
|
|
1251
|
+
* protected_at_runtime / protected_at_perimeter) are CycloneDX-specific and describe why the
|
|
1252
|
+
* vulnerable code path is unreachable in the deployed configuration. The enum is extended
|
|
1253
|
+
* additively across schema versions as other ecosystems' controlled vocabularies are integrated;
|
|
1254
|
+
* documents using values added in a newer schema version will fail validation against an older
|
|
1255
|
+
* schema. Consumers SHOULD validate against the schema version declared by the document ($schema)
|
|
1256
|
+
* rather than assume a fixed vocabulary.
|
|
1420
1257
|
*/
|
|
1421
1258
|
export declare enum Justification {
|
|
1422
1259
|
ComponentNotPresent = "component_not_present",
|
|
@@ -1432,19 +1269,12 @@ export declare enum Justification {
|
|
|
1432
1269
|
VulnerableCodeNotPresent = "vulnerable_code_not_present"
|
|
1433
1270
|
}
|
|
1434
1271
|
/**
|
|
1435
|
-
* How
|
|
1436
|
-
*
|
|
1437
|
-
*
|
|
1438
|
-
*
|
|
1439
|
-
*
|
|
1440
|
-
*
|
|
1441
|
-
*
|
|
1442
|
-
* How a requirement is intended to be verified. Disambiguates the two cases that null
|
|
1443
|
-
* 'code' overloads: 'manual-by-design' (the requirement is statement-form and not amenable
|
|
1444
|
-
* to automation, e.g. FedRAMP 20x KSIs); 'manual-pending-automation' (automation could
|
|
1445
|
-
* exist but does not yet, e.g. a STIG rule lacking a fix). 'automated' = a check exists and
|
|
1446
|
-
* runs without operator action; 'hybrid' = part automated, part manual. Named '_Enum' to
|
|
1447
|
-
* disambiguate from the unrelated Verification_Method DID-context struct.
|
|
1272
|
+
* How a requirement is intended to be verified. Disambiguates the two cases that null 'code'
|
|
1273
|
+
* overloads: 'manual-by-design' (the requirement is statement-form and not amenable to automation,
|
|
1274
|
+
* e.g. FedRAMP 20x KSIs); 'manual-pending-automation' (automation could exist but does not yet,
|
|
1275
|
+
* e.g. a STIG rule lacking a fix). 'automated' = a check exists and runs without operator action;
|
|
1276
|
+
* 'hybrid' = part automated, part manual. Named '_Enum' to disambiguate from the unrelated
|
|
1277
|
+
* Verification_Method DID-context struct.
|
|
1448
1278
|
*/
|
|
1449
1279
|
export declare enum VerificationMethodEnum {
|
|
1450
1280
|
Automated = "automated",
|
|
@@ -1475,44 +1305,8 @@ export interface SupportedPlatform {
|
|
|
1475
1305
|
[property: string]: any;
|
|
1476
1306
|
}
|
|
1477
1307
|
/**
|
|
1478
|
-
* A system component. Uses discriminated union pattern with 'type' field as discriminator.
|
|
1479
|
-
*
|
|
1480
|
-
*
|
|
1481
|
-
* A physical or virtual server, workstation, or network device.
|
|
1482
|
-
*
|
|
1483
|
-
* Base properties shared by all component types. Extends the Target concept with stable
|
|
1484
|
-
* identity, external references, generalized BOM attachment (boms[]), and unified artifact
|
|
1485
|
-
* integrity (integrity[]).
|
|
1486
|
-
*
|
|
1487
|
-
* A static container image (not running). Image integrity — formerly the 'digest' field —
|
|
1488
|
-
* is expressed via the shared Base_Component.integrity array.
|
|
1489
|
-
*
|
|
1490
|
-
* A running container instance.
|
|
1491
|
-
*
|
|
1492
|
-
* A container orchestration platform (Kubernetes, OpenShift, ECS, etc.).
|
|
1493
|
-
*
|
|
1494
|
-
* A cloud provider account (AWS account, Azure subscription, GCP project).
|
|
1495
|
-
*
|
|
1496
|
-
* A specific cloud resource (EC2 instance, S3 bucket, Azure VM, etc.).
|
|
1497
|
-
*
|
|
1498
|
-
* A code repository (for SAST tools).
|
|
1499
|
-
*
|
|
1500
|
-
* A running application or API (for DAST tools).
|
|
1501
|
-
*
|
|
1502
|
-
* A software artifact or dependency (for SCA tools). Package integrity — formerly the
|
|
1503
|
-
* 'checksum' field — is expressed via the shared Base_Component.integrity array.
|
|
1504
|
-
*
|
|
1505
|
-
* A network segment or network device.
|
|
1506
|
-
*
|
|
1507
|
-
* A database instance.
|
|
1508
|
-
*
|
|
1509
|
-
* A thin AI-model component: identity and correlation only (parallel to Host_Component's
|
|
1510
|
-
* fqdn/ip). All model detail — architecture, parameter count, serialization format, lineage
|
|
1511
|
-
* — lives in an attached ai-model BOM (boms[]), never on the component itself.
|
|
1512
|
-
*
|
|
1513
|
-
* A thin dataset component: identity and correlation only, symmetric with
|
|
1514
|
-
* AI_Model_Component. All dataset detail — record count, format, classification, lineage —
|
|
1515
|
-
* lives in an attached dataset BOM (boms[]), never on the component itself.
|
|
1308
|
+
* A system component. Uses discriminated union pattern with 'type' field as discriminator. Superset
|
|
1309
|
+
* of Target with identity, external IDs, and SBOM support.
|
|
1516
1310
|
*/
|
|
1517
1311
|
export interface Component {
|
|
1518
1312
|
/**
|
|
@@ -1821,12 +1615,10 @@ export interface BillOfMaterials {
|
|
|
1821
1615
|
uniqueId?: string;
|
|
1822
1616
|
}
|
|
1823
1617
|
/**
|
|
1824
|
-
* Normalized dataset
|
|
1825
|
-
*
|
|
1826
|
-
*
|
|
1827
|
-
*
|
|
1828
|
-
* AI_Model_Extension: carries the dataset's own lineage (baseDatasetRefs/derivation) just
|
|
1829
|
-
* as the model extension carries baseModelRef/adaptationType.
|
|
1618
|
+
* Normalized dataset fields (SPDX 3.0 Dataset profile / MLCommons Croissant aligned). All optional;
|
|
1619
|
+
* open for partial-fidelity passthrough of unmapped native fields. Symmetric with
|
|
1620
|
+
* AI_Model_Extension: carries the dataset's own lineage (baseDatasetRefs/derivation) just as the
|
|
1621
|
+
* model extension carries baseModelRef/adaptationType.
|
|
1830
1622
|
*/
|
|
1831
1623
|
export interface DatasetBOMExtension {
|
|
1832
1624
|
/**
|
|
@@ -1891,13 +1683,11 @@ export declare enum DatasetDerivationType {
|
|
|
1891
1683
|
Sampled = "sampled"
|
|
1892
1684
|
}
|
|
1893
1685
|
/**
|
|
1894
|
-
* Normalized
|
|
1895
|
-
*
|
|
1896
|
-
*
|
|
1897
|
-
*
|
|
1898
|
-
*
|
|
1899
|
-
* native fields opaquely (partial-fidelity pattern). Subject name/version are inherited
|
|
1900
|
-
* from the host aiModel component, not repeated here.
|
|
1686
|
+
* Normalized AI-model fields, aligned to the CISA/G7 'SBOM for AI' minimum elements. All fields
|
|
1687
|
+
* optional (standards-correct; only the EU AI Act makes a subset binding for high-risk/GPAI). Left
|
|
1688
|
+
* open (additionalProperties: true) so a converter can carry unmapped native fields opaquely
|
|
1689
|
+
* (partial-fidelity pattern). Subject name/version are inherited from the host aiModel component,
|
|
1690
|
+
* not repeated here.
|
|
1901
1691
|
*/
|
|
1902
1692
|
export interface AIModelBOMExtension {
|
|
1903
1693
|
/**
|
|
@@ -2032,9 +1822,8 @@ export interface PerformanceMetric {
|
|
|
2032
1822
|
[property: string]: any;
|
|
2033
1823
|
}
|
|
2034
1824
|
/**
|
|
2035
|
-
* A single normalized software package entry within an sbom BOM. Minimal identity + version
|
|
2036
|
-
*
|
|
2037
|
-
* (document/ref).
|
|
1825
|
+
* A single normalized software package entry within an sbom BOM. Minimal identity + version for
|
|
1826
|
+
* querying/diffing; the full native record remains available via passthrough (document/ref).
|
|
2038
1827
|
*/
|
|
2039
1828
|
export interface SBOMPackage {
|
|
2040
1829
|
/**
|
|
@@ -2056,8 +1845,8 @@ export interface SBOMPackage {
|
|
|
2056
1845
|
[property: string]: any;
|
|
2057
1846
|
}
|
|
2058
1847
|
/**
|
|
2059
|
-
* An override of a baseline input value for a specific component. Enables system-specific
|
|
2060
|
-
*
|
|
1848
|
+
* An override of a baseline input value for a specific component. Enables system-specific tailoring
|
|
1849
|
+
* of baseline parameters.
|
|
2061
1850
|
*/
|
|
2062
1851
|
export interface InputOverride {
|
|
2063
1852
|
/**
|
|
@@ -2110,19 +1899,7 @@ export declare enum TargetType {
|
|
|
2110
1899
|
Repository = "repository"
|
|
2111
1900
|
}
|
|
2112
1901
|
/**
|
|
2113
|
-
* Information about the tool that generated this file.
|
|
2114
|
-
*
|
|
2115
1902
|
* Information about the tool that generated this HDF file.
|
|
2116
|
-
*
|
|
2117
|
-
* The tool that generated this file.
|
|
2118
|
-
*
|
|
2119
|
-
* Information about the tool that generated this comparison.
|
|
2120
|
-
*
|
|
2121
|
-
* Information about the tool that generated this system document.
|
|
2122
|
-
*
|
|
2123
|
-
* Information about the tool that generated this plan.
|
|
2124
|
-
*
|
|
2125
|
-
* Information about the tool that generated this document.
|
|
2126
1903
|
*/
|
|
2127
1904
|
export interface Generator {
|
|
2128
1905
|
/**
|
|
@@ -2136,15 +1913,9 @@ export interface Generator {
|
|
|
2136
1913
|
[property: string]: any;
|
|
2137
1914
|
}
|
|
2138
1915
|
/**
|
|
2139
|
-
*
|
|
2140
|
-
*
|
|
2141
|
-
*
|
|
2142
|
-
* Reference to automated remediation resources for implementing security controls. Points
|
|
2143
|
-
* to external automation content like Ansible playbooks, Terraform scripts, or
|
|
2144
|
-
* vendor-provided remediation tools.
|
|
2145
|
-
*
|
|
2146
|
-
* Optional reference to automated remediation resources (Ansible playbooks, Terraform
|
|
2147
|
-
* scripts, etc.) for implementing the security controls defined in this baseline.
|
|
1916
|
+
* Reference to automated remediation resources for implementing security controls. Points to
|
|
1917
|
+
* external automation content like Ansible playbooks, Terraform scripts, or vendor-provided
|
|
1918
|
+
* remediation tools.
|
|
2148
1919
|
*/
|
|
2149
1920
|
export interface Remediation {
|
|
2150
1921
|
/**
|
|
@@ -2162,12 +1933,8 @@ export interface Remediation {
|
|
|
2162
1933
|
[property: string]: any;
|
|
2163
1934
|
}
|
|
2164
1935
|
/**
|
|
2165
|
-
* Information about the test execution environment
|
|
2166
|
-
*
|
|
2167
|
-
*
|
|
2168
|
-
* Information about the test execution environment. This is distinct from the target being
|
|
2169
|
-
* scanned - the runner is where the security tool executes, while targets are what is being
|
|
2170
|
-
* assessed.
|
|
1936
|
+
* Information about the test execution environment. This is distinct from the target being scanned
|
|
1937
|
+
* - the runner is where the security tool executes, while targets are what is being assessed.
|
|
2171
1938
|
*/
|
|
2172
1939
|
export interface Runner {
|
|
2173
1940
|
/**
|
|
@@ -2218,8 +1985,6 @@ export interface Runner {
|
|
|
2218
1985
|
[property: string]: any;
|
|
2219
1986
|
}
|
|
2220
1987
|
/**
|
|
2221
|
-
* Statistics for the assessment run, including duration and result counts.
|
|
2222
|
-
*
|
|
2223
1988
|
* Statistics for the assessment run(s) such as duration and result counts.
|
|
2224
1989
|
*/
|
|
2225
1990
|
export interface Statistics {
|
|
@@ -2234,8 +1999,6 @@ export interface Statistics {
|
|
|
2234
1999
|
[property: string]: any;
|
|
2235
2000
|
}
|
|
2236
2001
|
/**
|
|
2237
|
-
* Breakdowns of requirement statistics by result status.
|
|
2238
|
-
*
|
|
2239
2002
|
* Statistics for requirement results, grouped by status.
|
|
2240
2003
|
*/
|
|
2241
2004
|
export interface StatisticHash {
|
|
@@ -2262,17 +2025,7 @@ export interface StatisticHash {
|
|
|
2262
2025
|
[property: string]: any;
|
|
2263
2026
|
}
|
|
2264
2027
|
/**
|
|
2265
|
-
* Statistics for requirements that encountered an error during assessment.
|
|
2266
|
-
*
|
|
2267
2028
|
* Statistics for a given item, such as the total count.
|
|
2268
|
-
*
|
|
2269
|
-
* Statistics for requirements that failed.
|
|
2270
|
-
*
|
|
2271
|
-
* Statistics for requirements that are not applicable to the target.
|
|
2272
|
-
*
|
|
2273
|
-
* Statistics for requirements that were not reviewed (manual check required).
|
|
2274
|
-
*
|
|
2275
|
-
* Statistics for requirements that passed.
|
|
2276
2029
|
*/
|
|
2277
2030
|
export interface StatisticBlock {
|
|
2278
2031
|
/**
|
|
@@ -2282,12 +2035,8 @@ export interface StatisticBlock {
|
|
|
2282
2035
|
[property: string]: any;
|
|
2283
2036
|
}
|
|
2284
2037
|
/**
|
|
2285
|
-
* The security tool that produced the assessment data in this file.
|
|
2286
|
-
*
|
|
2287
|
-
* The security tool that produced the assessment data represented in this HDF file. Aligns
|
|
2288
|
-
* with SARIF, OSCAL, and CycloneDX terminology.
|
|
2289
|
-
*
|
|
2290
|
-
* The security tool that produced the assessment data in this source.
|
|
2038
|
+
* The security tool that produced the assessment data represented in this HDF file. Aligns with
|
|
2039
|
+
* SARIF, OSCAL, and CycloneDX terminology.
|
|
2291
2040
|
*/
|
|
2292
2041
|
export interface Tool {
|
|
2293
2042
|
/**
|
|
@@ -2308,11 +2057,8 @@ export interface Tool {
|
|
|
2308
2057
|
[property: string]: any;
|
|
2309
2058
|
}
|
|
2310
2059
|
/**
|
|
2311
|
-
* Information on the set of requirements that can be assessed, including baseline metadata
|
|
2312
|
-
*
|
|
2313
|
-
*
|
|
2314
|
-
* Shared metadata fields for baselines. Used in both standalone baseline documents and
|
|
2315
|
-
* evaluated baseline results.
|
|
2060
|
+
* Information on the set of requirements that can be assessed, including baseline metadata and
|
|
2061
|
+
* requirement definitions.
|
|
2316
2062
|
*/
|
|
2317
2063
|
export interface HDFBaseline {
|
|
2318
2064
|
/**
|
|
@@ -2396,9 +2142,6 @@ export interface HDFBaseline {
|
|
|
2396
2142
|
}
|
|
2397
2143
|
/**
|
|
2398
2144
|
* A requirement definition without assessment results.
|
|
2399
|
-
*
|
|
2400
|
-
* Core requirement fields shared between baseline requirements and evaluated requirements.
|
|
2401
|
-
* Contains the fundamental requirement definition without assessment results.
|
|
2402
2145
|
*/
|
|
2403
2146
|
export interface BaselineRequirement {
|
|
2404
2147
|
/**
|
|
@@ -2475,8 +2218,8 @@ export interface BaselineRequirement {
|
|
|
2475
2218
|
[property: string]: any;
|
|
2476
2219
|
}
|
|
2477
2220
|
/**
|
|
2478
|
-
* Structured comparison between two or more HDF security assessment documents. Supports
|
|
2479
|
-
*
|
|
2221
|
+
* Structured comparison between two or more HDF security assessment documents. Supports temporal,
|
|
2222
|
+
* baseline, fleet, and multi-source comparison modes.
|
|
2480
2223
|
*/
|
|
2481
2224
|
export interface HDFComparison {
|
|
2482
2225
|
/**
|
|
@@ -2578,8 +2321,6 @@ export interface Annotation {
|
|
|
2578
2321
|
[property: string]: any;
|
|
2579
2322
|
}
|
|
2580
2323
|
/**
|
|
2581
|
-
* The category of this annotation.
|
|
2582
|
-
*
|
|
2583
2324
|
* The category of an annotation attached to a comparison.
|
|
2584
2325
|
*/
|
|
2585
2326
|
export declare enum AnnotationCategory {
|
|
@@ -2627,13 +2368,11 @@ export declare enum BaselineDiffState {
|
|
|
2627
2368
|
Updated = "updated"
|
|
2628
2369
|
}
|
|
2629
2370
|
/**
|
|
2630
|
-
* The mode of comparison
|
|
2631
|
-
*
|
|
2632
|
-
*
|
|
2633
|
-
*
|
|
2634
|
-
*
|
|
2635
|
-
* baseline documents to detect requirement changes between versions. 'systemDrift' compares
|
|
2636
|
-
* two system documents to detect component-level changes.
|
|
2371
|
+
* The mode of comparison. 'temporal' compares the same target over time. 'baseline' compares
|
|
2372
|
+
* against a golden reference. 'fleet' compares across multiple systems. 'multiSource' compares
|
|
2373
|
+
* outputs from different scanners. 'baselineEvolution' compares two baseline documents to detect
|
|
2374
|
+
* requirement changes between versions. 'systemDrift' compares two system documents to detect
|
|
2375
|
+
* component-level changes.
|
|
2637
2376
|
*/
|
|
2638
2377
|
export declare enum ComparisonMode {
|
|
2639
2378
|
Baseline = "baseline",
|
|
@@ -2835,8 +2574,6 @@ export interface ScannerConflict {
|
|
|
2835
2574
|
[property: string]: any;
|
|
2836
2575
|
}
|
|
2837
2576
|
/**
|
|
2838
|
-
* How the conflict was resolved.
|
|
2839
|
-
*
|
|
2840
2577
|
* How a conflict between multiple scanner results was resolved.
|
|
2841
2578
|
*/
|
|
2842
2579
|
export declare enum ConflictResolution {
|
|
@@ -2861,13 +2598,9 @@ export interface Value {
|
|
|
2861
2598
|
[property: string]: any;
|
|
2862
2599
|
}
|
|
2863
2600
|
/**
|
|
2864
|
-
* The strategy
|
|
2865
|
-
*
|
|
2866
|
-
*
|
|
2867
|
-
* IDs. 'mappedId' uses an ID mapping table. 'cciMatch'/'nistMatch' match by framework
|
|
2868
|
-
* identifiers. 'fuzzyTitle'/'fuzzyContent' use text similarity.
|
|
2869
|
-
*
|
|
2870
|
-
* The primary strategy used to match requirements across sources.
|
|
2601
|
+
* The strategy used to match requirements across sources. 'exactId' matches by identical IDs.
|
|
2602
|
+
* 'mappedId' uses an ID mapping table. 'cciMatch'/'nistMatch' match by framework identifiers.
|
|
2603
|
+
* 'fuzzyTitle'/'fuzzyContent' use text similarity.
|
|
2871
2604
|
*/
|
|
2872
2605
|
export declare enum MatchStrategy {
|
|
2873
2606
|
CciMatch = "cciMatch",
|
|
@@ -2878,12 +2611,10 @@ export declare enum MatchStrategy {
|
|
|
2878
2611
|
NISTMatch = "nistMatch"
|
|
2879
2612
|
}
|
|
2880
2613
|
/**
|
|
2881
|
-
*
|
|
2882
|
-
*
|
|
2883
|
-
*
|
|
2884
|
-
*
|
|
2885
|
-
* changed (generic), 'fixed' = was failing now passing, 'regressed' = was passing now
|
|
2886
|
-
* failing, 'moved' = reorganized same content, 'split'/'merged' = reserved for v1.1.
|
|
2614
|
+
* SARIF-compatible vocabulary extended for security. 'new' = present only in new source, 'absent' =
|
|
2615
|
+
* present only in old, 'unchanged' = same effective status, 'updated' = status changed (generic),
|
|
2616
|
+
* 'fixed' = was failing now passing, 'regressed' = was passing now failing, 'moved' = reorganized
|
|
2617
|
+
* same content, 'split'/'merged' = reserved for v1.1.
|
|
2887
2618
|
*/
|
|
2888
2619
|
export declare enum RequirementState {
|
|
2889
2620
|
Absent = "absent",
|
|
@@ -2900,8 +2631,6 @@ export declare enum FormatVersion {
|
|
|
2900
2631
|
The100 = "1.0.0"
|
|
2901
2632
|
}
|
|
2902
2633
|
/**
|
|
2903
|
-
* Configuration for how requirements were matched across sources.
|
|
2904
|
-
*
|
|
2905
2634
|
* Configuration for how requirements are matched across sources.
|
|
2906
2635
|
*/
|
|
2907
2636
|
export interface MatchingConfig {
|
|
@@ -3044,8 +2773,6 @@ export declare enum OriginalFormat {
|
|
|
3044
2773
|
Xccdf = "xccdf"
|
|
3045
2774
|
}
|
|
3046
2775
|
/**
|
|
3047
|
-
* The role of this source in the comparison.
|
|
3048
|
-
*
|
|
3049
2776
|
* The role of a source document in the comparison.
|
|
3050
2777
|
*/
|
|
3051
2778
|
export declare enum SourceRole {
|
|
@@ -3130,8 +2857,6 @@ export interface ComparisonSummary {
|
|
|
3130
2857
|
[property: string]: any;
|
|
3131
2858
|
}
|
|
3132
2859
|
/**
|
|
3133
|
-
* State counts broken down by severity level.
|
|
3134
|
-
*
|
|
3135
2860
|
* Breakdown of state counts by severity level.
|
|
3136
2861
|
*/
|
|
3137
2862
|
export interface SeverityBreakdown {
|
|
@@ -3154,15 +2879,7 @@ export interface SeverityBreakdown {
|
|
|
3154
2879
|
[property: string]: any;
|
|
3155
2880
|
}
|
|
3156
2881
|
/**
|
|
3157
|
-
* State counts for critical severity requirements.
|
|
3158
|
-
*
|
|
3159
2882
|
* Counts of requirements in each state.
|
|
3160
|
-
*
|
|
3161
|
-
* State counts for high severity requirements.
|
|
3162
|
-
*
|
|
3163
|
-
* State counts for low severity requirements.
|
|
3164
|
-
*
|
|
3165
|
-
* State counts for medium severity requirements.
|
|
3166
2883
|
*/
|
|
3167
2884
|
export interface StateCounts {
|
|
3168
2885
|
/**
|
|
@@ -3238,8 +2955,8 @@ export interface PerSourceSummary {
|
|
|
3238
2955
|
[property: string]: any;
|
|
3239
2956
|
}
|
|
3240
2957
|
/**
|
|
3241
|
-
* Describes a system's authorization boundary, components, and interconnections. Maps to
|
|
3242
|
-
*
|
|
2958
|
+
* Describes a system's authorization boundary, components, and interconnections. Maps to OSCAL SSP
|
|
2959
|
+
* system-characteristics and FedRAMP system inventory.
|
|
3243
2960
|
*/
|
|
3244
2961
|
export interface HDFSystem {
|
|
3245
2962
|
/**
|
|
@@ -3333,8 +3050,6 @@ export interface HDFSystem {
|
|
|
3333
3050
|
[property: string]: any;
|
|
3334
3051
|
}
|
|
3335
3052
|
/**
|
|
3336
|
-
* Current Authorization to Operate (ATO) status.
|
|
3337
|
-
*
|
|
3338
3053
|
* Authorization to Operate (ATO) status for the system.
|
|
3339
3054
|
*/
|
|
3340
3055
|
export declare enum AuthorizationStatus {
|
|
@@ -3346,8 +3061,6 @@ export declare enum AuthorizationStatus {
|
|
|
3346
3061
|
Revoked = "revoked"
|
|
3347
3062
|
}
|
|
3348
3063
|
/**
|
|
3349
|
-
* FIPS 199 security categorization (impact level).
|
|
3350
|
-
*
|
|
3351
3064
|
* FIPS 199 security categorization level (impact level).
|
|
3352
3065
|
*/
|
|
3353
3066
|
export declare enum CategorizationLevel {
|
|
@@ -3356,10 +3069,10 @@ export declare enum CategorizationLevel {
|
|
|
3356
3069
|
Moderate = "moderate"
|
|
3357
3070
|
}
|
|
3358
3071
|
/**
|
|
3359
|
-
* Declares a control's designation within a system — whether it is common (provided by
|
|
3360
|
-
*
|
|
3361
|
-
*
|
|
3362
|
-
*
|
|
3072
|
+
* Declares a control's designation within a system — whether it is common (provided by another
|
|
3073
|
+
* component or system), system-specific (implemented locally), or hybrid (shared responsibility).
|
|
3074
|
+
* Maps to NIST SP 800-53 Appendix C control designations and OSCAL SSP by-component
|
|
3075
|
+
* provided/inherited semantics.
|
|
3363
3076
|
*/
|
|
3364
3077
|
export interface ControlDesignation {
|
|
3365
3078
|
/**
|
|
@@ -3406,9 +3119,9 @@ export declare enum Designation {
|
|
|
3406
3119
|
SystemSpecific = "system-specific"
|
|
3407
3120
|
}
|
|
3408
3121
|
/**
|
|
3409
|
-
* A data flow between two endpoints. The 'from' endpoint is always a local component; the
|
|
3410
|
-
*
|
|
3411
|
-
*
|
|
3122
|
+
* A data flow between two endpoints. The 'from' endpoint is always a local component; the 'to'
|
|
3123
|
+
* endpoint can be local, cross-system, or external. Use 'direction' to indicate whether data flows
|
|
3124
|
+
* one-way or both ways.
|
|
3412
3125
|
*/
|
|
3413
3126
|
export interface DataFlow {
|
|
3414
3127
|
/**
|
|
@@ -3455,8 +3168,8 @@ export declare enum Direction {
|
|
|
3455
3168
|
Unidirectional = "unidirectional"
|
|
3456
3169
|
}
|
|
3457
3170
|
/**
|
|
3458
|
-
* Defines an assessment plan — what baselines to run against which targets, with resolved
|
|
3459
|
-
*
|
|
3171
|
+
* Defines an assessment plan — what baselines to run against which targets, with resolved inputs
|
|
3172
|
+
* and scheduling. Maps to OSCAL Assessment Plan.
|
|
3460
3173
|
*/
|
|
3461
3174
|
export interface HDFPlan {
|
|
3462
3175
|
/**
|
|
@@ -3511,8 +3224,8 @@ export interface HDFPlan {
|
|
|
3511
3224
|
[property: string]: any;
|
|
3512
3225
|
}
|
|
3513
3226
|
/**
|
|
3514
|
-
* A single assessment within a plan — defines which baseline to run against which targets
|
|
3515
|
-
*
|
|
3227
|
+
* A single assessment within a plan — defines which baseline to run against which targets with what
|
|
3228
|
+
* configuration.
|
|
3516
3229
|
*/
|
|
3517
3230
|
export interface Assessment {
|
|
3518
3231
|
/**
|
|
@@ -3551,8 +3264,6 @@ export interface Assessment {
|
|
|
3551
3264
|
[property: string]: any;
|
|
3552
3265
|
}
|
|
3553
3266
|
/**
|
|
3554
|
-
* Runner/scanner configuration for this assessment.
|
|
3555
|
-
*
|
|
3556
3267
|
* Configuration for the assessment runner/scanner.
|
|
3557
3268
|
*/
|
|
3558
3269
|
export interface RunnerConfig {
|
|
@@ -3567,8 +3278,6 @@ export interface RunnerConfig {
|
|
|
3567
3278
|
[property: string]: any;
|
|
3568
3279
|
}
|
|
3569
3280
|
/**
|
|
3570
|
-
* Optional scheduling configuration for recurring assessments.
|
|
3571
|
-
*
|
|
3572
3281
|
* Scheduling configuration for recurring assessments.
|
|
3573
3282
|
*/
|
|
3574
3283
|
export interface Schedule {
|
|
@@ -3596,10 +3305,8 @@ export interface Schedule {
|
|
|
3596
3305
|
[property: string]: any;
|
|
3597
3306
|
}
|
|
3598
3307
|
/**
|
|
3599
|
-
* The type of assessment
|
|
3600
|
-
*
|
|
3601
|
-
* The type of assessment. 'automated' for scanner-driven, 'manual' for human-performed,
|
|
3602
|
-
* 'hybrid' for both.
|
|
3308
|
+
* The type of assessment. 'automated' for scanner-driven, 'manual' for human-performed, 'hybrid'
|
|
3309
|
+
* for both.
|
|
3603
3310
|
*/
|
|
3604
3311
|
export declare enum PlanType {
|
|
3605
3312
|
Automated = "automated",
|
|
@@ -3607,8 +3314,8 @@ export declare enum PlanType {
|
|
|
3607
3314
|
Manual = "manual"
|
|
3608
3315
|
}
|
|
3609
3316
|
/**
|
|
3610
|
-
* Waivers, attestations, and POA&Ms that modify requirement compliance status or impact.
|
|
3611
|
-
*
|
|
3317
|
+
* Waivers, attestations, and POA&Ms that modify requirement compliance status or impact. Amendments
|
|
3318
|
+
* are standalone documents that can be applied to results via merge operations.
|
|
3612
3319
|
*/
|
|
3613
3320
|
export interface HDFAmendments {
|
|
3614
3321
|
/**
|
|
@@ -3667,18 +3374,18 @@ export interface HDFAmendments {
|
|
|
3667
3374
|
[property: string]: any;
|
|
3668
3375
|
}
|
|
3669
3376
|
/**
|
|
3670
|
-
* A standalone override to a requirement's compliance status or risk impact. Validation has
|
|
3671
|
-
*
|
|
3672
|
-
*
|
|
3673
|
-
* (documentation-only). For all other types, at least one of 'status' or 'impact' must be
|
|
3674
|
-
*
|
|
3377
|
+
* A standalone override to a requirement's compliance status or risk impact. Validation has two
|
|
3378
|
+
* branches gated on 'type': when type is 'operationalRequirement', neither 'status' nor 'impact'
|
|
3379
|
+
* may be set — the override records accepted risk without changing the finding
|
|
3380
|
+
* (documentation-only). For all other types, at least one of 'status' or 'impact' must be set. This
|
|
3381
|
+
* rule aligns with: (1) OSCAL Assessment Results — finding.target.status and
|
|
3675
3382
|
* finding.associated-risk[].facet[] are separate axes
|
|
3676
|
-
* (https://pages.nist.gov/OSCAL/learn/concepts/layer/assessment/assessment-results/); (2)
|
|
3677
|
-
*
|
|
3678
|
-
*
|
|
3679
|
-
* (https://www.ignyteplatform.com/blog/fedramp/fedramp-deviation-requests-submit/); (3)
|
|
3680
|
-
*
|
|
3681
|
-
*
|
|
3383
|
+
* (https://pages.nist.gov/OSCAL/learn/concepts/layer/assessment/assessment-results/); (2) FedRAMP
|
|
3384
|
+
* deviation request types — Risk Adjustment changes impact only, Operational Requirement documents
|
|
3385
|
+
* acceptance only, False Positive changes status
|
|
3386
|
+
* (https://www.ignyteplatform.com/blog/fedramp/fedramp-deviation-requests-submit/); (3) NIST SP
|
|
3387
|
+
* 800-37 RMF — risk response (accept/mitigate/transfer) is a separate step from control assessment
|
|
3388
|
+
* status (https://csrc.nist.gov/pubs/sp/800/37/r2/final).
|
|
3682
3389
|
*/
|
|
3683
3390
|
export interface StandaloneOverride {
|
|
3684
3391
|
/**
|
|
@@ -3775,9 +3482,8 @@ export interface StandaloneOverride {
|
|
|
3775
3482
|
[property: string]: any;
|
|
3776
3483
|
}
|
|
3777
3484
|
/**
|
|
3778
|
-
* Bundles references to all HDF documents for audit, authorization, and compliance review.
|
|
3779
|
-
*
|
|
3780
|
-
* verification.
|
|
3485
|
+
* Bundles references to all HDF documents for audit, authorization, and compliance review. Each
|
|
3486
|
+
* content entry references a document by type, URI, and checksum for integrity verification.
|
|
3781
3487
|
*/
|
|
3782
3488
|
export interface HDFEvidencePackage {
|
|
3783
3489
|
/**
|
|
@@ -3853,10 +3559,8 @@ export interface HDFEvidencePackage {
|
|
|
3853
3559
|
[property: string]: any;
|
|
3854
3560
|
}
|
|
3855
3561
|
/**
|
|
3856
|
-
*
|
|
3857
|
-
*
|
|
3858
|
-
* Informational summary of assessment completeness. Not authoritative — tools should
|
|
3859
|
-
* compute these from the referenced documents.
|
|
3562
|
+
* Informational summary of assessment completeness. Not authoritative — tools should compute these
|
|
3563
|
+
* from the referenced documents.
|
|
3860
3564
|
*/
|
|
3861
3565
|
export interface CompletenessCheck {
|
|
3862
3566
|
/**
|
|
@@ -3886,8 +3590,6 @@ export interface CompletenessCheck {
|
|
|
3886
3590
|
[property: string]: any;
|
|
3887
3591
|
}
|
|
3888
3592
|
/**
|
|
3889
|
-
* SBOM coverage across system components.
|
|
3890
|
-
*
|
|
3891
3593
|
* SBOM coverage statistics for the system.
|
|
3892
3594
|
*/
|
|
3893
3595
|
export interface SBOMCoverage {
|
|
@@ -3929,12 +3631,10 @@ export interface ContentReference {
|
|
|
3929
3631
|
[property: string]: any;
|
|
3930
3632
|
}
|
|
3931
3633
|
/**
|
|
3932
|
-
* The type of HDF document being referenced.
|
|
3933
|
-
*
|
|
3934
3634
|
* The type of document referenced in the evidence package. 'bom' covers any
|
|
3935
|
-
* Bill-of-Materials/manifest document (SBOM, AI model/dataset, and reserved future kinds) —
|
|
3936
|
-
*
|
|
3937
|
-
*
|
|
3635
|
+
* Bill-of-Materials/manifest document (SBOM, AI model/dataset, and reserved future kinds) — its
|
|
3636
|
+
* specific kind is carried by the referenced document's bomType, not by a per-kind Content_Type
|
|
3637
|
+
* value.
|
|
3938
3638
|
*/
|
|
3939
3639
|
export declare enum ContentType {
|
|
3940
3640
|
BOM = "bom",
|
|
@@ -3946,10 +3646,10 @@ export declare enum ContentType {
|
|
|
3946
3646
|
HdfSystem = "hdf-system"
|
|
3947
3647
|
}
|
|
3948
3648
|
/**
|
|
3949
|
-
* A reference to external native-format evidence (log/telemetry corpus or other artifact)
|
|
3950
|
-
*
|
|
3951
|
-
*
|
|
3952
|
-
*
|
|
3649
|
+
* A reference to external native-format evidence (log/telemetry corpus or other artifact) carried
|
|
3650
|
+
* by URI + integrity hash + format discriminator. Reference-only: the artifact is never embedded
|
|
3651
|
+
* (corpora can be huge) or transcoded (that would be lossy) — it stays canonical in its native
|
|
3652
|
+
* format and HDF acts as the structured index.
|
|
3953
3653
|
*/
|
|
3954
3654
|
export interface ExternalEvidenceReference {
|
|
3955
3655
|
/**
|
|
@@ -3988,10 +3688,7 @@ export interface ExternalEvidenceReference {
|
|
|
3988
3688
|
[property: string]: any;
|
|
3989
3689
|
}
|
|
3990
3690
|
/**
|
|
3991
|
-
*
|
|
3992
|
-
*
|
|
3993
|
-
* Descriptive metadata about a referenced external evidence corpus. Does not affect
|
|
3994
|
-
* integrity.
|
|
3691
|
+
* Descriptive metadata about a referenced external evidence corpus. Does not affect integrity.
|
|
3995
3692
|
*/
|
|
3996
3693
|
export interface ExternalEvidenceMetadata {
|
|
3997
3694
|
/**
|
|
@@ -4010,8 +3707,6 @@ export interface ExternalEvidenceMetadata {
|
|
|
4010
3707
|
[property: string]: any;
|
|
4011
3708
|
}
|
|
4012
3709
|
/**
|
|
4013
|
-
* The time window the referenced evidence covers.
|
|
4014
|
-
*
|
|
4015
3710
|
* The time window a referenced external evidence corpus covers.
|
|
4016
3711
|
*/
|
|
4017
3712
|
export interface ExternalEvidenceTimeRange {
|