@mitre/hdf-mappings 3.5.0 → 3.5.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 CHANGED
@@ -74,15 +74,78 @@ import {
74
74
  getNISTFamily,
75
75
  } from '@mitre/hdf-mappings';
76
76
 
77
- // Get control description
78
- const desc = getNISTDescription('AC-1');
77
+ // Get control description (IDs are zero-padded; defaults to the selected
78
+ // revision — Rev 5 unless overridden)
79
+ const desc = getNISTDescription('AC-01');
80
+ // Returns: "Policy and Procedures"
81
+
82
+ // Rev 4 text via the explicit revision argument
83
+ const descRev4 = getNISTDescription('AC-01', 4);
79
84
  // Returns: "ACCESS CONTROL POLICY AND PROCEDURES"
80
85
 
81
86
  // Get control family
82
- const family = getNISTFamily('AC-1');
87
+ const family = getNISTFamily('AC-01');
83
88
  // Returns: "AC"
84
89
  ```
85
90
 
91
+ #### Rev 4 ↔ Rev 5 crosswalk
92
+
93
+ Translates control IDs between 800-53 Rev 4 and Rev 5 using NIST's own
94
+ comparison workbooks (the Rev 4→Rev 5 comparison workbook and the Appendix J
95
+ privacy-control comparison, both from the SP 800-53 Rev 5 final publication
96
+ page). Regenerated via `scripts/generate-nist-crosswalk.mjs`; both the Go and
97
+ TS copies are written byte-identically (`--check` gates drift). The full
98
+ revision contract — selection, guarantees, and data-consumer guidance — is
99
+ documented in the site guide
100
+ [NIST 800-53 revision handling](../site/docs/guides/nist-revisions.md).
101
+
102
+ ```typescript
103
+ import { translateNistControl, translateNistControls } from '@mitre/hdf-mappings';
104
+
105
+ translateNistControl('IR-10', 4, 5);
106
+ // { control: 'IR-10', targets: ['IR-4(11)'], relation: 'moved', detail: 'Moved to IR-4(11)' }
107
+
108
+ translateNistControl('AC-1', 4, 5);
109
+ // { control: 'AC-1', targets: ['AC-1'], relation: 'identity' } (present in both revisions)
110
+
111
+ const { translated, unmapped } = translateNistControls(['AC-1', 'IR-10', 'SC-19'], 4, 5);
112
+ // translated: ['AC-1', 'IR-4(11)']; unmapped: [{ control: 'SC-19', relation: 'none', ... }]
113
+ ```
114
+
115
+ Relations: `identity` (same ID at both revisions), `moved` / `incorporated`
116
+ (NIST names a successor), `pointer` (Appendix J privacy controls — NIST calls
117
+ these pointers, not equivalences), `family` (incorporated into a whole family,
118
+ kept as a marker rather than expanded), `none` (NIST names no successor), and
119
+ `unknown` (not a control at the source revision). Controls NIST withdrew in
120
+ Rev 4 itself (e.g. `AC-13`) are valid at neither revision but still redirect to
121
+ their incorporation targets from either direction, so stale tags resolve.
122
+
123
+ > **Interpretation.** A crosswalk edge means NIST relocated or absorbed the
124
+ > requirement text — it does not make the target control's full scope
125
+ > equivalent to the source control. Treat translated tags as candidate control
126
+ > associations, exactly like the tool-specific mappings below.
127
+
128
+ #### Per-table revision handling
129
+
130
+ Every tool mapping table declares the NIST revision it was authored against,
131
+ and its default lookups translate to the current module-global revision
132
+ (`--nist-rev` / `setCurrentNistRevision`) through the crosswalk — so every
133
+ NIST-emitting converter honors the requested revision, not just aws-config:
134
+
135
+ | Table | Native revision | Notes |
136
+ |-------|-----------------|-------|
137
+ | awsconfig | 4 + 5 (dual) | native rows per revision + crosswalk backfill (see below) |
138
+ | cwe | 4 + 5 (dual) | control IDs are byte-identical across revisions |
139
+ | nessus | 4 | carries AU-8(1), which translates to SC-45(1) at Rev 5 |
140
+ | cci | 4 | DISA refs incl. Appendix J privacy controls; translated with statement suffixes |
141
+ | nikto, owasp, scoutsuite | 4 | content identical at both revisions today; a test guards that invariant |
142
+ | hipcheck | 5 | SR-family controls have no Rev 4 equivalent and drop at Rev 4 |
143
+
144
+ Translation semantics: statement-style suffixes ("AC-1 a") survive identity and
145
+ are dropped on redirects; controls with no equivalent at the requested revision
146
+ are dropped rather than mistranslated; tokens outside both NIST catalogs (tool
147
+ placeholders like Nessus's "UM-1") pass through unchanged.
148
+
86
149
  ### OWASP Top 10
87
150
 
88
151
  ```typescript
