@mitre/hdf-schema 3.2.0 → 3.3.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 +15 -16
- package/dist/go/hdf.go +398 -134
- package/dist/helpers.d.ts +1 -1
- package/dist/index.d.ts +27 -52
- package/dist/index.js +30 -48
- package/dist/schemas/hdf-amendments.schema.json +466 -45
- package/dist/schemas/hdf-baseline.schema.json +471 -50
- package/dist/schemas/hdf-comparison.schema.json +721 -103
- package/dist/schemas/hdf-evidence-package.schema.json +465 -44
- package/dist/schemas/hdf-plan.schema.json +472 -50
- package/dist/schemas/hdf-results.schema.json +678 -80
- package/dist/schemas/hdf-system.schema.json +497 -59
- package/dist/ts/hdf.d.ts +3562 -0
- package/dist/ts/hdf.js +564 -0
- package/dist/ts/hdf.ts +3623 -0
- package/package.json +18 -17
- package/dist/ts/hdf-amendments.d.ts +0 -474
- package/dist/ts/hdf-amendments.js +0 -88
- package/dist/ts/hdf-amendments.ts +0 -486
- package/dist/ts/hdf-baseline.d.ts +0 -549
- package/dist/ts/hdf-baseline.js +0 -110
- package/dist/ts/hdf-baseline.ts +0 -563
- package/dist/ts/hdf-comparison.d.ts +0 -1185
- package/dist/ts/hdf-comparison.js +0 -216
- package/dist/ts/hdf-comparison.ts +0 -1210
- package/dist/ts/hdf-evidence-package.d.ts +0 -348
- package/dist/ts/hdf-evidence-package.js +0 -39
- package/dist/ts/hdf-evidence-package.ts +0 -356
- package/dist/ts/hdf-plan.d.ts +0 -204
- package/dist/ts/hdf-plan.js +0 -23
- package/dist/ts/hdf-plan.ts +0 -205
- package/dist/ts/hdf-results.d.ts +0 -1588
- package/dist/ts/hdf-results.js +0 -246
- package/dist/ts/hdf-results.ts +0 -1616
- package/dist/ts/hdf-system.d.ts +0 -609
- package/dist/ts/hdf-system.js +0 -102
- package/dist/ts/hdf-system.ts +0 -617
package/dist/ts/hdf-results.js
DELETED
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The comparison operator used when evaluating this input against observed values.
|
|
3
|
-
*
|
|
4
|
-
* Comparison operator for evaluating the input value against observed values. Numeric:
|
|
5
|
-
* eq/ne/lt/le/gt/ge. String: eq/ne/contains/matches. Collection: in/notIn.
|
|
6
|
-
*/
|
|
7
|
-
export var ComparisonOperator;
|
|
8
|
-
(function (ComparisonOperator) {
|
|
9
|
-
ComparisonOperator["Contains"] = "contains";
|
|
10
|
-
ComparisonOperator["Eq"] = "eq";
|
|
11
|
-
ComparisonOperator["Ge"] = "ge";
|
|
12
|
-
ComparisonOperator["Gt"] = "gt";
|
|
13
|
-
ComparisonOperator["In"] = "in";
|
|
14
|
-
ComparisonOperator["LE"] = "le";
|
|
15
|
-
ComparisonOperator["Lt"] = "lt";
|
|
16
|
-
ComparisonOperator["Matches"] = "matches";
|
|
17
|
-
ComparisonOperator["Ne"] = "ne";
|
|
18
|
-
ComparisonOperator["NotIn"] = "notIn";
|
|
19
|
-
})(ComparisonOperator || (ComparisonOperator = {}));
|
|
20
|
-
/**
|
|
21
|
-
* The data type of this input.
|
|
22
|
-
*
|
|
23
|
-
* The data type of the input value. Aligns with InSpec input types.
|
|
24
|
-
*/
|
|
25
|
-
export var InputType;
|
|
26
|
-
(function (InputType) {
|
|
27
|
-
InputType["Array"] = "Array";
|
|
28
|
-
InputType["Boolean"] = "Boolean";
|
|
29
|
-
InputType["Hash"] = "Hash";
|
|
30
|
-
InputType["Numeric"] = "Numeric";
|
|
31
|
-
InputType["Regexp"] = "Regexp";
|
|
32
|
-
InputType["String"] = "String";
|
|
33
|
-
})(InputType || (InputType = {}));
|
|
34
|
-
/**
|
|
35
|
-
* The hash algorithm used for the checksum.
|
|
36
|
-
*
|
|
37
|
-
* Supported cryptographic hash algorithms for checksums and integrity verification.
|
|
38
|
-
*/
|
|
39
|
-
export var HashAlgorithm;
|
|
40
|
-
(function (HashAlgorithm) {
|
|
41
|
-
HashAlgorithm["Sha256"] = "sha256";
|
|
42
|
-
HashAlgorithm["Sha384"] = "sha384";
|
|
43
|
-
HashAlgorithm["Sha512"] = "sha512";
|
|
44
|
-
})(HashAlgorithm || (HashAlgorithm = {}));
|
|
45
|
-
/**
|
|
46
|
-
* Whether the requirement is mandatory within its baseline. Distinct from severity (risk
|
|
47
|
-
* weight) and status (lifecycle state). Maps cleanly onto: FedRAMP rev5 OSCAL 'CORE' prop,
|
|
48
|
-
* FedRAMP 20x inline 'Optional:' markers, CMMC sublevel rows, and CIS Implementation Group
|
|
49
|
-
* memberships (IG1/IG2/IG3 may carry richer semantics; layer those onto props[]/tags{}).
|
|
50
|
-
* Optional: when omitted, consumers should treat the requirement as 'required' by
|
|
51
|
-
* convention.
|
|
52
|
-
*/
|
|
53
|
-
export var Applicability;
|
|
54
|
-
(function (Applicability) {
|
|
55
|
-
Applicability["Advisory"] = "advisory";
|
|
56
|
-
Applicability["Optional"] = "optional";
|
|
57
|
-
Applicability["Required"] = "required";
|
|
58
|
-
})(Applicability || (Applicability = {}));
|
|
59
|
-
/**
|
|
60
|
-
* Classification of the control's nature, aligning with NIST SP 800-53 / SP 800-53A
|
|
61
|
-
* categories. 'policy' = an authored governance statement; 'procedure' = a documented
|
|
62
|
-
* process; 'technical' = an enforced technical configuration; 'management' = a
|
|
63
|
-
* programmatic/management activity; 'operational' = a recurring operational activity (e.g.
|
|
64
|
-
* AT, IR, MA families). Optional: when omitted, consumers may infer heuristically from
|
|
65
|
-
* family/id but should not assume a default.
|
|
66
|
-
*/
|
|
67
|
-
export var ControlType;
|
|
68
|
-
(function (ControlType) {
|
|
69
|
-
ControlType["Management"] = "management";
|
|
70
|
-
ControlType["Operational"] = "operational";
|
|
71
|
-
ControlType["Policy"] = "policy";
|
|
72
|
-
ControlType["Procedure"] = "procedure";
|
|
73
|
-
ControlType["Technical"] = "technical";
|
|
74
|
-
})(ControlType || (ControlType = {}));
|
|
75
|
-
/**
|
|
76
|
-
* The type of the most recent non-expired override or POAM governing this requirement.
|
|
77
|
-
* Indicates why the requirement is in its current state (e.g., waiver, falsePositive,
|
|
78
|
-
* riskAdjustment) or what remediation is being tracked (poam). Absent when no overrides or
|
|
79
|
-
* POAMs apply.
|
|
80
|
-
*
|
|
81
|
-
* The type of amendment, aligned with FedRAMP deviation request categories. 'waiver': risk
|
|
82
|
-
* accepted by Authorizing Official. 'attestation': manually verified by assessor. 'poam':
|
|
83
|
-
* remediation tracked (no status change). 'inherited': control provided by another
|
|
84
|
-
* component or system. 'falsePositive': scanner incorrectly identified a finding — for
|
|
85
|
-
* compliance scans (STIG, CIS), the check actually passes, so status is typically set to
|
|
86
|
-
* 'passed'; for vulnerability scans (CVE, SCA), the flagged vulnerability does not apply to
|
|
87
|
-
* this system, so status is typically set to 'notApplicable'. The disposition field on the
|
|
88
|
-
* requirement distinguishes false positives from genuinely not-applicable findings.
|
|
89
|
-
* 'riskAdjustment': impact score adjusted based on environmental context (FedRAMP Risk
|
|
90
|
-
* Adjustment); does not change pass/fail status, only impact via the impact field.
|
|
91
|
-
* 'operationalRequirement': deviation required by operational constraints (FedRAMP
|
|
92
|
-
* Operational Requirement); the finding cannot be remediated because the system requires
|
|
93
|
-
* the affected functionality. Remains an open risk. Migration note: 'exception' was removed
|
|
94
|
-
* in v3.1.0 — use 'waiver' with status 'notApplicable' instead.
|
|
95
|
-
*
|
|
96
|
-
* The type of override applied to this requirement.
|
|
97
|
-
*/
|
|
98
|
-
export var OverrideType;
|
|
99
|
-
(function (OverrideType) {
|
|
100
|
-
OverrideType["Attestation"] = "attestation";
|
|
101
|
-
OverrideType["FalsePositive"] = "falsePositive";
|
|
102
|
-
OverrideType["Inherited"] = "inherited";
|
|
103
|
-
OverrideType["OperationalRequirement"] = "operationalRequirement";
|
|
104
|
-
OverrideType["Poam"] = "poam";
|
|
105
|
-
OverrideType["RiskAdjustment"] = "riskAdjustment";
|
|
106
|
-
OverrideType["Waiver"] = "waiver";
|
|
107
|
-
})(OverrideType || (OverrideType = {}));
|
|
108
|
-
/**
|
|
109
|
-
* The current effective compliance status of this requirement after applying the most
|
|
110
|
-
* recent non-expired override with a status field, or computed from results (worst-wins) if
|
|
111
|
-
* no status-bearing overrides exist.
|
|
112
|
-
*
|
|
113
|
-
* The status of an individual test result. 'notApplicable' indicates the requirement does
|
|
114
|
-
* not apply to the target. 'notReviewed' indicates the requirement was not assessed (e.g.,
|
|
115
|
-
* requires manual verification).
|
|
116
|
-
*
|
|
117
|
-
* The status of this test within the requirement. Example: 'failed'.
|
|
118
|
-
*
|
|
119
|
-
* The new status this override sets for the requirement. Optional when only impact is being
|
|
120
|
-
* overridden.
|
|
121
|
-
*/
|
|
122
|
-
export var ResultStatus;
|
|
123
|
-
(function (ResultStatus) {
|
|
124
|
-
ResultStatus["Error"] = "error";
|
|
125
|
-
ResultStatus["Failed"] = "failed";
|
|
126
|
-
ResultStatus["NotApplicable"] = "notApplicable";
|
|
127
|
-
ResultStatus["NotReviewed"] = "notReviewed";
|
|
128
|
-
ResultStatus["Passed"] = "passed";
|
|
129
|
-
})(ResultStatus || (ResultStatus = {}));
|
|
130
|
-
/**
|
|
131
|
-
* The type of identifier. Use 'email' for email addresses, 'username' for user accounts,
|
|
132
|
-
* 'system' for automated systems, 'simple' for basic string identifiers without additional
|
|
133
|
-
* classification, or 'other' for custom identity systems.
|
|
134
|
-
*/
|
|
135
|
-
export var OperatorType;
|
|
136
|
-
(function (OperatorType) {
|
|
137
|
-
OperatorType["Email"] = "email";
|
|
138
|
-
OperatorType["Other"] = "other";
|
|
139
|
-
OperatorType["Simple"] = "simple";
|
|
140
|
-
OperatorType["System"] = "system";
|
|
141
|
-
OperatorType["Username"] = "username";
|
|
142
|
-
})(OperatorType || (OperatorType = {}));
|
|
143
|
-
/**
|
|
144
|
-
* The type of evidence being provided.
|
|
145
|
-
*/
|
|
146
|
-
export var EvidenceType;
|
|
147
|
-
(function (EvidenceType) {
|
|
148
|
-
EvidenceType["Code"] = "code";
|
|
149
|
-
EvidenceType["File"] = "file";
|
|
150
|
-
EvidenceType["Log"] = "log";
|
|
151
|
-
EvidenceType["Other"] = "other";
|
|
152
|
-
EvidenceType["Screenshot"] = "screenshot";
|
|
153
|
-
EvidenceType["URL"] = "url";
|
|
154
|
-
})(EvidenceType || (EvidenceType = {}));
|
|
155
|
-
/**
|
|
156
|
-
* Current status of this milestone.
|
|
157
|
-
*/
|
|
158
|
-
export var Status;
|
|
159
|
-
(function (Status) {
|
|
160
|
-
Status["Completed"] = "completed";
|
|
161
|
-
Status["InProgress"] = "inProgress";
|
|
162
|
-
Status["Pending"] = "pending";
|
|
163
|
-
})(Status || (Status = {}));
|
|
164
|
-
/**
|
|
165
|
-
* The type of POA&M. 'remediation' fixes root cause. 'mitigation' reduces risk via
|
|
166
|
-
* compensating controls. 'riskAcceptance' documents decision to accept risk.
|
|
167
|
-
* 'vendorDependency' tracks a fix that depends on a vendor releasing a patch or update.
|
|
168
|
-
*/
|
|
169
|
-
export var PoamType;
|
|
170
|
-
(function (PoamType) {
|
|
171
|
-
PoamType["Mitigation"] = "mitigation";
|
|
172
|
-
PoamType["Remediation"] = "remediation";
|
|
173
|
-
PoamType["RiskAcceptance"] = "riskAcceptance";
|
|
174
|
-
PoamType["VendorDependency"] = "vendorDependency";
|
|
175
|
-
})(PoamType || (PoamType = {}));
|
|
176
|
-
/**
|
|
177
|
-
* Explicit severity rating. Typically derived from impact score but provided explicitly for
|
|
178
|
-
* clarity.
|
|
179
|
-
*
|
|
180
|
-
* Severity rating for a requirement. Typically derived from the numeric impact score.
|
|
181
|
-
*/
|
|
182
|
-
export var Severity;
|
|
183
|
-
(function (Severity) {
|
|
184
|
-
Severity["Critical"] = "critical";
|
|
185
|
-
Severity["High"] = "high";
|
|
186
|
-
Severity["Informational"] = "informational";
|
|
187
|
-
Severity["Low"] = "low";
|
|
188
|
-
Severity["Medium"] = "medium";
|
|
189
|
-
})(Severity || (Severity = {}));
|
|
190
|
-
/**
|
|
191
|
-
* How this requirement is intended to be verified. Disambiguates the two cases that null
|
|
192
|
-
* 'code' overloads: 'manual-by-design' (the requirement is statement-form and not amenable
|
|
193
|
-
* to automation, e.g. FedRAMP 20x KSIs); 'manual-pending-automation' (automation could
|
|
194
|
-
* exist but does not yet, e.g. a STIG rule lacking a fix). 'automated' = a check exists and
|
|
195
|
-
* runs without operator action; 'hybrid' = part automated, part manual. Optional: when
|
|
196
|
-
* omitted, consumers should not infer a default.
|
|
197
|
-
*
|
|
198
|
-
* How a requirement is intended to be verified. Disambiguates the two cases that null
|
|
199
|
-
* 'code' overloads: 'manual-by-design' (the requirement is statement-form and not amenable
|
|
200
|
-
* to automation, e.g. FedRAMP 20x KSIs); 'manual-pending-automation' (automation could
|
|
201
|
-
* exist but does not yet, e.g. a STIG rule lacking a fix). 'automated' = a check exists and
|
|
202
|
-
* runs without operator action; 'hybrid' = part automated, part manual. Named '_Enum' to
|
|
203
|
-
* disambiguate from the unrelated Verification_Method DID-context struct.
|
|
204
|
-
*/
|
|
205
|
-
export var VerificationMethodEnum;
|
|
206
|
-
(function (VerificationMethodEnum) {
|
|
207
|
-
VerificationMethodEnum["Automated"] = "automated";
|
|
208
|
-
VerificationMethodEnum["Hybrid"] = "hybrid";
|
|
209
|
-
VerificationMethodEnum["ManualByDesign"] = "manual-by-design";
|
|
210
|
-
VerificationMethodEnum["ManualPendingAutomation"] = "manual-pending-automation";
|
|
211
|
-
})(VerificationMethodEnum || (VerificationMethodEnum = {}));
|
|
212
|
-
export var CloudProvider;
|
|
213
|
-
(function (CloudProvider) {
|
|
214
|
-
CloudProvider["Aws"] = "aws";
|
|
215
|
-
CloudProvider["Azure"] = "azure";
|
|
216
|
-
CloudProvider["Gcp"] = "gcp";
|
|
217
|
-
CloudProvider["Oci"] = "oci";
|
|
218
|
-
CloudProvider["Other"] = "other";
|
|
219
|
-
})(CloudProvider || (CloudProvider = {}));
|
|
220
|
-
/**
|
|
221
|
-
* Format of the SBOM (embedded or referenced). Required when sbom or sbomRef is present.
|
|
222
|
-
*/
|
|
223
|
-
export var SbomFormat;
|
|
224
|
-
(function (SbomFormat) {
|
|
225
|
-
SbomFormat["Cyclonedx"] = "cyclonedx";
|
|
226
|
-
SbomFormat["Spdx"] = "spdx";
|
|
227
|
-
})(SbomFormat || (SbomFormat = {}));
|
|
228
|
-
/**
|
|
229
|
-
* A human readable/meaningful reference. Example: a book title.
|
|
230
|
-
*
|
|
231
|
-
* IP address of the host.
|
|
232
|
-
*/
|
|
233
|
-
export var Copyright;
|
|
234
|
-
(function (Copyright) {
|
|
235
|
-
Copyright["Application"] = "application";
|
|
236
|
-
Copyright["Artifact"] = "artifact";
|
|
237
|
-
Copyright["CloudAccount"] = "cloudAccount";
|
|
238
|
-
Copyright["CloudResource"] = "cloudResource";
|
|
239
|
-
Copyright["ContainerImage"] = "containerImage";
|
|
240
|
-
Copyright["ContainerInstance"] = "containerInstance";
|
|
241
|
-
Copyright["ContainerPlatform"] = "containerPlatform";
|
|
242
|
-
Copyright["Database"] = "database";
|
|
243
|
-
Copyright["Host"] = "host";
|
|
244
|
-
Copyright["Network"] = "network";
|
|
245
|
-
Copyright["Repository"] = "repository";
|
|
246
|
-
})(Copyright || (Copyright = {}));
|