@mitre/hdf-mappings 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/dist/index.d.ts CHANGED
@@ -113,6 +113,36 @@ type NISTDescriptions = Record<string, string>;
113
113
  /**
114
114
  * NIST SP 800-53 control description functions
115
115
  */
116
+ /**
117
+ * NIST SP 800-53 revision selection.
118
+ *
119
+ * The revision is a module-global default that every NIST-emitting mapping
120
+ * consults through its default lookups. Set it once at startup (the CLI's
121
+ * `--nist-rev` flag does this) to switch the catalog all converters target.
122
+ * For explicit, side-effect-free per-call selection, pass an explicit `rev` to
123
+ * the mapping lookups instead of mutating this.
124
+ */
125
+ /** The revision mappings emit when nothing overrides it. */
126
+ declare const DEFAULT_NIST_REVISION = 5;
127
+ /** Revisions every NIST-emitting mapping table has rows for. */
128
+ declare const SUPPORTED_NIST_REVISIONS: readonly number[];
129
+ /** Get the module-global default NIST revision. */
130
+ declare function getCurrentNistRevision(): number;
131
+ /**
132
+ * Set the module-global default NIST revision. Throws (without mutating state)
133
+ * if the revision has no mapping data.
134
+ */
135
+ declare function setCurrentNistRevision(rev: number): void;
136
+ /** Restore the default revision. Intended for cleanup and tests. */
137
+ declare function resetNistRevision(): void;
138
+ /** Report whether strict NIST revision alignment is enabled. */
139
+ declare function isNistStrict(): boolean;
140
+ /**
141
+ * Toggle strict NIST revision alignment. When enabled, revision-divergent
142
+ * mappings treat a rule mapped only at another revision as a hard error rather
143
+ * than a silent omission.
144
+ */
145
+ declare function setNistStrict(strict: boolean): void;
116
146
  /**
117
147
  * Get the description for a NIST control ID.
118
148
  *
@@ -290,39 +320,17 @@ interface CweNistMapping {
290
320
  type CweNistMappings = CweNistMapping[];
291
321
  //#endregion
292
322
  //#region src/cwe/index.d.ts
293
- /**
294
- * Get the full mapping for a CWE ID
295
- * @param cweId - The CWE ID (number)
296
- * @returns The mapping object or undefined if not found
297
- */
298
- declare function getCweNistMapping(cweId: number): CweNistMapping | undefined;
299
- /**
300
- * Get the NIST control ID for a CWE ID
301
- * @param cweId - The CWE ID (number)
302
- * @returns The NIST control ID or undefined if not found
303
- */
304
- declare function getCweNistControl(cweId: number): string | undefined;
305
- /**
306
- * Get the CWE name for a CWE ID
307
- * @param cweId - The CWE ID (number)
308
- * @returns The CWE name or undefined if not found
309
- */
310
- declare function getCweName(cweId: number): string | undefined;
311
- /**
312
- * Get all CWE IDs
313
- * @returns Array of all CWE IDs
314
- */
315
- declare function getAllCweIds(): number[];
316
- /**
317
- * Check if a CWE ID exists in the mappings
318
- * @param cweId - The CWE ID to check
319
- * @returns True if the CWE ID exists
320
- */
321
- declare function cweExists(cweId: number): boolean;
322
- /**
323
- * Get all CWE to NIST mappings
324
- * @returns Array of all mappings
325
- */
323
+ /** Get the full mapping for a CWE ID at the given NIST revision. */
324
+ declare function getCweNistMapping(cweId: number, rev?: number): CweNistMapping | undefined;
325
+ /** Get the NIST control ID for a CWE ID at the given NIST revision. */
326
+ declare function getCweNistControl(cweId: number, rev?: number): string | undefined;
327
+ /** Get the CWE name for a CWE ID at the given NIST revision. */
328
+ declare function getCweName(cweId: number, rev?: number): string | undefined;
329
+ /** Get all CWE IDs present at the given NIST revision. */
330
+ declare function getAllCweIds(rev?: number): number[];
331
+ /** Check whether a CWE ID exists at the given NIST revision. */
332
+ declare function cweExists(cweId: number, rev?: number): boolean;
333
+ /** Get all CWE to NIST mappings (all revisions). */
326
334
  declare function getAllCweMappings(): CweNistMappings;