@@ -197,13 +260,14 @@ import {
197
260
  awsConfigIdentifierExists,
198
261
  } from '@mitre/hdf-mappings';
199
262
 
200
- // By source identifier (uppercase, underscores)
263
+ // By source identifier (uppercase, underscores). Resolved at the selected
264
+ // NIST revision (Rev 5 default; the Rev 4 tags for this rule are 'AC-2(1)|AC-2(j)').
201
265
  const nistId = getAwsConfigNistControlByIdentifier('SECRETSMANAGER_SCHEDULED_ROTATION_SUCCESS_CHECK');
202
- // Returns: 'AC-2(1)|AC-2(j)'
266
+ // Returns: 'AC-2(1)|AC-3(15)'
203
267
 
204
268
  // By rule name (lowercase, hyphens)
205
269
  const nistId2 = getAwsConfigNistControlByName('secretsmanager-scheduled-rotation-success-check');
206
- // Returns: 'AC-2(1)|AC-2(j)'
270
+ // Returns: 'AC-2(1)|AC-3(15)'
207
271
 
208
272
  if (awsConfigIdentifierExists('SECRETSMANAGER_SCHEDULED_ROTATION_SUCCESS_CHECK')) { /* ... */ }
209
273
  ```
@@ -211,15 +275,25 @@ if (awsConfigIdentifierExists('SECRETSMANAGER_SCHEDULED_ROTATION_SUCCESS_CHECK')
211
275
  #### Coverage tiers and semantics
212
276
 
213
277
  The AWS Config→NIST table is regenerated (via `scripts/generate-awsconfig-mappings.mjs`) from
214
- three tiers, in precedence order:
278
+ four tiers, in precedence order; each row records its tier in the `Source` field:
215
279
 
216
280
  1. **config-pack** — AWS Config's "Operational Best Practices for NIST 800-53" docs (Rev 4 + Rev 5).
217
281
  2. **security-hub** — AWS Security Hub's NIST 800-53 r5 standard control pages (Rev 5).
218
- 3. **derived** — for a managed rule the authoritative tiers miss but whose name matches a strong
282
+ 3. **derived-theme** — for a managed rule the authoritative tiers miss but whose name matches a strong
219
283
  theme (encryption-at-rest, in-transit/TLS, logging/audit, public-access), the controls that
220
284
  ≥75% of AWS's *own* same-theme mapped rules carry. Nothing is invented — controls are reused
221
285
  from AWS's authoritative mappings. Rules matching no theme stay unmapped, and the
222
286
  `aws-config-to-hdf` converter floors them to **CM-6** (Configuration Settings) at conversion time.
287
+ 4. **crosswalk** — per-revision completeness: a rule mapped at exactly one revision gets a row at
288
+ the other revision by translating its controls through the NIST Rev 4↔Rev 5 crosswalk (above).
289
+ Native rows are never modified. When the whole control set has no equivalent at the other
290
+ revision, the row is an explicit **empty-`NIST-ID` marker** — "no mapping exists at this
291
+ revision" is recorded as an answer, not left as a silent gap. Crosswalk rows inherit the
292
+ confidence of the native row they were translated from.
293
+
294
+ With tier 4, every rule in the table has a defined outcome at both supported revisions: native,
295
+ crosswalk-derived, or explicitly unmapped. A single-revision view of the table is therefore
296
+ complete — filtering by `Rev` never silently drops a rule.
223
297
 
224
298
  > **Interpretation.** These NIST tags are *candidate control associations for triage*, not evidence
225
299
  > that a control is assessed or satisfied. A passed Config / Security Hub rule is evidence *toward*
@@ -265,12 +339,13 @@ Each mapping is also available as a Go package:
265
339
  hdf-mappings/go/
266
340
  cci/ — CCI↔NIST lookups (GetCCINistMappings, NISTToCCI, CCIToNIST)
267
341
  cwe/ — CWE→NIST lookups (NISTControls)
268
- owasp/ — OWASP→NIST lookups (NISTControls)
342
+ owasp/ — OWASP→NIST lookups (NISTControl)
269
343
  nessus/ — Nessus plugin→NIST lookups (NISTControls, with family+pluginID)
270
- nikto/ — Nikto test→NIST lookups (NISTControls)
344
+ nikto/ — Nikto test→NIST lookups (NISTControl, NISTControlByInt)
271
345
  hipcheck/ — Hipcheck analysis→NIST lookups (NISTControls, Exists, AllAnalyses)
272
346
  scoutsuite/ — ScoutSuite rule→NIST lookups (NISTControls)
273
347
  awsconfig/ — AWS Config→NIST lookups (NISTControls, GetByRuleName, GetByIdentifier)
348
+ nist/ — revision selection (Revision, SetRevision) + Rev 4↔5 crosswalk (Translate, TranslateControls)
274
349
  ```
