@mitre/hdf-converters 3.4.3 → 3.5.0
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 +11 -0
- package/dist/index.d.ts +89 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1317 -385
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -87,6 +87,17 @@ All converter output conforms to the [HDF JSON Schema](https://mitre.github.io/h
|
|
|
87
87
|
| Legacy HDF (InSpec exec-json format) to current HDF | `convertV1ToV2` |
|
|
88
88
|
| Detect legacy HDF format | `isHDFV1` |
|
|
89
89
|
|
|
90
|
+
### Enrichment
|
|
91
|
+
|
|
92
|
+
Enrichment overlays external context onto an existing HDF results document as inert `externalReferences[]` (matched to findings by CVE, else the results root). It is informational — it never changes a finding's status or impact — and is distinct from a converter (it takes a results doc *plus* a source, and returns the enriched results doc).
|
|
93
|
+
|
|
94
|
+
| Source | Function | Format |
|
|
95
|
+
|---|---|---|
|
|
96
|
+
| STIX 2.1 bundle → results `externalReferences[]` | `enrichStix` | JSON |
|
|
97
|
+
| Detect / parse a STIX 2.1 bundle | `detectStixBundle` / `parseStixBundle` | JSON |
|
|
98
|
+
|
|
99
|
+
CLI: `hdf enrich <results> <source>` (see the [hdf-cli README](../hdf-cli/README.md#enrich)).
|
|
100
|
+
|
|
90
101
|
## Installation
|
|
91
102
|
|
|
92
103
|
```bash
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ecosystem, HDFAmendments, HDFResults, ResultStatus } from "@mitre/hdf-schema";
|
|
2
2
|
//#region converters/legacyhdf-to-hdf/typescript/converter.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* HDF v1.0 to v2.0 converter.
|
|
@@ -114,6 +114,31 @@ interface V2Result {
|
|
|
114
114
|
resourceId?: string;
|
|
115
115
|
[key: string]: unknown;
|
|
116
116
|
}
|
|
117
|
+
interface V2StatusOverride {
|
|
118
|
+
type: string;
|
|
119
|
+
status?: string;
|
|
120
|
+
impact?: {
|
|
121
|
+
value: number;
|
|
122
|
+
};
|
|
123
|
+
reason?: string;
|
|
124
|
+
appliedBy?: {
|
|
125
|
+
type?: string;
|
|
126
|
+
identifier?: string;
|
|
127
|
+
};
|
|
128
|
+
appliedAt?: string;
|
|
129
|
+
expiresAt?: string;
|
|
130
|
+
[key: string]: unknown;
|
|
131
|
+
}
|
|
132
|
+
interface V2Poam {
|
|
133
|
+
type: string;
|
|
134
|
+
explanation?: string;
|
|
135
|
+
appliedBy?: {
|
|
136
|
+
type?: string;
|
|
137
|
+
identifier?: string;
|
|
138
|
+
};
|
|
139
|
+
appliedAt?: string;
|
|
140
|
+
[key: string]: unknown;
|
|
141
|
+
}
|
|
117
142
|
interface V2Requirement {
|
|
118
143
|
id: string;
|
|
119
144
|
title?: string;
|
|
@@ -133,6 +158,14 @@ interface V2Requirement {
|
|
|
133
158
|
waiverData?: Record<string, unknown>;
|
|
134
159
|
results?: V2Result[];
|
|
135
160
|
effectiveStatus?: string;
|
|
161
|
+
effectiveImpact?: number;
|
|
162
|
+
disposition?: string;
|
|
163
|
+
statusOverrides?: V2StatusOverride[];
|
|
164
|
+
poams?: V2Poam[];
|
|
165
|
+
cwe?: string[];
|
|
166
|
+
cvss?: Array<{
|
|
167
|
+
baseSeverity?: string;
|
|
168
|
+
}>;
|
|
136
169
|
[key: string]: unknown;
|
|
137
170
|
}
|
|
138
171
|
interface V2Group {
|
|
@@ -173,6 +206,18 @@ interface V2Baseline {
|
|
|
173
206
|
algorithm: string;
|
|
174
207
|
value: string;
|
|
175
208
|
};
|
|
209
|
+
resultsChecksum?: {
|
|
210
|
+
algorithm?: string;
|
|
211
|
+
value?: string;
|
|
212
|
+
};
|
|
213
|
+
originalChecksum?: {
|
|
214
|
+
algorithm?: string;
|
|
215
|
+
value?: string;
|
|
216
|
+
};
|
|
217
|
+
integrity?: {
|
|
218
|
+
algorithm?: string;
|
|
219
|
+
checksum?: string;
|
|
220
|
+
};
|
|
176
221
|
depends?: V2Dependency[];
|
|
177
222
|
parentBaseline?: string;
|
|
178
223
|
status?: string;
|
|
@@ -197,31 +242,7 @@ interface HDFV2Results {
|
|
|
197
242
|
remediation?: unknown;
|
|
198
243
|
extensions?: Record<string, unknown>;
|
|
199
244
|
}
|
|
200
|
-
|
|
201
|
-
* Convert HDF v1.0 results to v2.0 format.
|
|
202
|
-
*
|
|
203
|
-
* Performs comprehensive transformation at all levels:
|
|
204
|
-
* - Top-level: version removed, profiles → baselines, platform → components
|
|
205
|
-
* - Baselines: sha256 → checksum, controls → requirements, field renaming
|
|
206
|
-
* - Requirements: snake_case → camelCase, status → effectiveStatus
|
|
207
|
-
* - Results: snake_case → camelCase for all fields
|
|
208
|
-
*
|
|
209
|
-
* @param v1Data - HDF v1.0 results object
|
|
210
|
-
* @returns HDF v2.0 results object
|
|
211
|
-
*
|
|
212
|
-
* @example
|
|
213
|
-
* ```typescript
|
|
214
|
-
* const v1 = {
|
|
215
|
-
* version: "1.0.0",
|
|
216
|
-
* platform: { name: "ubuntu", release: "20.04" },
|
|
217
|
-
* profiles: [...],
|
|
218
|
-
* statistics: {...}
|
|
219
|
-
* };
|
|
220
|
-
* const v2 = convertV1ToV2(v1);
|
|
221
|
-
* // v2 = { baselines: [...], components: [{...}], statistics: {...} }
|
|
222
|
-
* ```
|
|
223
|
-
*/
|
|
224
|
-
declare function convertV1ToV2(v1Data: HDFV1Results): HDFV2Results;
|
|
245
|
+
declare function convertV1ToV2(v1Data: HDFV1Results, converterVersion?: string): HDFV2Results;
|
|
225
246
|
/**
|
|
226
247
|
* Validate that data appears to be HDF v1.0 format.
|
|
227
248
|
*
|
|
@@ -812,5 +833,46 @@ declare function convertOscalPoamToHdf(input: string): Promise<string>;
|
|
|
812
833
|
*/
|
|
813
834
|
declare function convertOscalSarToHdf(input: string): Promise<string>;
|
|
814
835
|
//#endregion
|
|
815
|
-
|
|
836
|
+
//#region shared/typescript/enrichStix.d.ts
|
|
837
|
+
/** Options for the enrich pass. The empty object is the informational-only pass. */
|
|
838
|
+
interface EnrichOptions {
|
|
839
|
+
/** Enable the opt-in E:H CVSS Threat recompute (Phase 5). Off by default. */
|
|
840
|
+
recomputeCvss?: boolean;
|
|
841
|
+
/** appliedAt for authored overrides; expiresAt = asOf + review horizon. Default: now. */
|
|
842
|
+
asOf?: Date;
|
|
843
|
+
/** Review horizon in ms before an authored riskAdjustment expires. Default: 90 days. */
|
|
844
|
+
reviewHorizonMs?: number;
|
|
845
|
+
/** Cap each input's byte size. Default: the shared DEFAULT_MAX_INPUT_SIZE.
|
|
846
|
+
* Callers with a user-configurable limit pass it through. */
|
|
847
|
+
maxSize?: number;
|
|
848
|
+
}
|
|
849
|
+
/**
|
|
850
|
+
* Overlay a STIX 2.1 bundle onto an existing HDF results document, attaching
|
|
851
|
+
* each STIX object as an inert externalReferences[] entry: a CVE-bearing object
|
|
852
|
+
* attaches to the finding whose requirementId is that CVE (fanning out to every
|
|
853
|
+
* match), and everything else — non-CVE objects and CVEs with no matching
|
|
854
|
+
* finding — attaches to the results root. Each entry carries the raw STIX object
|
|
855
|
+
* losslessly in `document`.
|
|
856
|
+
*
|
|
857
|
+
* Informational only: authors no overrides and fabricates no status/impact (the
|
|
858
|
+
* E:A recompute is a separate, opt-in step). The results document is preserved
|
|
859
|
+
* verbatim except for the appended references — manipulated structurally so
|
|
860
|
+
* every pre-existing field, including timestamp strings, round-trips unchanged.
|
|
861
|
+
* TypeScript peer of shared/go/enrich_stix.go (kept at parity).
|
|
862
|
+
*/
|
|
863
|
+
declare function enrichStix(resultsInput: string, bundleInput: string, opts?: EnrichOptions): string;
|
|
864
|
+
//#endregion
|
|
865
|
+
//#region shared/typescript/stix.d.ts
|
|
866
|
+
type StixObject = Record<string, unknown>;
|
|
867
|
+
interface StixBundle {
|
|
868
|
+
type: string;
|
|
869
|
+
id?: string;
|
|
870
|
+
objects: StixObject[];
|
|
871
|
+
}
|
|
872
|
+
/** Parse and validate a STIX 2.1 bundle. Objects are kept raw for lossless carriage. */
|
|
873
|
+
declare function parseStixBundle(input: string): StixBundle;
|
|
874
|
+
/** Report whether the input looks like a STIX 2.1 bundle, without throwing. */
|
|
875
|
+
declare function detectStixBundle(input: string): boolean;
|
|
876
|
+
//#endregion
|
|
877
|
+
export { type EnrichOptions, type HDFV1Results, type HDFV2Results, convertAsffToHdf, convertAwsConfigToHdf, convertBurpsuiteToHdf, convertCheckovToHdf, convertCklToHdf, convertCklbToHdf, convertConveyorToHdf, convertCsafVexToHdf, convertCyclonedxToHdf, convertCyclonedxVexToHdf, convertDbprotectToHdf, convertDefectDojoToHdf, convertDeptrackToHdf, convertFortifyToHdf, convertGitlabToHdf, convertGosecToHdf, convertGrypeToHdf, convertHdfToAsff, convertHdfToCkl, convertHdfToCklb, convertHdfToCsafVex, convertHdfToCsv, convertHdfToCyclonedxVex, convertHdfToEcs, convertHdfToOcsf, convertHdfToOpenVex, convertHdfToOscalPoam, convertHdfToOscalSar, convertHdfToSplunk, convertHdfToXccdf, convertHdfToXml, convertHipcheckToHdf, convertIonchannelToHdf, convertJfrogXrayToHdf, convertJunitToHdf, convertMsftDefenderCloudToHdf, convertMsftDefenderDevopsToHdf, convertMsftDefenderEndpointToHdf, convertMsftSecureScoreToHdf, convertNessusToHdf, convertNetsparkerToHdf, convertNeuvectorToHdf, convertNiktoToHdf, convertOpenVexToHdf, convertOscalCatalogToHdf, convertOscalComponentToHdf, convertOscalPoamToHdf, convertOscalProfileToHdf, convertOscalSapToHdf, convertOscalSarToHdf, convertOscalSspToHdf, convertPrismaToHdf, convertSarifToHdf, convertScoutsuiteToHdf, convertSnykToHdf, convertSonarqubeToHdf, convertSplunkToHdf, convertTrufflehogToHdf, convertTwistlockToHdf, convertV1ToV2, convertVeracodeToHdf, convertXccdfResultsToHdf, convertZapToHdf, detectOscalDocumentType, detectStixBundle, enrichStix, isHDFV1, parseStixBundle };
|
|
816
878
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../converters/legacyhdf-to-hdf/typescript/converter.ts","../converters/asff-to-hdf/typescript/converter.ts","../converters/sarif-to-hdf/typescript/converter.ts","../converters/junit-to-hdf/typescript/converter.ts","../converters/xccdf-results-to-hdf/typescript/converter.ts","../converters/ckl-to-hdf/typescript/converter.ts","../converters/cklb-to-hdf/typescript/converter.ts","../converters/hdf-to-ckl/typescript/converter.ts","../converters/hdf-to-cklb/typescript/converter.ts","../converters/snyk-to-hdf/typescript/converter.ts","../converters/grype-to-hdf/typescript/converter.ts","../converters/defectdojo-to-hdf/typescript/converter.ts","../converters/nessus-to-hdf/typescript/converter.ts","../converters/sonarqube-to-hdf/typescript/converter.ts","../converters/aws-config-to-hdf/typescript/converter.ts","../converters/checkov-to-hdf/typescript/converter.ts","../converters/gosec-to-hdf/typescript/converter.ts","../converters/nikto-to-hdf/typescript/converter.ts","../converters/zap-to-hdf/typescript/converter.ts","../converters/cyclonedx-to-hdf/typescript/converter.ts","../converters/hdf-to-csv/typescript/converter.ts","../converters/hdf-to-ecs/typescript/converter.ts","../converters/hdf-to-splunk/typescript/converter.ts","../converters/hdf-to-ocsf/typescript/converter.ts","../converters/hdf-to-asff/typescript/converter.ts","../converters/splunk-to-hdf/typescript/converter.ts","../converters/hdf-to-xml/typescript/converter.ts","../converters/gitlab-to-hdf/typescript/converter.ts","../converters/trufflehog-to-hdf/typescript/converter.ts","../converters/hipcheck-to-hdf/typescript/converter.ts","../converters/burpsuite-to-hdf/typescript/converter.ts","../converters/dbprotect-to-hdf/typescript/converter.ts","../converters/twistlock-to-hdf/typescript/converter.ts","../converters/deptrack-to-hdf/typescript/converter.ts","../converters/jfrog-xray-to-hdf/typescript/converter.ts","../converters/neuvector-to-hdf/typescript/converter.ts","../converters/fortify-to-hdf/typescript/converter.ts","../converters/prisma-to-hdf/typescript/converter.ts","../converters/netsparker-to-hdf/typescript/converter.ts","../converters/scoutsuite-to-hdf/typescript/converter.ts","../converters/conveyor-to-hdf/typescript/converter.ts","../converters/veracode-to-hdf/typescript/converter.ts","../converters/msft-secure-score-to-hdf/typescript/converter.ts","../converters/msft-defender-devops-to-hdf/typescript/converter.ts","../converters/msft-defender-cloud-to-hdf/typescript/converter.ts","../converters/msft-defender-endpoint-to-hdf/typescript/converter.ts","../converters/hdf-to-xccdf/typescript/converter.ts","../converters/hdf-to-oscal-sar/typescript/converter.ts","../converters/hdf-to-oscal-poam/typescript/converter.ts","../converters/ionchannel-to-hdf/typescript/converter.ts","../converters/openvex-to-hdf/typescript/converter.ts","../converters/csaf-vex-to-hdf/typescript/converter.ts","../converters/cyclonedx-vex-to-hdf/typescript/converter.ts","../converters/hdf-to-csaf-vex/typescript/converter.ts","../converters/hdf-to-openvex/typescript/converter.ts","../converters/hdf-to-cyclonedx-vex/typescript/converter.ts","../converters/oscal-to-hdf/typescript/detect.ts","../converters/oscal-to-hdf/typescript/converter-catalog.ts","../converters/oscal-to-hdf/typescript/converter-profile.ts","../converters/oscal-to-hdf/typescript/converter-component.ts","../converters/oscal-to-hdf/typescript/converter-ssp.ts","../converters/oscal-to-hdf/typescript/converter-sap.ts","../converters/oscal-to-hdf/typescript/converter-poam.ts","../converters/oscal-to-hdf/typescript/converter-sar.ts"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../converters/legacyhdf-to-hdf/typescript/converter.ts","../converters/asff-to-hdf/typescript/converter.ts","../converters/sarif-to-hdf/typescript/converter.ts","../converters/junit-to-hdf/typescript/converter.ts","../converters/xccdf-results-to-hdf/typescript/converter.ts","../converters/ckl-to-hdf/typescript/converter.ts","../converters/cklb-to-hdf/typescript/converter.ts","../converters/hdf-to-ckl/typescript/converter.ts","../converters/hdf-to-cklb/typescript/converter.ts","../converters/snyk-to-hdf/typescript/converter.ts","../converters/grype-to-hdf/typescript/converter.ts","../converters/defectdojo-to-hdf/typescript/converter.ts","../converters/nessus-to-hdf/typescript/converter.ts","../converters/sonarqube-to-hdf/typescript/converter.ts","../converters/aws-config-to-hdf/typescript/converter.ts","../converters/checkov-to-hdf/typescript/converter.ts","../converters/gosec-to-hdf/typescript/converter.ts","../converters/nikto-to-hdf/typescript/converter.ts","../converters/zap-to-hdf/typescript/converter.ts","../converters/cyclonedx-to-hdf/typescript/converter.ts","../converters/hdf-to-csv/typescript/converter.ts","../converters/hdf-to-ecs/typescript/converter.ts","../converters/hdf-to-splunk/typescript/converter.ts","../converters/hdf-to-ocsf/typescript/converter.ts","../converters/hdf-to-asff/typescript/converter.ts","../converters/splunk-to-hdf/typescript/converter.ts","../converters/hdf-to-xml/typescript/converter.ts","../converters/gitlab-to-hdf/typescript/converter.ts","../converters/trufflehog-to-hdf/typescript/converter.ts","../converters/hipcheck-to-hdf/typescript/converter.ts","../converters/burpsuite-to-hdf/typescript/converter.ts","../converters/dbprotect-to-hdf/typescript/converter.ts","../converters/twistlock-to-hdf/typescript/converter.ts","../converters/deptrack-to-hdf/typescript/converter.ts","../converters/jfrog-xray-to-hdf/typescript/converter.ts","../converters/neuvector-to-hdf/typescript/converter.ts","../converters/fortify-to-hdf/typescript/converter.ts","../converters/prisma-to-hdf/typescript/converter.ts","../converters/netsparker-to-hdf/typescript/converter.ts","../converters/scoutsuite-to-hdf/typescript/converter.ts","../converters/conveyor-to-hdf/typescript/converter.ts","../converters/veracode-to-hdf/typescript/converter.ts","../converters/msft-secure-score-to-hdf/typescript/converter.ts","../converters/msft-defender-devops-to-hdf/typescript/converter.ts","../converters/msft-defender-cloud-to-hdf/typescript/converter.ts","../converters/msft-defender-endpoint-to-hdf/typescript/converter.ts","../converters/hdf-to-xccdf/typescript/converter.ts","../converters/hdf-to-oscal-sar/typescript/converter.ts","../converters/hdf-to-oscal-poam/typescript/converter.ts","../converters/ionchannel-to-hdf/typescript/converter.ts","../converters/openvex-to-hdf/typescript/converter.ts","../converters/csaf-vex-to-hdf/typescript/converter.ts","../converters/cyclonedx-vex-to-hdf/typescript/converter.ts","../converters/hdf-to-csaf-vex/typescript/converter.ts","../converters/hdf-to-openvex/typescript/converter.ts","../converters/hdf-to-cyclonedx-vex/typescript/converter.ts","../converters/oscal-to-hdf/typescript/detect.ts","../converters/oscal-to-hdf/typescript/converter-catalog.ts","../converters/oscal-to-hdf/typescript/converter-profile.ts","../converters/oscal-to-hdf/typescript/converter-component.ts","../converters/oscal-to-hdf/typescript/converter-ssp.ts","../converters/oscal-to-hdf/typescript/converter-sap.ts","../converters/oscal-to-hdf/typescript/converter-poam.ts","../converters/oscal-to-hdf/typescript/converter-sar.ts","../shared/typescript/enrichStix.ts","../shared/typescript/stix.ts"],"mappings":";;;;;;;;;;;;UAwBiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GACC;;UAGc;EACf;EACA;EACA;EACA,eAAe;IAAO;IAAe;;EACrC;EACA;EACA,OAAO;EACP;EACA;IACE;IACA;;EAEF,cAAc;EACd,UAAU;EACV;GACC;;UAGc;EACf;EACA;EACA;GACC;;UAGc;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GACC;;UAGc;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;EACT,WAAW;EACX;EACA,UAAU;EACV;EACA;EACA;EACA;GACC;;UAGc;EACf;EACA;EACA;GACC;;UAGc;EACf;EACA,UAAU;EACV,UAAU;EACV;EACA;EACA;GACC;;UAKc;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GACC;;UAGc;EACf;EACA;EACA;IAAU;;EACV;EACA;IAAa;IAAe;;EAC5B;EACA;GACC;;UAGc;EACf;EACA;EACA;IAAa;IAAe;;EAC5B;GACC;;UAGc;EACf;EACA;EACA;EACA,eAAe;IAAO;IAAe;;EACrC;EACA;EACA,OAAO;EACP;EACA;IACE;IACA;;EAEF,aAAa;EACb,UAAU;EACV;EACA;EACA;EACA,kBAAkB;EAClB,QAAQ;EACR;EACA,OAAO;IAAO;;GACb;;UAGc;EACf;EACA;EACA;GACC;;UAGc;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GACC;;UAGc;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;EACT,eAAe;EACf;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF,UAAU;EACV;EACA;EACA;EACA;GACC;;UAGc;EACf,WAAW;EACX;EACA;EACA;EACA;IAAS;IAAe;IAAkB;;EAC1C;EACA;EACA;EACA;EACA;EACA,aAAa;;iBAotBC,cAAc,QAAQ,cAAc,4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"}
|