327
335
  //#endregion
328
336
  //#region src/nessus/types.d.ts
@@ -450,57 +458,32 @@ interface AwsConfigNistMapping {
450
458
  type AwsConfigNistMappings = AwsConfigNistMapping[];
451
459
  //#endregion
452
460
  //#region src/awsconfig/index.d.ts
453
- /**
454
- * Get the full mapping for an AWS Config rule by source identifier
455
- * @param identifier - The AWS Config rule source identifier
456
- * @returns The mapping object or undefined if not found
457
- */
458
- declare function getAwsConfigNistMappingByIdentifier(identifier: string): AwsConfigNistMapping | undefined;
459
- /**
460
- * Get the full mapping for an AWS Config rule by rule name
461
- * @param ruleName - The AWS Config rule name
462
- * @returns The mapping object or undefined if not found
463
- */
464
- declare function getAwsConfigNistMappingByName(ruleName: string): AwsConfigNistMapping | undefined;
465
- /**
466
- * Get the NIST control ID for an AWS Config rule by source identifier
467
- * @param identifier - The AWS Config rule source identifier
468
- * @returns The NIST control ID or undefined if not found
469
- */
470
- declare function getAwsConfigNistControlByIdentifier(identifier: string): string | undefined;
471
- /**
472
- * Get the NIST control ID for an AWS Config rule by rule name
473
- * @param ruleName - The AWS Config rule name
474
- * @returns The NIST control ID or undefined if not found
475
- */
476
- declare function getAwsConfigNistControlByName(ruleName: string): string | undefined;
477
- /**
478
- * Get all AWS Config rule source identifiers
479
- * @returns Array of all rule source identifiers
480
- */
481
- declare function getAllAwsConfigIdentifiers(): string[];
482
- /**
483
- * Get all AWS Config rule names
484
- * @returns Array of all rule names
485
- */
486
- declare function getAllAwsConfigRuleNames(): string[];
487
- /**
488
- * Check if an AWS Config rule exists by source identifier
489
- * @param identifier - The rule source identifier to check
490
- * @returns True if the rule exists
491
- */
492
- declare function awsConfigIdentifierExists(identifier: string): boolean;
493
- /**
494
- * Check if an AWS Config rule exists by rule name
495
- * @param ruleName - The rule name to check
496
- * @returns True if the rule exists
497
- */
498
- declare function awsConfigRuleNameExists(ruleName: string): boolean;
499
- /**
500
- * Get all AWS Config to NIST mappings
501
- * @returns Array of all mappings
502
- */
461
+ /** Get the full mapping for an AWS Config rule by source identifier. */
462
+ declare function getAwsConfigNistMappingByIdentifier(identifier: string, rev?: number): AwsConfigNistMapping | undefined;
463
+ /** Get the full mapping for an AWS Config rule by rule name. */
464
+ declare function getAwsConfigNistMappingByName(ruleName: string, rev?: number): AwsConfigNistMapping | undefined;
465
+ /** Get the NIST control ID for an AWS Config rule by source identifier. */
466
+ declare function getAwsConfigNistControlByIdentifier(identifier: string, rev?: number): string | undefined;
467
+ /** Get the NIST control ID for an AWS Config rule by rule name. */
468
+ declare function getAwsConfigNistControlByName(ruleName: string, rev?: number): string | undefined;
469
+ /** Get all AWS Config rule source identifiers present at the given revision. */
470
+ declare function getAllAwsConfigIdentifiers(rev?: number): string[];
471
+ /** Get all AWS Config rule names present at the given revision. */
472
+ declare function getAllAwsConfigRuleNames(rev?: number): string[];
473
+ /** Check if an AWS Config rule exists by source identifier at the given revision. */
474
+ declare function awsConfigIdentifierExists(identifier: string, rev?: number): boolean;
475
+ /** Check if an AWS Config rule exists by rule name at the given revision. */
476
+ declare function awsConfigRuleNameExists(ruleName: string, rev?: number): boolean;
477
+ /**
478
+ * Get the supported NIST revisions at which the rule resolves (by source
479
+ * identifier or rule name), sorted ascending. Mirrors the resolution
480
+ * buildNistTags performs, so a revision is included exactly when a conversion
481
+ * at that revision would emit NIST tags. Empty means unmapped everywhere — a
482
+ * coverage gap, not a revision mismatch.
483
+ */
484
+ declare function awsConfigMappedRevisions(identifier: string, ruleName: string): number[];
485
+ /** Get all AWS Config to NIST mappings (all revisions). */
503
486
  declare function getAllAwsConfigMappings(): AwsConfigNistMappings;
504
487
  //#endregion
505
- export { type AwsConfigNistMapping, type AwsConfigNistMappings, type CCIItem, type CCIMappings, type CweNistMapping, type CweNistMappings, DEFAULT_COMPONENT_MANAGEMENT_NIST_TAGS, DEFAULT_REMEDIATION_NIST_TAGS, DEFAULT_STATIC_ANALYSIS_NIST_TAGS, type NISTDescriptions, type NessusNistMapping, type NessusNistMappings, type NiktoNistMappings, type NistCCIMappings, type OwaspNistMapping, type OwaspNistMappings, type ScoutsuiteNistMapping, type ScoutsuiteNistMappings, awsConfigIdentifierExists, awsConfigRuleNameExists, cciExists, cweExists, getAllAwsConfigIdentifiers, getAllAwsConfigMappings, getAllAwsConfigRuleNames, getAllCCIIds, getAllCweIds, getAllCweMappings, getAllNISTIds, getAllNessusMappings, getAllNessusPluginFamilies, getAllNiktoIds, getAllNiktoMappings, getAllOwaspIds, getAllOwaspMappings, getAllScoutsuiteMappings, getAllScoutsuiteRules, getAwsConfigNistControlByIdentifier, getAwsConfigNistControlByName, getAwsConfigNistMappingByIdentifier, getAwsConfigNistMappingByName, getCCIDescription, getCCINistMappings, getCweName, getCweNistControl, getCweNistMapping, getNISTDescription, getNISTFamily, getNessusNistControl, getNessusPluginFamilyMappings, getNiktoNistControl, getNistCCIMappings, getOwaspName, getOwaspNistControl, getOwaspNistMapping, getScoutsuiteNistControl, getScoutsuiteNistMapping, nessusPluginFamilyExists, niktoExists, nistExists, nistToCci, owaspExists, scoutsuiteRuleExists };
488
+ export { type AwsConfigNistMapping, type AwsConfigNistMappings, type CCIItem, type CCIMappings, type CweNistMapping, type CweNistMappings, DEFAULT_COMPONENT_MANAGEMENT_NIST_TAGS, DEFAULT_NIST_REVISION, DEFAULT_REMEDIATION_NIST_TAGS, DEFAULT_STATIC_ANALYSIS_NIST_TAGS, 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, getAllNISTIds, getAllNessusMappings, getAllNessusPluginFamilies, getAllNiktoIds, getAllNiktoMappings, getAllOwaspIds, getAllOwaspMappings, getAllScoutsuiteMappings, getAllScoutsuiteRules, getAwsConfigNistControlByIdentifier, getAwsConfigNistControlByName, getAwsConfigNistMappingByIdentifier, getAwsConfigNistMappingByName, getCCIDescription, getCCINistMappings, getCurrentNistRevision, getCweName, getCweNistControl, getCweNistMapping, getNISTDescription, getNISTFamily, getNessusNistControl, getNessusPluginFamilyMappings, getNiktoNistControl, getNistCCIMappings, getOwaspName, getOwaspNistControl, getOwaspNistMapping, getScoutsuiteNistControl, getScoutsuiteNistMapping, isNistStrict, nessusPluginFamilyExists, niktoExists, nistExists, nistToCci, owaspExists, resetNistRevision, scoutsuiteRuleExists, setCurrentNistRevision, setNistStrict };
506
489
  //# 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"],"mappings":"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"}
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"],"mappings":"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"}