@mitre/hdf-converters 3.4.4 → 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 +52 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1309 -356
- 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.
|
|
@@ -210,6 +210,14 @@ interface V2Baseline {
|
|
|
210
210
|
algorithm?: string;
|
|
211
211
|
value?: string;
|
|
212
212
|
};
|
|
213
|
+
originalChecksum?: {
|
|
214
|
+
algorithm?: string;
|
|
215
|
+
value?: string;
|
|
216
|
+
};
|
|
217
|
+
integrity?: {
|
|
218
|
+
algorithm?: string;
|
|
219
|
+
checksum?: string;
|
|
220
|
+
};
|
|
213
221
|
depends?: V2Dependency[];
|
|
214
222
|
parentBaseline?: string;
|
|
215
223
|
status?: string;
|
|
@@ -234,7 +242,7 @@ interface HDFV2Results {
|
|
|
234
242
|
remediation?: unknown;
|
|
235
243
|
extensions?: Record<string, unknown>;
|
|
236
244
|
}
|
|
237
|
-
declare function convertV1ToV2(v1Data: HDFV1Results): HDFV2Results;
|
|
245
|
+
declare function convertV1ToV2(v1Data: HDFV1Results, converterVersion?: string): HDFV2Results;
|
|
238
246
|
/**
|
|
239
247
|
* Validate that data appears to be HDF v1.0 format.
|
|
240
248
|
*
|
|
@@ -825,5 +833,46 @@ declare function convertOscalPoamToHdf(input: string): Promise<string>;
|
|
|
825
833
|
*/
|
|
826
834
|
declare function convertOscalSarToHdf(input: string): Promise<string>;
|
|
827
835
|
//#endregion
|
|
828
|
-
|
|
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 };
|
|
829
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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"}
|