275
350
 
276
351
  ```go
@@ -301,6 +376,16 @@ mapping := awsconfig.GetByIdentifier("SECRETSMANAGER_SCHEDULED_ROTATION_SUCCESS
301
376
  mapping = awsconfig.GetByRuleName("secretsmanager-scheduled-rotation-success-check")
302
377
  ```
303
378
 
379
+ ```go
380
+ import "github.com/mitre/hdf-libs/hdf-mappings/go/v3/nist"
381
+
382
+ tr := nist.Translate("IR-10", 4, 5)
383
+ // Translation{Targets: []string{"IR-4(11)"}, Relation: "moved", ...}
384
+
385
+ translated, unmapped := nist.TranslateControls([]string{"AC-1", "IR-10", "SC-19"}, 4, 5)
386
+ // translated: ["AC-1", "IR-4(11)"]; unmapped: [{Control: "SC-19", Relation: "none", ...}]
387
+ ```
388
+
304
389
  ## Data Sources
305
390
 
306
391
  | Data | Source |
@@ -313,6 +398,7 @@ mapping = awsconfig.GetByRuleName("secretsmanager-scheduled-rotation-success-c
313
398
  | Nikto→NIST | heimdall2 mapping tables |
314
399
  | ScoutSuite→NIST | heimdall2 mapping tables |
315
400
  | AWS Config→NIST | AWS Config OBP for NIST 800-53 docs + Security Hub NIST r5 standard + derived (see Coverage tiers) |
401
+ | NIST Rev 4↔5 crosswalk | NIST SP 800-53 Rev 4→Rev 5 comparison workbook + Appendix J comparison (csrc.nist.gov, Rev 5 final) |
316
402
 
317
403
  ## License
318
404
 
package/dist/index.d.ts CHANGED
@@ -103,6 +103,71 @@ declare function getNistCCIMappings(nistControl: string): string[] | undefined;
103
103
  */
104
104
  declare function nistToCci(nistControls: string[]): string[];
105
105
  //#endregion
106
+ //#region src/nist/crosswalk.d.ts
107
+ /**
108
+ * NIST SP 800-53 Rev 4 <-> Rev 5 control crosswalk, generated from NIST's own
109
+ * comparison workbooks (see scripts/generate-nist-crosswalk.mjs). Identity is
110
+ * implicit: a control present in both revisions translates to itself; edges
111
+ * cover only non-identity cases (withdrawn, moved, incorporated, Appendix J
112
+ * pointers, and controls new in Rev 5).
113
+ */
114
+ /**
115
+ * Relations a translation can carry. `identity` means the control exists at
116
+ * both revisions under the same ID; `moved`/`incorporated`/`pointer`/`family`
117
+ * come from NIST's comparison workbooks; `none` means NIST names no successor;
118
+ * `unknown` means the control is not part of the source revision's catalog (or
119
+ * the revision pair is unsupported).
120
+ */
121
+ type NistCrosswalkRelation = 'identity' | 'moved' | 'incorporated' | 'pointer' | 'family' | 'none' | 'unknown';
122
+ interface NistControlTranslation {
123
+ control: string;
124
+ targets: string[];
125
+ relation: NistCrosswalkRelation;
126
+ /**
127
+ * Set only for relation `family` ("incorporated into <XX> family"): a
128
+ * marker, deliberately never expanded into member controls.
129
+ */
130
+ family?: string;
131
+ /** NIST's raw comparison text for redirects. */
132
+ detail?: string;
133
+ }
134
+ /**
135
+ * Translates one NIST control ID between 800-53 revisions 4 and 5. A control
136
+ * present in both revisions translates to itself (identity); withdrawn, moved,
137
+ * incorporated, and Appendix J controls follow NIST's published successors; a
138
+ * control with no equivalent at the target revision gets relation `none` and
139
+ * no targets. Statement-letter suffixes ("AC-2(j)") survive identity
140
+ * translation and are dropped on redirects.
141
+ */
142
+ declare function translateNistControl(control: string, from: number, to: number): NistControlTranslation;
143
+ /**
144
+ * Translates a list of control IDs between revisions, flattening redirect
145
+ * targets and deduplicating while preserving first-seen order. Controls with
146
+ * no target at the destination revision (withdrawn without successor,
147
+ * family-level, or unknown) are returned in `unmapped`, in input order, so
148
+ * callers can surface them instead of silently dropping.
149
+ */
150
+ declare function translateNistControls(controls: string[], from: number, to: number): {
151
+ translated: string[];
152
+ unmapped: NistControlTranslation[];
153
+ };
154
+ /**
155
+ * Number of control IDs in the crosswalk's catalog for the given revision, or
156
+ * 0 for unsupported revisions.
157
+ */
158
+ declare function nistRosterSize(rev: number): number;
159
+ /**
160
+ * Translates a control list authored against `nativeRev` into `rev`. Identity
161
+ * when the revisions are equal (or either is unsupported). Per token: the
162
+ * crosswalk redirect is followed when one exists; statement-style suffixes
163
+ * ("AC-1 a", "AC-1.2 (i)") are kept on identity and dropped on redirects;
164
+ * tokens with no equivalent at the target revision are dropped (the analog of
165
+ * the awsconfig empty-NIST-ID marker); tokens outside both NIST catalogs
166
+ * (tool placeholders like "UM-1") pass through unchanged — they are not ours
167
+ * to drop. Output is deduplicated preserving first-seen order.
168
+ */
169
+ declare function nistControlsAtRevision(controls: string[], nativeRev: number, rev: number): string[];
170
+ //#endregion
106
171
  //#region src/nist/types.d.ts
107
172
  /**
108
173
  * NIST control descriptions database structure
@@ -144,22 +209,27 @@ declare function isNistStrict(): boolean;
144
209
  */
145
210
  declare function setNistStrict(strict: boolean): void;
146
211
  /**
147
- * Get the description for a NIST control ID.
212
+ * Get the description for a NIST control ID at the selected revision.
148
213
  *
149
- * @param nistId - The NIST control ID (e.g., 'AC-01', 'AC-01 a', 'AC-01 a 01')
150
- * @returns The NIST control description, or undefined if not found
214
+ * @param nistId - The NIST control ID (e.g., 'AC-01', 'AC-01 a', 'AC-02 01')
215
+ * @param rev - NIST revision to look up; defaults to the module-global revision
216
+ * @returns The control's Rev-specific description, or undefined if not found at
217
+ * that revision (e.g. a Rev 5-only SR/PT control at Rev 4, or a Rev 4 control
218
+ * withdrawn in Rev 5)
151
219
  *
152
220
  * @example
153
221
  * ```typescript
154
- * const desc = getNISTDescription('AC-01');
155
- * // Returns: "ACCESS CONTROL POLICY AND PROCEDURES"
222
+ * getNISTDescription('AC-01'); // Rev 5 default -> "Policy and Procedures"
223
+ * getNISTDescription('AC-01', 4); // -> "ACCESS CONTROL POLICY AND PROCEDURES"
156
224
  * ```
157
225
  */
158
- declare function getNISTDescription(nistId: string): string | undefined;
226
+ declare function getNISTDescription(nistId: string, rev?: number): string | undefined;
159
227
  /**
160
- * Get all NIST control IDs available in the database.
228
+ * Get all NIST control IDs present at the selected revision.
161
229
  *
162
- * @returns Array of all NIST control IDs
230
+ * @param rev - NIST revision to enumerate; defaults to the module-global revision
231
+ * @returns Array of NIST control IDs for that revision (Rev 5 includes the
232
+ * SR/PT families; Rev 4 includes controls withdrawn in Rev 5)
163
233
  *
164
234
  * @example
165
235
  * ```typescript
@@ -167,12 +237,14 @@ declare function getNISTDescription(nistId: string): string | undefined;
167
237
  * // Returns: ['AC-01', 'AC-01 a', 'AC-02', ...]
168
238
  * ```
169
239
  */
170
- declare function getAllNISTIds(): string[];
240
+ declare function getAllNISTIds(rev?: number): string[];
171
241
  /**
172
- * Check if a NIST control ID exists in the database.
242
+ * Check if a NIST control ID exists at the selected revision.
173
243
  *
174
244
  * @param nistId - The NIST control ID to check
175
- * @returns true if the NIST control exists, false otherwise
245
+ * @param rev - NIST revision to check against; defaults to the module-global revision
246
+ * @returns true if the control exists at that revision (e.g. an SR/PT control is
247
+ * present at Rev 5 but not Rev 4)
176
248
  *
177
249
  * @example
178
250
  * ```typescript
@@ -181,12 +253,15 @@ declare function getAllNISTIds(): string[];
181
253
  * }
182
254
  * ```
183
255
  */
184
- declare function nistExists(nistId: string): boolean;
256
+ declare function nistExists(nistId: string, rev?: number): boolean;
185
257
  /**
186
- * Extract the NIST family from a NIST control ID.
258
+ * Extract the NIST family from a NIST control ID, if that family exists at the
259
+ * selected revision.
187
260
  *
188
261
  * @param nistId - The NIST control ID (e.g., 'AC-01', 'AC-01 a')
189
- * @returns The NIST family code (e.g., 'AC'), or undefined if invalid
262
+ * @param rev - NIST revision to validate against; defaults to the module-global revision
263
+ * @returns The NIST family code (e.g., 'AC'), or undefined if invalid or the
264
+ * family is absent at that revision (the SR/PT families are Rev 5-only)
190
265
  *
191
266
  * @example
192
267
  * ```typescript
@@ -197,7 +272,7 @@ declare function nistExists(nistId: string): boolean;
197
272
  * // Returns: 'AC'
198
273
  * ```
199
274
  */
200
- declare function getNISTFamily(nistId: string): string | undefined;
275
+ declare function getNISTFamily(nistId: string, rev?: number): string | undefined;
201
276
  /**
202
277
  * Canonical NIST 800-53 fallback tags for converters when a finding has no
203
278
  * CWE or the CWE has no NIST mapping. Categories match heimdall2's global.ts.
@@ -456,6 +531,12 @@ interface AwsConfigNistMapping {
456
531
  AwsConfigRuleName: string;
457
532
  'NIST-ID': string;
458
533
  Rev: number;
534
+ /**
535
+ * Generator tier the row came from: config-pack, security-hub,
536
+ * derived-theme, or crosswalk (rev-translated from the rule's native
537
+ * revision; an empty NIST-ID means no equivalent exists at this Rev).
538
+ */
539
+ Source: string;
459
540
  }
460
541
  type AwsConfigNistMappings = AwsConfigNistMapping[];
461
542
  //#endregion
@@ -520,5 +601,5 @@ declare function getAllHipcheckAnalyses(): string[];
520
601
  /** Get all Hipcheck to NIST mappings. */
521
602
  declare function getAllHipcheckMappings(): HipcheckNistMappings;
522
603
  //#endregion
523
- export { type AwsConfigNistMapping, type AwsConfigNistMappings, type CCIItem, type CCIMappings, type CweNistMapping, type CweNistMappings, DEFAULT_COMPONENT_MANAGEMENT_NIST_TAGS, DEFAULT_CONFIG_MANAGEMENT_NIST_TAGS, DEFAULT_NIST_REVISION, DEFAULT_REMEDIATION_NIST_TAGS, DEFAULT_STATIC_ANALYSIS_NIST_TAGS, type HipcheckNistMapping, type HipcheckNistMappings, type NISTDescriptions, type NessusNistMapping, type NessusNistMappings, type NiktoNistMappings, type NistCCIMappings, type OwaspNistMapping, type OwaspNistMappings, SUPPORTED_NIST_REVISIONS, type ScoutsuiteNistMapping, type ScoutsuiteNistMappings, awsConfigIdentifierExists, awsConfigMappedRevisions, awsConfigRuleNameExists, cciExists, cweExists, getAllAwsConfigIdentifiers, getAllAwsConfigMappings, getAllAwsConfigRuleNames, getAllCCIIds, getAllCweIds, getAllCweMappings, getAllHipcheckAnalyses, getAllHipcheckMappings, getAllNISTIds, getAllNessusMappings, getAllNessusPluginFamilies, getAllNiktoIds, getAllNiktoMappings, getAllOwaspIds, getAllOwaspMappings, getAllScoutsuiteMappings, getAllScoutsuiteRules, getAwsConfigNistControlByIdentifier, getAwsConfigNistControlByName, getAwsConfigNistControlsBySubstring, getAwsConfigNistMappingByIdentifier, getAwsConfigNistMappingByName, getCCIDescription, getCCINistMappings, getCurrentNistRevision, getCweName, getCweNistControl, getCweNistMapping, getHipcheckNistControls, getNISTDescription, getNISTFamily, getNessusNistControl, getNessusPluginFamilyMappings, getNiktoNistControl, getNistCCIMappings, getOwaspName, getOwaspNistControl, getOwaspNistMapping, getScoutsuiteNistControl, getScoutsuiteNistMapping, hipcheckAnalysisExists, isNistStrict, nessusPluginFamilyExists, niktoExists, nistExists, nistToCci, owaspExists, resetNistRevision, scoutsuiteRuleExists, setCurrentNistRevision, setNistStrict };
604
+ export { type AwsConfigNistMapping, type AwsConfigNistMappings, type CCIItem, type CCIMappings, type CweNistMapping, type CweNistMappings, DEFAULT_COMPONENT_MANAGEMENT_NIST_TAGS, DEFAULT_CONFIG_MANAGEMENT_NIST_TAGS, DEFAULT_NIST_REVISION, DEFAULT_REMEDIATION_NIST_TAGS, DEFAULT_STATIC_ANALYSIS_NIST_TAGS, type HipcheckNistMapping, type HipcheckNistMappings, type NISTDescriptions, type NessusNistMapping, type NessusNistMappings, type NiktoNistMappings, type NistCCIMappings, type NistControlTranslation, type NistCrosswalkRelation, type OwaspNistMapping, type OwaspNistMappings, SUPPORTED_NIST_REVISIONS, type ScoutsuiteNistMapping, type ScoutsuiteNistMappings, awsConfigIdentifierExists, awsConfigMappedRevisions, awsConfigRuleNameExists, cciExists, cweExists, getAllAwsConfigIdentifiers, getAllAwsConfigMappings, getAllAwsConfigRuleNames, getAllCCIIds, getAllCweIds, getAllCweMappings, getAllHipcheckAnalyses, getAllHipcheckMappings, getAllNISTIds, getAllNessusMappings, getAllNessusPluginFamilies, getAllNiktoIds, getAllNiktoMappings, getAllOwaspIds, getAllOwaspMappings, getAllScoutsuiteMappings, getAllScoutsuiteRules, getAwsConfigNistControlByIdentifier, getAwsConfigNistControlByName, getAwsConfigNistControlsBySubstring, getAwsConfigNistMappingByIdentifier, getAwsConfigNistMappingByName, getCCIDescription, getCCINistMappings, getCurrentNistRevision, getCweName, getCweNistControl, getCweNistMapping, getHipcheckNistControls, getNISTDescription, getNISTFamily, getNessusNistControl, getNessusPluginFamilyMappings, getNiktoNistControl, getNistCCIMappings, getOwaspName, getOwaspNistControl, getOwaspNistMapping, getScoutsuiteNistControl, getScoutsuiteNistMapping, hipcheckAnalysisExists, isNistStrict, nessusPluginFamilyExists, niktoExists, nistControlsAtRevision, nistExists, nistRosterSize, nistToCci, owaspExists, resetNistRevision, scoutsuiteRuleExists, setCurrentNistRevision, setNistStrict, translateNistControl, translateNistControls };
524
605
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/cci/types.ts","../src/cci/index.ts","../src/nist/types.ts","../src/nist/index.ts","../src/owasp/types.ts","../src/owasp/index.ts","../src/cwe/types.ts","../src/cwe/index.ts","../src/nessus/types.ts","../src/nessus/index.ts","../src/nikto/types.ts","../src/nikto/index.ts","../src/scoutsuite/types.ts","../src/scoutsuite/index.ts","../src/awsconfig/types.ts","../src/awsconfig/index.ts","../src/hipcheck/types.ts","../src/hipcheck/index.ts"],"mappings":";;;;UAGiB;;EAEf;;EAEA;;;;;KAMU,cAAc,eAAe;;;;;KAM7B,kBAAkB;;;;;;;;;;;;;;;;;;iBCId,kBAAkB;;;;;;;;;;;;;iBAqBlB,mBAAmB;;;;;;;;;;;;iBAoBnB;;;;;;;;;;;;;;iBAiBA,UAAU;;;;;;;;;;;;;;iBA8BV,mBAAmB;;;;;;;;;;;;;;iBAqBnB,UAAU;;;;;;KCjId,mBAAmB;;;;;;;;;;;;;;;;cCiBlB;;cAGA;;iBAKG;;;;;iBAQA,uBAAuB;;iBAUvB;;iBAOA;;;;;;iBASA,cAAc;;;;;;;;;;;;;iBAgBd,mBAAmB;;;;;;;;;;;;iBAmBnB;;;;;;;;;;;;;;iBAiBA,WAAW;;;;;;;;;;;;;;;;iBAuBX,cAAc;;;;;;;;;;;cAgCjB;;cAGA;;cAGA;;cAGA;;;;;;UC9KI;EACf;EACA;EACA;EACA;EACA;;KAGU,oBAAoB;;;;;;;;;;;;;;;iBCYhB,oBAAoB,kBAAkB;;;;;;;;;;;;;iBAoBtC,oBAAoB;;;;;;;;;;;;;iBAiBpB,aAAa;;;;;;;;;;;;iBAgBb;;;;;;;;;;;;;;iBAiBA,YAAY;;;;;;;;;;;;iBAmBZ,uBAAuB;;;;;;UC7GtB;EACf;EACA;EACA;EACA;EACA;;KAGU,kBAAkB;;;;iBCiBd,kBACd,eACA,eACC;;iBAKa,kBAAkB,eAAe;;iBAKjC,WAAW,eAAe;;iBAK1B,aAAa;;iBAKb,UAAU,eAAe;;iBAKzB,qBAAqB;;;;;;UCrDpB;EACf;EACA;EACA;;KAGU,qBAAqB;;;;;;;;;iBCKjB,qBACd,sBACA;;;;;;iBAwBc,8BACd,uBACC;;;;;iBAQa;;;;;;iBAUA,yBAAyB;;;;;iBAQzB,wBAAwB;;;;;;KCjE5B,oBAAoB;;;;;;;;iBCUhB,oBAAoB;;;;;iBASpB;;;;;;iBASA,YAAY;;;;;iBASZ,uBAAuB;;;;;;UCrCtB;EACf;EACA;;KAGU,yBAAyB;;;;;;;;iBCQrB,yBAAyB,eAAe;;;;;;iBASxC,yBAAyB;;;;;iBASzB;;;;;;iBASA,qBAAqB;;;;;iBAQrB,4BAA4B;;;;;;UChD3B;EACf;EACA;EACA;EACA;;KAGU,wBAAwB;;;;iBCsBpB,oCACd,oBACA,eACC;;iBAKa,8BACd,kBACA,eACC;;iBAKa,oCACd,oBACA;;iBAMc,8BACd,kBACA;;;;;;;iBAWc,oCACd,cACA;;iBAoBc,2BAA2B;;iBAK3B,yBAAyB;;iBAKzB,0BAA0B,oBAAoB;;iBAK9C,wBAAwB,kBAAkB;;;;;;;;iBAW1C,yBAAyB,oBAAoB;;iBAa7C,2BAA2B;;;;;;UC/H1B;EACf;EACA;EACA;EACA;;KAGU,uBAAuB;;;;;;;;iBCqBnB,wBAAwB;;iBAUxB,uBAAuB;;iBAKvB;;iBAKA,0BAA0B"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/cci/types.ts","../src/cci/index.ts","../src/nist/crosswalk.ts","../src/nist/types.ts","../src/nist/index.ts","../src/owasp/types.ts","../src/owasp/index.ts","../src/cwe/types.ts","../src/cwe/index.ts","../src/nessus/types.ts","../src/nessus/index.ts","../src/nikto/types.ts","../src/nikto/index.ts","../src/scoutsuite/types.ts","../src/scoutsuite/index.ts","../src/awsconfig/types.ts","../src/awsconfig/index.ts","../src/hipcheck/types.ts","../src/hipcheck/index.ts"],"mappings":";;;;UAGiB;;EAEf;;EAEA;;;;;KAMU,cAAc,eAAe;;;;;KAM7B,kBAAkB;;;;;;;;;;;;;;;;;;iBCUd,kBAAkB;;;;;;;;;;;;;iBAqBlB,mBAAmB;;;;;;;;;;;;iBAqBnB;;;;;;;;;;;;;;iBAiBA,UAAU;;;;;;;;;;;;;;iBA8BV,mBAAmB;;;;;;;;;;;;;;iBAqBnB,UAAU;;;;;;;;;;;;;;;;;KC1Hd;UASK;EACf;EACA;EACA,UAAU;;;;;EAKV;;EAEA;;;;;;;;;;iBA4Dc,qBACd,iBACA,cACA,aACC;;;;;;;;iBA8Ba,sBACd,oBACA,cACA;EACG;EAAsB,UAAU;;;;;;iBAwBrB,eAAe;;;;;;;;;;;iBAoBf,uBACd,oBACA,mBACA;;;;;;KClLU,mBAAmB;;;;;;;;;;;;;;;;cCyBlB;;cAWA;;iBAKG;;;;;iBAQA,uBAAuB;;iBAUvB;;iBAOA;;;;;;iBASA,cAAc;;;;;;;;;;;;;;;;iBAmBd,mBACd,gBACA;;;;;;;;;;;;;;iBAsBc,cAAc;;;;;;;;;;;;;;;;iBAmBd,WAAW,gBAAgB;;;;;;;;;;;;;;;;;;;iBA0B3B,cACd,gBACA;;;;;;;;;;;cAiCW;;cAGA;;cAGA;;cAGA;;;;;;UC9MI;EACf;EACA;EACA;EACA;EACA;;KAGU,oBAAoB;;;;;;;;;;;;;;;iBCoBhB,oBAAoB,kBAAkB;;;;;;;;;;;;;iBAoBtC,oBAAoB;;;;;;;;;;;;;iBAiBpB,aAAa;;;;;;;;;;;;iBAgBb;;;;;;;;;;;;;;iBAiBA,YAAY;;;;;;;;;;;;iBAmBZ,uBAAuB;;;;;;UCrHtB;EACf;EACA;EACA;EACA;EACA;;KAGU,kBAAkB;;;;iBCiBd,kBACd,eACA,eACC;;iBAKa,kBAAkB,eAAe;;iBAKjC,WAAW,eAAe;;iBAK1B,aAAa;;iBAKb,UAAU,eAAe;;iBAKzB,qBAAqB;;;;;;UCrDpB;EACf;EACA;EACA;;KAGU,qBAAqB;;;;;;;;;iBCajB,qBACd,sBACA;;;;;;iBAwBc,8BACd,uBACC;;;;;iBAQa;;;;;;iBAUA,yBAAyB;;;;;iBAQzB,wBAAwB;;;;;;KCzE5B,oBAAoB;;;;;;;;iBCkBhB,oBAAoB;;;;;iBAUpB;;;;;;iBASA,YAAY;;;;;iBASZ,uBAAuB;;;;;;UC9CtB;EACf;EACA;;KAGU,yBAAyB;;;;;;;;iBCgBrB,yBAAyB,eAAe;;;;;;iBASxC,yBAAyB;;;;;iBASzB;;;;;;iBASA,qBAAqB;;;;;iBAQrB,4BAA4B;;;;;;UCxD3B;EACf;EACA;EACA;EACA;;;;;;EAMA;;KAGU,wBAAwB;;;;iBCgBpB,oCACd,oBACA,eACC;;iBAKa,8BACd,kBACA,eACC;;iBAKa,oCACd,oBACA;;iBAMc,8BACd,kBACA;;;;;;;iBAWc,oCACd,cACA;;iBAoBc,2BAA2B;;iBAK3B,yBAAyB;;iBAKzB,0BAA0B,oBAAoB;;iBAK9C,wBAAwB,kBAAkB;;;;;;;;iBAW1C,yBAAyB,oBAAoB;;iBAa7C,2BAA2B;;;;;;UC/H1B;EACf;EACA;EACA;EACA;;KAGU,uBAAuB;;;;;;;;iBC2BnB,wBAAwB;;iBAWxB,uBAAuB;;iBAKvB;;iBAKA,0BAA0B"}