@mitre/hdf-converters 2.12.2 → 2.13.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 +25 -24
- package/lib/data/converters/csv2json.d.ts +1 -0
- package/lib/data/converters/csv2json.d.ts.map +1 -0
- package/lib/data/converters/csv2json.js +1 -1
- package/lib/data/converters/csv2json.js.map +1 -1
- package/lib/data/converters/xml2json.d.ts +1 -0
- package/lib/data/converters/xml2json.d.ts.map +1 -0
- package/lib/data/converters/xml2json.js +6 -25
- package/lib/data/converters/xml2json.js.map +1 -1
- package/lib/data/reverse-html-mapper/convert-to-embedded-strings.d.ts +2 -0
- package/lib/data/reverse-html-mapper/convert-to-embedded-strings.d.ts.map +1 -0
- package/lib/data/reverse-html-mapper/convert-to-embedded-strings.js +13 -0
- package/lib/data/reverse-html-mapper/convert-to-embedded-strings.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +23 -8
- package/lib/index.js.map +1 -1
- package/lib/package.json +28 -45
- package/lib/src/anchore-grype-mapper.d.ts +1 -0
- package/lib/src/anchore-grype-mapper.d.ts.map +1 -0
- package/lib/src/anchore-grype-mapper.js +7 -1
- package/lib/src/anchore-grype-mapper.js.map +1 -1
- package/lib/src/asff-mapper/asff-mapper.d.ts +1 -0
- package/lib/src/asff-mapper/asff-mapper.d.ts.map +1 -0
- package/lib/src/asff-mapper/asff-mapper.js +276 -242
- package/lib/src/asff-mapper/asff-mapper.js.map +1 -1
- package/lib/src/asff-mapper/case-cms-inspec.d.ts +1 -0
- package/lib/src/asff-mapper/case-cms-inspec.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-cms-inspec.js +18 -9
- package/lib/src/asff-mapper/case-cms-inspec.js.map +1 -1
- package/lib/src/asff-mapper/case-firewall-manager.d.ts +1 -0
- package/lib/src/asff-mapper/case-firewall-manager.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-firewall-manager.js +18 -9
- package/lib/src/asff-mapper/case-firewall-manager.js.map +1 -1
- package/lib/src/asff-mapper/case-guardduty.d.ts +1 -0
- package/lib/src/asff-mapper/case-guardduty.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-guardduty.js +18 -9
- package/lib/src/asff-mapper/case-guardduty.js.map +1 -1
- package/lib/src/asff-mapper/case-inspector.d.ts +1 -0
- package/lib/src/asff-mapper/case-inspector.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-inspector.js +18 -9
- package/lib/src/asff-mapper/case-inspector.js.map +1 -1
- package/lib/src/asff-mapper/case-previously-hdf.d.ts +1 -0
- package/lib/src/asff-mapper/case-previously-hdf.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-previously-hdf.js +28 -15
- package/lib/src/asff-mapper/case-previously-hdf.js.map +1 -1
- package/lib/src/asff-mapper/case-prowler.d.ts +1 -0
- package/lib/src/asff-mapper/case-prowler.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-prowler.js +19 -9
- package/lib/src/asff-mapper/case-prowler.js.map +1 -1
- package/lib/src/asff-mapper/case-security-hub.d.ts +1 -0
- package/lib/src/asff-mapper/case-security-hub.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-security-hub.js +24 -9
- package/lib/src/asff-mapper/case-security-hub.js.map +1 -1
- package/lib/src/asff-mapper/case-trivy.d.ts +1 -0
- package/lib/src/asff-mapper/case-trivy.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-trivy.js +18 -9
- package/lib/src/asff-mapper/case-trivy.js.map +1 -1
- package/lib/src/aws-config-mapper.d.ts +1 -0
- package/lib/src/aws-config-mapper.d.ts.map +1 -0
- package/lib/src/aws-config-mapper.js +38 -22
- package/lib/src/aws-config-mapper.js.map +1 -1
- package/lib/src/base-converter.d.ts +2 -1
- package/lib/src/base-converter.d.ts.map +1 -0
- package/lib/src/base-converter.js +51 -33
- package/lib/src/base-converter.js.map +1 -1
- package/lib/src/burpsuite-mapper.d.ts +7 -0
- package/lib/src/burpsuite-mapper.d.ts.map +1 -0
- package/lib/src/burpsuite-mapper.js +115 -88
- package/lib/src/burpsuite-mapper.js.map +1 -1
- package/lib/src/checkov-mapper.d.ts +67 -0
- package/lib/src/checkov-mapper.d.ts.map +1 -0
- package/lib/src/checkov-mapper.js +240 -0
- package/lib/src/checkov-mapper.js.map +1 -0
- package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts +17 -0
- package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts.map +1 -0
- package/lib/src/ckl-mapper/checklist-jsonix-converter.js +59 -25
- package/lib/src/ckl-mapper/checklist-jsonix-converter.js.map +1 -1
- package/lib/src/ckl-mapper/checklist-mapper.d.ts +35 -0
- package/lib/src/ckl-mapper/checklist-mapper.d.ts.map +1 -0
- package/lib/src/ckl-mapper/checklist-mapper.js +264 -155
- package/lib/src/ckl-mapper/checklist-mapper.js.map +1 -1
- package/lib/src/ckl-mapper/checklist-metadata-utils.d.ts +1 -0
- package/lib/src/ckl-mapper/checklist-metadata-utils.d.ts.map +1 -0
- package/lib/src/ckl-mapper/checklist-metadata-utils.js +38 -16
- package/lib/src/ckl-mapper/checklist-metadata-utils.js.map +1 -1
- package/lib/src/ckl-mapper/checklistJsonix.d.ts +6 -0
- package/lib/src/ckl-mapper/checklistJsonix.d.ts.map +1 -0
- package/lib/src/ckl-mapper/checklistJsonix.js +8 -8
- package/lib/src/ckl-mapper/checklistJsonix.js.map +1 -1
- package/lib/src/ckl-mapper/jsonixMapping.d.ts +5 -0
- package/lib/src/ckl-mapper/jsonixMapping.d.ts.map +1 -0
- package/lib/src/ckl-mapper/jsonixMapping.js +4 -0
- package/lib/src/ckl-mapper/jsonixMapping.js.map +1 -1
- package/lib/src/converters-from-hdf/asff/asff-types.d.ts +1 -0
- package/lib/src/converters-from-hdf/asff/asff-types.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/asff/asff-types.js +1 -0
- package/lib/src/converters-from-hdf/asff/asff-types.js.map +1 -1
- package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.d.ts +1 -0
- package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js +110 -84
- package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js.map +1 -1
- package/lib/src/converters-from-hdf/asff/transformers.d.ts +1 -0
- package/lib/src/converters-from-hdf/asff/transformers.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/asff/transformers.js +82 -55
- package/lib/src/converters-from-hdf/asff/transformers.js.map +1 -1
- package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.d.ts +1 -0
- package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js +65 -38
- package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js.map +1 -1
- package/lib/src/converters-from-hdf/html/embedded-assets.d.ts +4 -0
- package/lib/src/converters-from-hdf/html/embedded-assets.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/html/embedded-assets.js +8 -0
- package/lib/src/converters-from-hdf/html/embedded-assets.js.map +1 -0
- package/lib/src/converters-from-hdf/html/html-types.d.ts +1 -0
- package/lib/src/converters-from-hdf/html/html-types.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/html/html-types.js +1 -0
- package/lib/src/converters-from-hdf/html/html-types.js.map +1 -1
- package/lib/src/converters-from-hdf/html/reverse-html-mapper.d.ts +3 -2
- package/lib/src/converters-from-hdf/html/reverse-html-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/html/reverse-html-mapper.js +151 -107
- package/lib/src/converters-from-hdf/html/reverse-html-mapper.js.map +1 -1
- package/lib/src/converters-from-hdf/reverse-any-base-converter.d.ts +1 -0
- package/lib/src/converters-from-hdf/reverse-any-base-converter.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/reverse-any-base-converter.js +3 -0
- package/lib/src/converters-from-hdf/reverse-any-base-converter.js.map +1 -1
- package/lib/src/converters-from-hdf/reverse-base-converter.d.ts +1 -0
- package/lib/src/converters-from-hdf/reverse-base-converter.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/reverse-base-converter.js +29 -9
- package/lib/src/converters-from-hdf/reverse-base-converter.js.map +1 -1
- package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts +1 -0
- package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js +40 -16
- package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js.map +1 -1
- package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.d.ts +1 -0
- package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js +33 -12
- package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js.map +1 -1
- package/lib/src/conveyor-mapper.d.ts +1 -0
- package/lib/src/conveyor-mapper.d.ts.map +1 -0
- package/lib/src/conveyor-mapper.js +85 -40
- package/lib/src/conveyor-mapper.js.map +1 -1
- package/lib/src/cyclonedx-sbom-mapper.d.ts +1 -0
- package/lib/src/cyclonedx-sbom-mapper.d.ts.map +1 -0
- package/lib/src/cyclonedx-sbom-mapper.js +377 -309
- package/lib/src/cyclonedx-sbom-mapper.js.map +1 -1
- package/lib/src/dbprotect-mapper.d.ts +1 -0
- package/lib/src/dbprotect-mapper.d.ts.map +1 -0
- package/lib/src/dbprotect-mapper.js +74 -63
- package/lib/src/dbprotect-mapper.js.map +1 -1
- package/lib/src/dependency-track-mapper.d.ts +1 -0
- package/lib/src/dependency-track-mapper.d.ts.map +1 -0
- package/lib/src/dependency-track-mapper.js +144 -130
- package/lib/src/dependency-track-mapper.js.map +1 -1
- package/lib/src/fortify-mapper.d.ts +7 -0
- package/lib/src/fortify-mapper.d.ts.map +1 -0
- package/lib/src/fortify-mapper.js +118 -92
- package/lib/src/fortify-mapper.js.map +1 -1
- package/lib/src/gosec-mapper.d.ts +1 -0
- package/lib/src/gosec-mapper.d.ts.map +1 -0
- package/lib/src/gosec-mapper.js +90 -72
- package/lib/src/gosec-mapper.js.map +1 -1
- package/lib/src/ionchannel-mapper.d.ts +1 -0
- package/lib/src/ionchannel-mapper.d.ts.map +1 -0
- package/lib/src/ionchannel-mapper.js +130 -110
- package/lib/src/ionchannel-mapper.js.map +1 -1
- package/lib/src/jfrog-xray-mapper.d.ts +1 -0
- package/lib/src/jfrog-xray-mapper.d.ts.map +1 -0
- package/lib/src/jfrog-xray-mapper.js +92 -78
- package/lib/src/jfrog-xray-mapper.js.map +1 -1
- package/lib/src/jsonix-converter.d.ts +1 -0
- package/lib/src/jsonix-converter.d.ts.map +1 -0
- package/lib/src/jsonix-converter.js +1 -0
- package/lib/src/jsonix-converter.js.map +1 -1
- package/lib/src/jsonix-intermediate-converter.d.ts +1 -0
- package/lib/src/jsonix-intermediate-converter.d.ts.map +1 -0
- package/lib/src/jsonix-intermediate-converter.js.map +1 -1
- package/lib/src/mappings/AwsConfigMapping.d.ts +1 -0
- package/lib/src/mappings/AwsConfigMapping.d.ts.map +1 -0
- package/lib/src/mappings/AwsConfigMapping.js +19 -9
- package/lib/src/mappings/AwsConfigMapping.js.map +1 -1
- package/lib/src/mappings/AwsConfigMappingData.d.ts +1 -0
- package/lib/src/mappings/AwsConfigMappingData.d.ts.map +1 -0
- package/lib/src/mappings/AwsConfigMappingData.js.map +1 -1
- package/lib/src/mappings/CciNistMapping.d.ts +1 -0
- package/lib/src/mappings/CciNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/CciNistMapping.js +6 -2
- package/lib/src/mappings/CciNistMapping.js.map +1 -1
- package/lib/src/mappings/CciNistMappingData.d.ts +1 -0
- package/lib/src/mappings/CciNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/CciNistMappingData.js.map +1 -1
- package/lib/src/mappings/CciNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/CciNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/CciNistMappingItem.js +2 -0
- package/lib/src/mappings/CciNistMappingItem.js.map +1 -1
- package/lib/src/mappings/CheckovToCciAndNistMappingData.d.ts +5 -0
- package/lib/src/mappings/CheckovToCciAndNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/CheckovToCciAndNistMappingData.js +2695 -0
- package/lib/src/mappings/CheckovToCciAndNistMappingData.js.map +1 -0
- package/lib/src/mappings/CweNistMapping.d.ts +1 -0
- package/lib/src/mappings/CweNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/CweNistMapping.js +1 -0
- package/lib/src/mappings/CweNistMapping.js.map +1 -1
- package/lib/src/mappings/CweNistMappingData.d.ts +1 -0
- package/lib/src/mappings/CweNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/CweNistMappingData.js.map +1 -1
- package/lib/src/mappings/CweNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/CweNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/CweNistMappingItem.js +5 -0
- package/lib/src/mappings/CweNistMappingItem.js.map +1 -1
- package/lib/src/mappings/NessusPluginNistMappingData.d.ts +1 -0
- package/lib/src/mappings/NessusPluginNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/NessusPluginNistMappingData.js.map +1 -1
- package/lib/src/mappings/NessusPluginsNistMapping.d.ts +1 -0
- package/lib/src/mappings/NessusPluginsNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/NessusPluginsNistMapping.js +1 -0
- package/lib/src/mappings/NessusPluginsNistMapping.js.map +1 -1
- package/lib/src/mappings/NessusPluginsNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/NessusPluginsNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/NessusPluginsNistMappingItem.js +4 -0
- package/lib/src/mappings/NessusPluginsNistMappingItem.js.map +1 -1
- package/lib/src/mappings/NiktoNistMapping.d.ts +1 -0
- package/lib/src/mappings/NiktoNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/NiktoNistMapping.js.map +1 -1
- package/lib/src/mappings/NiktoNistMappingData.d.ts +1 -0
- package/lib/src/mappings/NiktoNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/NiktoNistMappingData.js.map +1 -1
- package/lib/src/mappings/NiktoNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/NiktoNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/NiktoNistMappingItem.js +4 -0
- package/lib/src/mappings/NiktoNistMappingItem.js.map +1 -1
- package/lib/src/mappings/NistCciMappingData.d.ts +1 -0
- package/lib/src/mappings/NistCciMappingData.d.ts.map +1 -0
- package/lib/src/mappings/NistCciMappingData.js.map +1 -1
- package/lib/src/mappings/OwaspNistMapping.d.ts +1 -0
- package/lib/src/mappings/OwaspNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/OwaspNistMapping.js +19 -8
- package/lib/src/mappings/OwaspNistMapping.js.map +1 -1
- package/lib/src/mappings/OwaspNistMappingData.d.ts +1 -0
- package/lib/src/mappings/OwaspNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/OwaspNistMappingData.js.map +1 -1
- package/lib/src/mappings/OwaspNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/OwaspNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/OwaspNistMappingItem.js +5 -0
- package/lib/src/mappings/OwaspNistMappingItem.js.map +1 -1
- package/lib/src/mappings/ScoutsuiteNistMapping.d.ts +1 -0
- package/lib/src/mappings/ScoutsuiteNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/ScoutsuiteNistMapping.js +1 -0
- package/lib/src/mappings/ScoutsuiteNistMapping.js.map +1 -1
- package/lib/src/mappings/ScoutsuiteNistMappingData.d.ts +1 -0
- package/lib/src/mappings/ScoutsuiteNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/ScoutsuiteNistMappingData.js.map +1 -1
- package/lib/src/mappings/ScoutsuiteNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/ScoutsuiteNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/ScoutsuiteNistMappingItem.js +2 -0
- package/lib/src/mappings/ScoutsuiteNistMappingItem.js.map +1 -1
- package/lib/src/msft-secure-score-mapper.d.ts +1 -0
- package/lib/src/msft-secure-score-mapper.d.ts.map +1 -0
- package/lib/src/msft-secure-score-mapper.js +202 -185
- package/lib/src/msft-secure-score-mapper.js.map +1 -1
- package/lib/src/nessus-mapper.d.ts +2 -1
- package/lib/src/nessus-mapper.d.ts.map +1 -0
- package/lib/src/nessus-mapper.js +122 -105
- package/lib/src/nessus-mapper.js.map +1 -1
- package/lib/src/netsparker-mapper.d.ts +7 -0
- package/lib/src/netsparker-mapper.d.ts.map +1 -0
- package/lib/src/netsparker-mapper.js +34 -9
- package/lib/src/netsparker-mapper.js.map +1 -1
- package/lib/src/neuvector-mapper.d.ts +1 -0
- package/lib/src/neuvector-mapper.d.ts.map +1 -0
- package/lib/src/neuvector-mapper.js +123 -124
- package/lib/src/neuvector-mapper.js.map +1 -1
- package/lib/src/nikto-mapper.d.ts +1 -0
- package/lib/src/nikto-mapper.d.ts.map +1 -0
- package/lib/src/nikto-mapper.js +85 -74
- package/lib/src/nikto-mapper.js.map +1 -1
- package/lib/src/prisma-mapper.d.ts +1 -0
- package/lib/src/prisma-mapper.d.ts.map +1 -0
- package/lib/src/prisma-mapper.js +138 -128
- package/lib/src/prisma-mapper.js.map +1 -1
- package/lib/src/sarif-mapper.d.ts +1 -0
- package/lib/src/sarif-mapper.d.ts.map +1 -0
- package/lib/src/sarif-mapper.js +116 -105
- package/lib/src/sarif-mapper.js.map +1 -1
- package/lib/src/scoutsuite-mapper.d.ts +1 -0
- package/lib/src/scoutsuite-mapper.d.ts.map +1 -0
- package/lib/src/scoutsuite-mapper.js +174 -163
- package/lib/src/scoutsuite-mapper.js.map +1 -1
- package/lib/src/snyk-mapper.d.ts +1 -0
- package/lib/src/snyk-mapper.d.ts.map +1 -0
- package/lib/src/snyk-mapper.js +112 -100
- package/lib/src/snyk-mapper.js.map +1 -1
- package/lib/src/sonarqube-mapper.d.ts +18 -5
- package/lib/src/sonarqube-mapper.d.ts.map +1 -0
- package/lib/src/sonarqube-mapper.js +526 -278
- package/lib/src/sonarqube-mapper.js.map +1 -1
- package/lib/src/splunk-mapper.d.ts +3 -2
- package/lib/src/splunk-mapper.d.ts.map +1 -0
- package/lib/src/splunk-mapper.js +72 -16
- package/lib/src/splunk-mapper.js.map +1 -1
- package/lib/src/trufflehog-mapper.d.ts +1 -0
- package/lib/src/trufflehog-mapper.d.ts.map +1 -0
- package/lib/src/trufflehog-mapper.js +72 -69
- package/lib/src/trufflehog-mapper.js.map +1 -1
- package/lib/src/twistlock-mapper.d.ts +1 -0
- package/lib/src/twistlock-mapper.d.ts.map +1 -0
- package/lib/src/twistlock-mapper.js +140 -126
- package/lib/src/twistlock-mapper.js.map +1 -1
- package/lib/src/utils/CCI_List.d.ts +1 -0
- package/lib/src/utils/CCI_List.d.ts.map +1 -0
- package/lib/src/utils/CCI_List.js.map +1 -1
- package/lib/src/utils/attestations.d.ts +1 -0
- package/lib/src/utils/attestations.d.ts.map +1 -0
- package/lib/src/utils/attestations.js +28 -13
- package/lib/src/utils/attestations.js.map +1 -1
- package/lib/src/utils/compliance.d.ts +1 -0
- package/lib/src/utils/compliance.d.ts.map +1 -0
- package/lib/src/utils/compliance.js +11 -3
- package/lib/src/utils/compliance.js.map +1 -1
- package/lib/src/utils/fingerprinting.d.ts +2 -0
- package/lib/src/utils/fingerprinting.d.ts.map +1 -0
- package/lib/src/utils/fingerprinting.js +28 -11
- package/lib/src/utils/fingerprinting.js.map +1 -1
- package/lib/src/utils/global.d.ts +3 -1
- package/lib/src/utils/global.d.ts.map +1 -0
- package/lib/src/utils/global.js +35 -17
- package/lib/src/utils/global.js.map +1 -1
- package/lib/src/utils/parseJson.d.ts +1 -0
- package/lib/src/utils/parseJson.d.ts.map +1 -0
- package/lib/src/utils/parseJson.js +7 -3
- package/lib/src/utils/parseJson.js.map +1 -1
- package/lib/src/utils/result.d.ts +1 -0
- package/lib/src/utils/result.d.ts.map +1 -0
- package/lib/src/utils/result.js.map +1 -1
- package/lib/src/utils/splunk-tools.d.ts +2 -1
- package/lib/src/utils/splunk-tools.d.ts.map +1 -0
- package/lib/src/utils/splunk-tools.js +52 -32
- package/lib/src/utils/splunk-tools.js.map +1 -1
- package/lib/src/veracode-mapper.d.ts +1 -0
- package/lib/src/veracode-mapper.d.ts.map +1 -0
- package/lib/src/veracode-mapper.js +50 -7
- package/lib/src/veracode-mapper.js.map +1 -1
- package/lib/src/xccdf-results-mapper.d.ts +7 -0
- package/lib/src/xccdf-results-mapper.d.ts.map +1 -0
- package/lib/src/xccdf-results-mapper.js +336 -301
- package/lib/src/xccdf-results-mapper.js.map +1 -1
- package/lib/src/zap-mapper.d.ts +8 -0
- package/lib/src/zap-mapper.d.ts.map +1 -0
- package/lib/src/zap-mapper.js +119 -90
- package/lib/src/zap-mapper.js.map +1 -1
- package/lib/tsconfig.build.tsbuildinfo +1 -0
- package/lib/types/neuvector-types.d.ts +1 -0
- package/lib/types/neuvector-types.d.ts.map +1 -0
- package/lib/types/neuvector-types.js +80 -0
- package/lib/types/neuvector-types.js.map +1 -1
- package/lib/types/splunk-config-types.d.ts +1 -0
- package/lib/types/splunk-config-types.d.ts.map +1 -0
- package/lib/types/splunk-config-types.js.map +1 -1
- package/lib/types/splunk-control-types.d.ts +1 -0
- package/lib/types/splunk-control-types.d.ts.map +1 -0
- package/lib/types/splunk-control-types.js.map +1 -1
- package/lib/types/splunk-profile-types.d.ts +1 -0
- package/lib/types/splunk-profile-types.d.ts.map +1 -0
- package/lib/types/splunk-profile-types.js.map +1 -1
- package/lib/types/splunk-report-types.d.ts +1 -0
- package/lib/types/splunk-report-types.d.ts.map +1 -0
- package/lib/types/splunk-report-types.js.map +1 -1
- package/package.json +29 -46
- package/lib/data/converters/csv2json.ts +0 -36
- package/lib/data/converters/xml2json.ts +0 -57
|
@@ -15,17 +15,31 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.FromHdfBaseConverter = void 0;
|
|
27
37
|
const _ = __importStar(require("lodash"));
|
|
38
|
+
//Base converter used to support conversions from HDF to Any Format
|
|
28
39
|
class FromHdfBaseConverter {
|
|
40
|
+
data;
|
|
41
|
+
mappings;
|
|
42
|
+
collapseResults;
|
|
29
43
|
constructor(data, collapseResults = false) {
|
|
30
44
|
this.data = data;
|
|
31
45
|
this.collapseResults = collapseResults;
|
|
@@ -33,18 +47,22 @@ class FromHdfBaseConverter {
|
|
|
33
47
|
setMappings(mappings) {
|
|
34
48
|
this.mappings = mappings;
|
|
35
49
|
}
|
|
50
|
+
//Called over and over to iterate through objects assigned to keys too
|
|
36
51
|
convertInternal(file, fields) {
|
|
37
52
|
const result = this.objectMap(fields, (v) => this.evaluate(file, v));
|
|
38
53
|
return result;
|
|
39
54
|
}
|
|
55
|
+
// Preforms fn() on all entries inside the passed obj
|
|
40
56
|
objectMap(obj, fn) {
|
|
41
57
|
return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k, fn(v)]));
|
|
42
58
|
}
|
|
59
|
+
//Used to get the data located at the paths
|
|
43
60
|
evaluate(file, v) {
|
|
44
61
|
const transformer = _.get(v, 'transformer');
|
|
45
62
|
if (Array.isArray(v)) {
|
|
46
63
|
return this.handleArray(file, v);
|
|
47
64
|
}
|
|
65
|
+
// Do we have a static value set here?
|
|
48
66
|
if (typeof v === 'string' ||
|
|
49
67
|
typeof v === 'number' ||
|
|
50
68
|
typeof v === 'boolean' ||
|
|
@@ -79,8 +97,9 @@ class FromHdfBaseConverter {
|
|
|
79
97
|
}
|
|
80
98
|
handleArray(file, v) {
|
|
81
99
|
const resultingData = [];
|
|
100
|
+
// Looks through parsed data file using the mapping setup in V
|
|
82
101
|
if (v[0] && !v[0].path) {
|
|
83
|
-
const arrayTransformer = v[0].arrayTransformer;
|
|
102
|
+
const arrayTransformer = v[0].arrayTransformer; //does nothing since null
|
|
84
103
|
let output = v.map((element) => this.evaluate(file, element));
|
|
85
104
|
if (arrayTransformer) {
|
|
86
105
|
output = arrayTransformer(output, this.data);
|
|
@@ -92,7 +111,7 @@ class FromHdfBaseConverter {
|
|
|
92
111
|
const arrayTransformer = v[0].arrayTransformer;
|
|
93
112
|
const transformer = v[0].transformer;
|
|
94
113
|
if (this.hasPath(file, path)) {
|
|
95
|
-
const pathVal = this.handlePath(file, path);
|
|
114
|
+
const pathVal = this.handlePath(file, path); //Any matches in the path even if more than one, will grab an array of results
|
|
96
115
|
if (Array.isArray(pathVal)) {
|
|
97
116
|
v = pathVal.map((element) => this.convertInternal(element, v[0]));
|
|
98
117
|
if (arrayTransformer) {
|
|
@@ -118,6 +137,7 @@ class FromHdfBaseConverter {
|
|
|
118
137
|
});
|
|
119
138
|
return uniqueResults;
|
|
120
139
|
}
|
|
140
|
+
//Gets the value at the path using lodash and path stored in object
|
|
121
141
|
handlePath(file, path) {
|
|
122
142
|
if (path.startsWith('$.')) {
|
|
123
143
|
return _.get(this.data, path.slice(2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverse-base-converter.js","sourceRoot":"","sources":["../../../src/converters-from-hdf/reverse-base-converter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reverse-base-converter.js","sourceRoot":"","sources":["../../../src/converters-from-hdf/reverse-base-converter.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {\n MappedReform,\n MappedTransform,\n ObjectEntryValue\n} from '../base-converter';\n\nexport interface ILookupPathFH {\n path?: string;\n transformer?: (value: any, context?: any) => unknown;\n arrayTransformer?: (value: unknown[], file: ExecJSON.Execution) => unknown[];\n key?: string;\n passParent?: boolean;\n default?: any;\n}\n\n//Base converter used to support conversions from HDF to Any Format\nexport class FromHdfBaseConverter {\n data: ExecJSON.Execution;\n mappings?: MappedTransform<any, ILookupPathFH>;\n collapseResults: boolean;\n\n constructor(data: ExecJSON.Execution, collapseResults = false) {\n this.data = data;\n this.collapseResults = collapseResults;\n }\n\n setMappings(mappings: MappedTransform<any, ILookupPathFH>): void {\n this.mappings = mappings;\n }\n\n //Called over and over to iterate through objects assigned to keys too\n convertInternal<T>(file: object, fields: T): MappedReform<T, ILookupPathFH> {\n const result = this.objectMap(fields as T[], (v) =>\n this.evaluate(file, v as T & object & ILookupPathFH)\n );\n return result as MappedReform<T, ILookupPathFH>;\n }\n\n // Preforms fn() on all entries inside the passed obj\n objectMap<T extends Array<unknown>, V>(\n obj: T,\n fn: (v: ObjectEntryValue<T>) => V\n ): {[K in keyof T]: V} {\n return Object.fromEntries(\n Object.entries(obj).map(([k, v]) => [k, fn(v as ObjectEntryValue<T>)])\n ) as Record<keyof T, V>;\n }\n\n //Used to get the data located at the paths\n evaluate<T extends object & ILookupPathFH>(\n file: object,\n v: T | Array<T>\n ): T | Array<T> | MappedReform<T, ILookupPathFH> {\n const transformer = _.get(v, 'transformer') as any;\n if (Array.isArray(v)) {\n return this.handleArray(file, v);\n }\n // Do we have a static value set here?\n if (\n typeof v === 'string' ||\n typeof v === 'number' ||\n typeof v === 'boolean' ||\n v === undefined ||\n v === null\n ) {\n return v;\n }\n\n if (typeof transformer === 'function') {\n if (!v.path) {\n if (v.passParent) {\n return transformer(file, this);\n } else {\n return transformer(file);\n }\n } else {\n if (v.passParent) {\n return transformer(this.handlePath(file, v.path), this);\n } else {\n return transformer(this.handlePath(file, v.path));\n }\n }\n } else {\n if (v.path) {\n return this.handlePath(file, v.path) as T | T[];\n }\n }\n return this.convertInternal(file, v);\n }\n\n handleArray<T extends ILookupPathFH>(\n file: object,\n v: Array<T & ILookupPathFH>\n ): Array<T> {\n const resultingData: Array<T> = [];\n // Looks through parsed data file using the mapping setup in V\n if (v[0] && !v[0].path) {\n const arrayTransformer = v[0].arrayTransformer; //does nothing since null\n let output: Array<T> = v.map(\n (element) => this.evaluate(file, element) as T\n );\n if (arrayTransformer) {\n output = arrayTransformer(output, this.data) as T[];\n }\n resultingData.push(...output);\n } else if (v[0] && v[0].path) {\n const path = v[0].path;\n const arrayTransformer = v[0].arrayTransformer;\n const transformer = v[0].transformer;\n if (this.hasPath(file, path)) {\n const pathVal = this.handlePath(file, path); //Any matches in the path even if more than one, will grab an array of results\n if (Array.isArray(pathVal)) {\n v = pathVal.map(\n (element: Record<string, unknown>) =>\n this.convertInternal(element, v[0]) as T\n );\n if (arrayTransformer) {\n v = arrayTransformer(v, this.data) as T[];\n }\n resultingData.push(...v);\n } else {\n if (transformer) {\n resultingData.push(\n transformer(this.handlePath(file, path) as any) as T\n );\n } else {\n resultingData.push(this.handlePath(file, path) as T);\n }\n }\n }\n }\n\n const uniqueResults: T[] = [];\n resultingData.forEach((result) => {\n if (\n !uniqueResults.some((uniqueResult) => _.isEqual(result, uniqueResult))\n ) {\n uniqueResults.push(result);\n }\n });\n return uniqueResults;\n }\n\n //Gets the value at the path using lodash and path stored in object\n handlePath(file: object, path: string): unknown {\n if (path.startsWith('$.')) {\n return _.get(this.data, path.slice(2));\n } else {\n return _.get(file, path);\n }\n }\n hasPath(file: object, path: string): boolean {\n if (path.startsWith('$.')) {\n return _.has(this.data, path.slice(2));\n } else {\n return _.has(file, path);\n }\n }\n}\n"]}
|
|
@@ -40,3 +40,4 @@ export declare class FromHDFToSplunkMapper extends FromAnyBaseConverter {
|
|
|
40
40
|
uploadSplunkData(config: SplunkConfig, targetIndex: any, splunkData: SplunkData): Promise<void>;
|
|
41
41
|
toSplunk(config: SplunkConfig, filename: string): Promise<string>;
|
|
42
42
|
}
|
|
43
|
+
//# sourceMappingURL=reverse-splunk-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse-splunk-mapper.d.ts","sourceRoot":"","sources":["../../../../src/converters-from-hdf/splunk/reverse-splunk-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,18 +15,34 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
28
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.FromHDFToSplunkMapper = exports.FromHDFControlToSplunkControlMapper = exports.FromHDFProfileToSplunkProfileMapper = exports.FromHDFExecutionToSplunkExecutionMapper =
|
|
39
|
+
exports.FromHDFToSplunkMapper = exports.FromHDFControlToSplunkControlMapper = exports.FromHDFProfileToSplunkProfileMapper = exports.FromHDFExecutionToSplunkExecutionMapper = void 0;
|
|
40
|
+
exports.createGUID = createGUID;
|
|
41
|
+
exports.createReportMapping = createReportMapping;
|
|
42
|
+
exports.getDependencies = getDependencies;
|
|
43
|
+
exports.getProfileRunLevel = getProfileRunLevel;
|
|
44
|
+
exports.createProfileMapping = createProfileMapping;
|
|
45
|
+
exports.createControlMapping = createControlMapping;
|
|
30
46
|
const axios_1 = __importDefault(require("axios"));
|
|
31
47
|
const _ = __importStar(require("lodash"));
|
|
32
48
|
const global_1 = require("../../utils/global");
|
|
@@ -45,7 +61,6 @@ function createGUID(length) {
|
|
|
45
61
|
}
|
|
46
62
|
return result;
|
|
47
63
|
}
|
|
48
|
-
exports.createGUID = createGUID;
|
|
49
64
|
function createReportMapping(execution, filename, guid) {
|
|
50
65
|
return {
|
|
51
66
|
meta: {
|
|
@@ -62,7 +77,6 @@ function createReportMapping(execution, filename, guid) {
|
|
|
62
77
|
version: execution.data.version
|
|
63
78
|
};
|
|
64
79
|
}
|
|
65
|
-
exports.createReportMapping = createReportMapping;
|
|
66
80
|
function getDependencies(profile, execution) {
|
|
67
81
|
if (profile && execution) {
|
|
68
82
|
const dependencies = [];
|
|
@@ -78,11 +92,9 @@ function getDependencies(profile, execution) {
|
|
|
78
92
|
}
|
|
79
93
|
return [];
|
|
80
94
|
}
|
|
81
|
-
exports.getDependencies = getDependencies;
|
|
82
95
|
function getProfileRunLevel(profile, execution) {
|
|
83
96
|
return getDependencies(profile, execution).length;
|
|
84
97
|
}
|
|
85
|
-
exports.getProfileRunLevel = getProfileRunLevel;
|
|
86
98
|
function createProfileMapping(filename, guid) {
|
|
87
99
|
return {
|
|
88
100
|
meta: {
|
|
@@ -150,15 +162,13 @@ function createProfileMapping(filename, guid) {
|
|
|
150
162
|
}
|
|
151
163
|
};
|
|
152
164
|
}
|
|
153
|
-
exports.createProfileMapping = createProfileMapping;
|
|
154
165
|
function createControlMapping(control, profile, execution, filename, guid) {
|
|
155
166
|
return {
|
|
156
167
|
meta: {
|
|
157
168
|
guid: guid,
|
|
158
169
|
status: {
|
|
159
170
|
transformer: (data) => {
|
|
160
|
-
|
|
161
|
-
if (((_a = data.hdf.segments) === null || _a === void 0 ? void 0 : _a.length) === 0 &&
|
|
171
|
+
if (data.hdf.segments?.length === 0 &&
|
|
162
172
|
data.extendsFrom.length !== 0) {
|
|
163
173
|
return 'Overlaid Control';
|
|
164
174
|
}
|
|
@@ -199,7 +209,6 @@ function createControlMapping(control, profile, execution, filename, guid) {
|
|
|
199
209
|
results: control.hdf.segments
|
|
200
210
|
};
|
|
201
211
|
}
|
|
202
|
-
exports.createControlMapping = createControlMapping;
|
|
203
212
|
class FromHDFExecutionToSplunkExecutionMapper extends reverse_any_base_converter_1.FromAnyBaseConverter {
|
|
204
213
|
constructor(evaluation, filename, guid) {
|
|
205
214
|
super(evaluation);
|
|
@@ -231,6 +240,8 @@ class FromHDFControlToSplunkControlMapper extends reverse_any_base_converter_1.F
|
|
|
231
240
|
}
|
|
232
241
|
exports.FromHDFControlToSplunkControlMapper = FromHDFControlToSplunkControlMapper;
|
|
233
242
|
class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConverter {
|
|
243
|
+
contextualizedEvaluation;
|
|
244
|
+
axiosInstance;
|
|
234
245
|
constructor(data, logService, loggingLevel) {
|
|
235
246
|
if (logService) {
|
|
236
247
|
logger = logService;
|
|
@@ -262,6 +273,7 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
|
|
|
262
273
|
this.axiosInstance.defaults.params['sourcetype'] = MAPPER_NAME;
|
|
263
274
|
this.axiosInstance.defaults.params['index'] = targetIndex.name;
|
|
264
275
|
try {
|
|
276
|
+
// Upload execution event
|
|
265
277
|
const execEvents = splunkData.reports.map((report) => {
|
|
266
278
|
return this.axiosInstance
|
|
267
279
|
.post(`${hostname}/services/receivers/simple`, JSON.stringify(report))
|
|
@@ -270,8 +282,12 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
|
|
|
270
282
|
});
|
|
271
283
|
});
|
|
272
284
|
await Promise.all(execEvents);
|
|
285
|
+
// Upload profile event(s)
|
|
286
|
+
// \r\n Is the default LINE_BREAKER for splunk, this is very poorly documented.
|
|
287
|
+
// See https://docs.splunk.com/Documentation/StreamProcessor/standard/FunctionReference/LineBreak
|
|
273
288
|
await this.axiosInstance.post(`${hostname}/services/receivers/simple`, splunkData.profiles.map((profile) => JSON.stringify(profile)).join('\n'));
|
|
274
289
|
logger.verbose(`Successfully uploaded ${splunkData.profiles.length} profile layer(s)`);
|
|
290
|
+
// Upload control event(s)
|
|
275
291
|
const controlEvents = _.chunk(splunkData.controls, UPLOAD_CHUNK_SIZE).map((chunk) => {
|
|
276
292
|
return this.axiosInstance
|
|
277
293
|
.post(`${hostname}/services/receivers/simple`, chunk.map((control) => JSON.stringify(control)).join('\n'))
|
|
@@ -285,15 +301,19 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
|
|
|
285
301
|
}
|
|
286
302
|
async toSplunk(config, filename) {
|
|
287
303
|
const hostname = (0, splunk_tools_1.generateHostname)(config);
|
|
304
|
+
// returnCount specifies the number of found results to return, if set to 0 returns all available data
|
|
305
|
+
// Per https://docs.splunk.com/Documentation/Splunk/9.0.5/RESTREF/RESTintrospect#data.2Findexes
|
|
288
306
|
const returnCount = 0;
|
|
289
307
|
let indexResponse;
|
|
290
308
|
logger.info(`Logging into Splunk instance at ${hostname} with user ${config.username}`);
|
|
291
309
|
logger.verbose(`Found designated file to transfer: ${filename}`);
|
|
292
310
|
const guid = createGUID(30);
|
|
293
311
|
logger.verbose(`Using GUID: ${guid}`);
|
|
312
|
+
// Attempt to authenticate using given credentials
|
|
294
313
|
const authResponse = await (0, splunk_tools_1.checkSplunkCredentials)(config);
|
|
295
314
|
this.axiosInstance.defaults.headers.common['Authorization'] =
|
|
296
315
|
`Bearer ${authResponse}`;
|
|
316
|
+
// Request all available indexes
|
|
297
317
|
try {
|
|
298
318
|
indexResponse = await this.axiosInstance.get(`${hostname}/services/data/indexes`, {
|
|
299
319
|
params: { count: returnCount }
|
|
@@ -302,9 +322,11 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
|
|
|
302
322
|
catch (error) {
|
|
303
323
|
throw new Error(`Failed to request indexes - ${(0, splunk_tools_1.handleSplunkErrorResponse)(error)}`);
|
|
304
324
|
}
|
|
325
|
+
// Check if index request reponse schema is valid
|
|
305
326
|
if (!_.has(indexResponse, ['data', 'entry'])) {
|
|
306
327
|
throw new Error('Failed to request indexes - Malformed index reponse received');
|
|
307
328
|
}
|
|
329
|
+
// Report provided indexes
|
|
308
330
|
const indexes = indexResponse.data.entry;
|
|
309
331
|
if (indexes.length <= 0) {
|
|
310
332
|
throw new Error('Unable to retrieve available indexes, double-check your scheme configuration and try again');
|
|
@@ -312,9 +334,11 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
|
|
|
312
334
|
else {
|
|
313
335
|
const indexNames = indexes.map((index) => index.name);
|
|
314
336
|
logger.verbose(`Available indexes: ${indexNames.join(', ')}`);
|
|
337
|
+
// Parse available indexes for user desired index
|
|
315
338
|
if (indexNames.includes(config.index)) {
|
|
316
339
|
const targetIndex = indexes.filter((index) => index.name === config.index)[0];
|
|
317
340
|
logger.verbose(`Found index: ${targetIndex.name}`);
|
|
341
|
+
// Post given file(s) to identified index
|
|
318
342
|
const splunkData = this.createSplunkData(guid, filename);
|
|
319
343
|
try {
|
|
320
344
|
await this.uploadSplunkData(config, targetIndex, splunkData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverse-splunk-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/splunk/reverse-splunk-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reverse-splunk-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/splunk/reverse-splunk-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, {AxiosInstance, AxiosResponse} from 'axios';\nimport {\n ContextualizedControl,\n ContextualizedEvaluation,\n ContextualizedProfile,\n ExecJSON\n} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {Logger} from 'winston';\nimport {SplunkConfig} from '../../../types/splunk-config-types';\nimport {SplunkControl} from '../../../types/splunk-control-types';\nimport {SplunkProfile} from '../../../types/splunk-profile-types';\nimport {SplunkReport} from '../../../types/splunk-report-types';\nimport {MappedTransform} from '../../base-converter';\nimport {\n createWinstonLogger,\n ensureContextualizedEvaluation\n} from '../../utils/global';\nimport {\n checkSplunkCredentials,\n generateHostname,\n handleSplunkErrorResponse\n} from '../../utils/splunk-tools';\nimport {FromAnyBaseConverter} from '../reverse-any-base-converter';\nimport {ILookupPathFH} from '../reverse-base-converter';\n\nconst HDF_SPLUNK_SCHEMA = '1.1';\nconst MAPPER_NAME = 'HDF2Splunk';\nconst UPLOAD_CHUNK_SIZE = 100;\n\nexport type SplunkData = {\n profiles: SplunkProfile[];\n controls: SplunkControl[];\n reports: SplunkReport[];\n};\n\nlet logger = createWinstonLogger('HDF2Splunk', 'INFO');\n\nexport function createGUID(length: number) {\n let result = '';\n const characters =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\nexport function createReportMapping(\n execution: ContextualizedEvaluation,\n filename: string,\n guid: string\n): MappedTransform<SplunkReport, ILookupPathFH> {\n return {\n meta: {\n guid: guid,\n filename: filename,\n subtype: 'header',\n hdf_splunk_schema: HDF_SPLUNK_SCHEMA,\n filetype: 'evaluation'\n },\n passthrough: _.get(execution, 'data.passthrough'),\n profiles: [],\n platform: execution.data.platform,\n statistics: execution.data.statistics,\n version: execution.data.version\n };\n}\n\nexport function getDependencies(\n profile?: ContextualizedProfile,\n execution?: ContextualizedEvaluation\n) {\n if (profile && execution) {\n const dependencies: string[] = [];\n if (profile.data.depends) {\n for (const dependency of profile.data.depends) {\n if (dependency.name) {\n dependencies.push(dependency.name);\n dependencies.push(\n ...getDependencies(\n execution.contains.find(\n (execProfile) => execProfile.data.name === dependency.name\n ),\n execution\n )\n );\n }\n }\n }\n return dependencies;\n }\n\n return [];\n}\n\nexport function getProfileRunLevel(\n profile: ContextualizedProfile,\n execution: ContextualizedEvaluation\n): number {\n return getDependencies(profile, execution).length;\n}\n\nexport function createProfileMapping(\n filename: string,\n guid: string\n): MappedTransform<SplunkProfile, ILookupPathFH> {\n return {\n meta: {\n filename: filename,\n filetype: 'evaluation',\n guid: guid,\n hdf_splunk_schema: HDF_SPLUNK_SCHEMA,\n is_baseline: {\n path: 'data.depends[0].name',\n transformer: (value?: string) => {\n return !Boolean(value);\n }\n },\n profile_sha256: {\n path: 'data.sha256'\n },\n subtype: 'profile'\n },\n summary: {\n path: 'data.summary'\n },\n name: {\n path: 'data.name'\n },\n sha256: {\n path: 'data.sha256'\n },\n supports: {\n path: 'data.supports'\n },\n copyright: {\n path: 'data.copyright'\n },\n copyright_email: {\n path: 'data.copyright_email'\n },\n maintainer: {\n path: 'data.maintainer'\n },\n version: {\n path: 'data.version'\n },\n license: {\n path: 'data.license'\n },\n title: {\n path: 'data.title'\n },\n controls: [],\n parent_profile: {\n path: 'data.parent_profile'\n },\n depends: {\n path: 'data.depends',\n default: []\n },\n attributes: {\n path: 'data.attributes'\n },\n groups: {\n path: 'data.groups'\n },\n status: {\n path: 'data.status'\n }\n };\n}\n\nexport function createControlMapping(\n control: ContextualizedControl,\n profile: ContextualizedProfile,\n execution: ContextualizedEvaluation,\n filename: string,\n guid: string\n): MappedTransform<SplunkControl, ILookupPathFH> {\n return {\n meta: {\n guid: guid,\n status: {\n transformer: (data: ContextualizedControl) => {\n if (\n data.hdf.segments?.length === 0 &&\n data.extendsFrom.length !== 0\n ) {\n return 'Overlaid Control';\n } else {\n return data.hdf.status;\n }\n }\n },\n profile_sha256: profile.data.sha256,\n filename: filename,\n subtype: 'control',\n hdf_splunk_schema: HDF_SPLUNK_SCHEMA,\n filetype: 'evaluation',\n is_baseline: getProfileRunLevel(profile, execution) === 0,\n is_waived: control.hdf.waived,\n overlay_depth: getProfileRunLevel(profile, execution) + 1\n },\n title: control.data.title,\n code: control.data.code || '',\n desc: control.data.desc || '',\n descriptions: {\n path: 'data.descriptions',\n transformer: (data: {label: string; data: string}[]) => {\n const descObjects: Record<string, string> = {};\n if (Array.isArray(data)) {\n for (const item of data) {\n descObjects[item['label']] = item['data'];\n }\n }\n return descObjects;\n }\n },\n id: control.data.id,\n impact: control.data.impact,\n refs: control.data.refs || [],\n source_location: control.data.source_location,\n tags: control.data.tags,\n results: control.hdf.segments\n };\n}\n\nexport class FromHDFExecutionToSplunkExecutionMapper extends FromAnyBaseConverter {\n constructor(\n evaluation: ContextualizedEvaluation,\n filename: string,\n guid: string\n ) {\n super(evaluation);\n this.setMappings(createReportMapping(evaluation, filename, guid));\n }\n\n toSplunkExecution() {\n return this.convertInternal(this.data, this.mappings);\n }\n}\n\nexport class FromHDFProfileToSplunkProfileMapper extends FromAnyBaseConverter {\n constructor(profile: ContextualizedProfile, filename: string, guid: string) {\n super(profile);\n this.setMappings(createProfileMapping(filename, guid));\n }\n\n toSplunkProfile() {\n return this.convertInternal(this.data, this.mappings);\n }\n}\n\nexport class FromHDFControlToSplunkControlMapper extends FromAnyBaseConverter {\n constructor(\n control: ContextualizedControl,\n profile: ContextualizedProfile,\n execution: ContextualizedEvaluation,\n filename: string,\n guid: string\n ) {\n super(control);\n this.setMappings(\n createControlMapping(control, profile, execution, filename, guid)\n );\n }\n\n toSplunkControl() {\n return this.convertInternal(this.data, this.mappings);\n }\n}\n\nexport class FromHDFToSplunkMapper extends FromAnyBaseConverter {\n declare mappings?: MappedTransform<SplunkData, ILookupPathFH>;\n contextualizedEvaluation?: ContextualizedEvaluation;\n axiosInstance: AxiosInstance;\n\n constructor(\n data: ExecJSON.Execution | ContextualizedEvaluation,\n logService?: Logger,\n loggingLevel?: string\n ) {\n if (logService) {\n logger = logService;\n } else {\n logger = createWinstonLogger(MAPPER_NAME, loggingLevel || 'debug');\n }\n super(ensureContextualizedEvaluation(data));\n this.axiosInstance = axios.create({params: {output_mode: 'json'}});\n logger.debug(`Initialized ${this.constructor.name} successfully`);\n }\n\n createSplunkData(guid: string, filename: string) {\n const splunkData: SplunkData = {\n controls: [],\n profiles: [],\n reports: []\n };\n splunkData.reports.push(\n new FromHDFExecutionToSplunkExecutionMapper(\n this.data,\n filename,\n guid\n ).toSplunkExecution() as SplunkReport\n );\n for (const profile of this.data.contains) {\n splunkData.profiles.push(\n new FromHDFProfileToSplunkProfileMapper(\n profile,\n filename,\n guid\n ).toSplunkProfile() as SplunkProfile\n );\n for (const control of profile.contains) {\n splunkData.controls.push(\n new FromHDFControlToSplunkControlMapper(\n control,\n profile,\n this.data,\n filename,\n guid\n ).toSplunkControl() as SplunkControl\n );\n }\n }\n return splunkData;\n }\n\n async uploadSplunkData(\n config: SplunkConfig,\n targetIndex: any,\n splunkData: SplunkData\n ): Promise<void> {\n const hostname = generateHostname(config);\n this.axiosInstance.defaults.params['sourcetype'] = MAPPER_NAME;\n this.axiosInstance.defaults.params['index'] = targetIndex.name;\n\n try {\n // Upload execution event\n const execEvents = splunkData.reports.map((report) => {\n return this.axiosInstance\n .post(`${hostname}/services/receivers/simple`, JSON.stringify(report))\n .then(() => {\n logger.verbose(\n `Successfully uploaded execution for ${report.meta.filename}`\n );\n });\n });\n await Promise.all(execEvents);\n\n // Upload profile event(s)\n // \\r\\n Is the default LINE_BREAKER for splunk, this is very poorly documented.\n // See https://docs.splunk.com/Documentation/StreamProcessor/standard/FunctionReference/LineBreak\n await this.axiosInstance.post(\n `${hostname}/services/receivers/simple`,\n splunkData.profiles.map((profile) => JSON.stringify(profile)).join('\\n')\n );\n logger.verbose(\n `Successfully uploaded ${splunkData.profiles.length} profile layer(s)`\n );\n\n // Upload control event(s)\n const controlEvents = _.chunk(splunkData.controls, UPLOAD_CHUNK_SIZE).map(\n (chunk) => {\n return this.axiosInstance\n .post(\n `${hostname}/services/receivers/simple`,\n chunk.map((control) => JSON.stringify(control)).join('\\n')\n )\n .then(() =>\n logger.verbose(`Successfully uploaded ${chunk.length} control(s)`)\n );\n }\n );\n await Promise.all(controlEvents);\n } catch (error) {\n throw new Error(handleSplunkErrorResponse(error));\n }\n }\n\n async toSplunk(config: SplunkConfig, filename: string): Promise<string> {\n const hostname = generateHostname(config);\n // returnCount specifies the number of found results to return, if set to 0 returns all available data\n // Per https://docs.splunk.com/Documentation/Splunk/9.0.5/RESTREF/RESTintrospect#data.2Findexes\n const returnCount = 0;\n let indexResponse: AxiosResponse;\n\n logger.info(\n `Logging into Splunk instance at ${hostname} with user ${config.username}`\n );\n logger.verbose(`Found designated file to transfer: ${filename}`);\n const guid = createGUID(30);\n logger.verbose(`Using GUID: ${guid}`);\n\n // Attempt to authenticate using given credentials\n const authResponse = await checkSplunkCredentials(config);\n this.axiosInstance.defaults.headers.common['Authorization'] =\n `Bearer ${authResponse}`;\n\n // Request all available indexes\n try {\n indexResponse = await this.axiosInstance.get(\n `${hostname}/services/data/indexes`,\n {\n params: {count: returnCount}\n }\n );\n } catch (error) {\n throw new Error(\n `Failed to request indexes - ${handleSplunkErrorResponse(error)}`\n );\n }\n\n // Check if index request reponse schema is valid\n if (!_.has(indexResponse, ['data', 'entry'])) {\n throw new Error(\n 'Failed to request indexes - Malformed index reponse received'\n );\n }\n\n // Report provided indexes\n const indexes = indexResponse.data.entry;\n if (indexes.length <= 0) {\n throw new Error(\n 'Unable to retrieve available indexes, double-check your scheme configuration and try again'\n );\n } else {\n const indexNames: string[] = indexes.map(\n (index: {name: string}) => index.name\n );\n logger.verbose(`Available indexes: ${indexNames.join(', ')}`);\n\n // Parse available indexes for user desired index\n if (indexNames.includes(config.index)) {\n const targetIndex = indexes.filter(\n (index: {name: string}) => index.name === config.index\n )[0];\n logger.verbose(`Found index: ${targetIndex.name}`);\n\n // Post given file(s) to identified index\n const splunkData = this.createSplunkData(guid, filename);\n\n try {\n await this.uploadSplunkData(config, targetIndex, splunkData);\n } catch (error) {\n throw new Error(\n `Failed to upload to Splunk - ${handleSplunkErrorResponse(error)}`\n );\n }\n logger.info(`Successfully uploaded to ${config.index}`);\n return guid;\n } else {\n throw new Error(`Invalid index - ${config.index}`);\n }\n }\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse-xccdf-mapper.d.ts","sourceRoot":"","sources":["../../../../src/converters-from-hdf/xccdf/reverse-xccdf-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAKlC,OAAO,EAEL,gBAAgB,EAChB,aAAa,EACd,MAAM,mCAAmC,CAAC;AA2E3C,qBAAa,oBAAoB;IAC/B,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,UAAQ;IAMrE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAG,aAAa;IAYrD,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;IA0DxC,gBAAgB,CAAC,OAAO,UAAQ,GAAG,MAAM;IAiCzC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO;;;;;;;IAe/C,OAAO;CA4ER"}
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
@@ -91,6 +101,9 @@ function getMessages(segments) {
|
|
|
91
101
|
return segments.map(toMessageLine).join('\n\n');
|
|
92
102
|
}
|
|
93
103
|
class FromHDFToXCCDFMapper {
|
|
104
|
+
data;
|
|
105
|
+
xccdfTemplate;
|
|
106
|
+
dateOverride;
|
|
94
107
|
constructor(data, xccdfTemplate, dateOverride = false) {
|
|
95
108
|
this.data = JSON.parse(data);
|
|
96
109
|
this.xccdfTemplate = xccdfTemplate;
|
|
@@ -127,8 +140,8 @@ class FromHDFToXCCDFMapper {
|
|
|
127
140
|
return {
|
|
128
141
|
groupId: 'xccdf_hdf_group_' +
|
|
129
142
|
control.id
|
|
130
|
-
.replace(/_/g, '-')
|
|
131
|
-
.replace(/[^\w-.]/g, '_'),
|
|
143
|
+
.replace(/_/g, '-') // Prevents STIG Viewer from parsing IDs incorrectly when there is underscores after group_
|
|
144
|
+
.replace(/[^\w-.]/g, '_'), // Change everything that isn't a word, underscore, or dash into an underscore
|
|
132
145
|
id: 'xccdf_hdf_rule_' +
|
|
133
146
|
(control.tags.rid ||
|
|
134
147
|
control.id.replace(/_/g, '-').replace(/[^\w-.]/g, '_') + '_rule'),
|
|
@@ -160,14 +173,17 @@ class FromHDFToXCCDFMapper {
|
|
|
160
173
|
};
|
|
161
174
|
}
|
|
162
175
|
getExecutionTime(isoTime = false) {
|
|
176
|
+
// Extract the first results from profile level
|
|
163
177
|
const results = [];
|
|
164
178
|
this.data.profiles.forEach((profile) => {
|
|
165
179
|
if (profile.controls[0].results) {
|
|
166
180
|
results.push(...profile.controls[0].results);
|
|
167
181
|
}
|
|
168
182
|
});
|
|
183
|
+
// Find the execution time from the first profile level that contains it
|
|
169
184
|
for (const result of results) {
|
|
170
185
|
if (typeof result.start_time === 'string') {
|
|
186
|
+
// Date parsing can be tricky sometimes
|
|
171
187
|
try {
|
|
172
188
|
const parsedDate = (0, moment_1.default)(result.start_time);
|
|
173
189
|
if (parsedDate.isValid()) {
|
|
@@ -183,6 +199,7 @@ class FromHDFToXCCDFMapper {
|
|
|
183
199
|
}
|
|
184
200
|
}
|
|
185
201
|
}
|
|
202
|
+
// Default return date is now
|
|
186
203
|
return isoTime ? (0, moment_1.default)().toISOString() : (0, moment_1.default)().format(DATE_FORMAT);
|
|
187
204
|
}
|
|
188
205
|
getControlResultsInfo(control) {
|
|
@@ -190,7 +207,7 @@ class FromHDFToXCCDFMapper {
|
|
|
190
207
|
idref: 'xccdf_hdf_rule_' +
|
|
191
208
|
(control.tags.rid ||
|
|
192
209
|
control.id
|
|
193
|
-
.replace(/_/g, '-')
|
|
210
|
+
.replace(/_/g, '-') // Prevent STIG Viewer from parsing IDs incorrectly when there is underscores after rule_
|
|
194
211
|
.replace(/[^\w-.]/g, '_') + '_rule'),
|
|
195
212
|
result: getXCCDFResult(control),
|
|
196
213
|
message: getMessages(control.results),
|
|
@@ -233,12 +250,14 @@ class FromHDFToXCCDFMapper {
|
|
|
233
250
|
}
|
|
234
251
|
};
|
|
235
252
|
this.data.profiles.forEach((profile) => {
|
|
236
|
-
|
|
253
|
+
// Add Profile to Profile list
|
|
237
254
|
mappedData.Benchmark.Profile.push({
|
|
238
255
|
id: 'xccdf_mitre.hdf-converters_profile_hdf2xccdf_' +
|
|
239
|
-
|
|
256
|
+
// Replace all non-word characters and spaces with underscores
|
|
257
|
+
(profile.title?.replace(/[^\w-.]/g, '_') || 'profile_missing_title'),
|
|
240
258
|
title: profile.title || '',
|
|
241
259
|
description: profile.description || '',
|
|
260
|
+
// All control IDs
|
|
242
261
|
select: profile.controls.map((control) => 'xccdf_hdf_rule_' +
|
|
243
262
|
(control.tags.rid ||
|
|
244
263
|
control.id.replace(/_/g, '-').replace(/[^\w-.]/g, '_') + '_rule'))
|
|
@@ -249,10 +268,12 @@ class FromHDFToXCCDFMapper {
|
|
|
249
268
|
}
|
|
250
269
|
profile.controls.forEach((control) => {
|
|
251
270
|
if (control.results) {
|
|
271
|
+
// Add results info
|
|
252
272
|
mappedData.Benchmark.TestResult.results.push(this.getControlResultsInfo(control));
|
|
253
273
|
}
|
|
254
274
|
});
|
|
255
275
|
});
|
|
276
|
+
// Add the control metadata for the top-level profile
|
|
256
277
|
this.data.profiles[0].controls.forEach((control) => {
|
|
257
278
|
mappedData.Benchmark.Rule.push(this.getControlInfo(control));
|
|
258
279
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverse-xccdf-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/xccdf/reverse-xccdf-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reverse-xccdf-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/xccdf/reverse-xccdf-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport moment from 'moment';\nimport Mustache from 'mustache';\nimport {version as HeimdallToolsVersion} from '../../../package.json';\nimport {\n MappedXCCDFtoHDF,\n TestResultStatus,\n XCCDFSeverity\n} from '../../../types/reverseMappedXCCDF';\nimport {getDescription} from '../../utils/global';\n\nconst DATE_FORMAT = 'YYYY-MM-DD';\nconst TESTING_DATE_OVERRIDE = '1970-01-01';\nconst TESTING_DATETIME_OVERRIDE = '2022-05-06T21:46:47.939Z';\n\nfunction arrayifyObjectDescriptions(\n descriptions?: {[key: string]: any} | ExecJSON.ControlDescription[] | null\n): ExecJSON.ControlDescription[] {\n if (!descriptions) {\n return [];\n }\n\n if (Array.isArray(descriptions)) {\n return descriptions;\n }\n\n return Object.entries(descriptions).map(([key, value]) => {\n return {\n label: key,\n data: value\n };\n });\n}\n\nfunction getXCCDFResult(control: ExecJSON.Control): TestResultStatus {\n if (control.results.some((result) => result.backtrace)) {\n return 'error';\n }\n if (control.results.some((result) => !result.status)) {\n return 'unknown';\n }\n\n if (control.results.every((result) => result.status === 'passed')) {\n return 'pass';\n }\n\n if (control.results.every((result) => result.status === 'skipped')) {\n return 'notchecked';\n }\n\n if (control.results.some((result) => result.status === 'failed')) {\n return 'fail';\n }\n\n return 'unknown';\n}\n\nfunction getXCCDFResultMessageSeverity(segments: ExecJSON.ControlResult[]) {\n if (segments.some((result) => result.backtrace)) {\n return 'medium';\n }\n return 'info';\n}\n\nfunction toMessageLine(segment: ExecJSON.ControlResult): string {\n switch (segment.status) {\n case 'skipped':\n return `SKIPPED -- ${segment.skip_message}\\n`;\n case 'failed':\n return `FAILED -- Test: ${segment.code_desc}\\nMessage: ${segment.message}\\n`;\n case 'passed':\n return `PASSED -- ${segment.code_desc}\"`;\n case 'error':\n return `ERROR -- Test: ${segment.code_desc}\\nMessage: ${segment.message}`;\n default:\n return `Exception: ${segment.exception}`;\n }\n}\n\nfunction getMessages(segments: ExecJSON.ControlResult[]) {\n return segments.map(toMessageLine).join('\\n\\n');\n}\n\nexport class FromHDFToXCCDFMapper {\n data: ExecJSON.Execution;\n xccdfTemplate: string;\n dateOverride: boolean;\n\n constructor(data: string, xccdfTemplate: string, dateOverride = false) {\n this.data = JSON.parse(data);\n this.xccdfTemplate = xccdfTemplate;\n this.dateOverride = dateOverride;\n }\n\n getSeverity(control: ExecJSON.Control): XCCDFSeverity {\n if (control.impact < 0.1) {\n return 'info';\n } else if (control.impact < 0.4) {\n return 'low';\n } else if (control.impact < 0.7) {\n return 'medium';\n } else {\n return 'high';\n }\n }\n\n getControlInfo(control: ExecJSON.Control) {\n const knownDescriptions = [\n 'default',\n 'check',\n 'fix',\n 'gtitle',\n 'gid',\n 'rid',\n 'stig_id',\n 'cci',\n 'satisfies',\n 'fix_id',\n 'documentable'\n ];\n\n return {\n groupId:\n 'xccdf_hdf_group_' +\n control.id\n .replace(/_/g, '-') // Prevents STIG Viewer from parsing IDs incorrectly when there is underscores after group_\n .replace(/[^\\w-.]/g, '_'), // Change everything that isn't a word, underscore, or dash into an underscore\n id:\n 'xccdf_hdf_rule_' +\n (control.tags.rid ||\n control.id.replace(/_/g, '-').replace(/[^\\w-.]/g, '_') + '_rule'),\n version: control.tags.stig_id || '',\n gtitle: control.tags.gtitle || control.title,\n title: control.title || '',\n severity: this.getSeverity(control),\n description:\n control.desc +\n (control.tags.satisfies\n ? '\\n\\nSatisfies: ' + control.tags.satisfies.join(', ')\n : '') ||\n getDescription(control.descriptions || [], 'default') ||\n '',\n documentable: control.tags.documentable || false,\n descriptions: arrayifyObjectDescriptions(control.descriptions).filter(\n (description) => !knownDescriptions.includes(description.label)\n ),\n waiver: control.waiver_data ? JSON.stringify(control.waiver_data) : '',\n checkContent:\n getDescription(control.descriptions || [], 'check') ||\n control.tags.check ||\n '',\n tags: Object.entries(control.tags)\n .filter(([key]) => !knownDescriptions.includes(key))\n .map(([key, value]) => `${key}: ${value}`),\n code: control.code || '',\n fixid: control.tags.fix_id,\n fix:\n getDescription(control.descriptions || [], 'fix') ||\n control.tags.fix ||\n '',\n ccis: control.tags.cci || []\n };\n }\n\n getExecutionTime(isoTime = false): string {\n // Extract the first results from profile level\n const results: ExecJSON.ControlResult[] = [];\n\n this.data.profiles.forEach((profile) => {\n if (profile.controls[0].results) {\n results.push(...profile.controls[0].results);\n }\n });\n\n // Find the execution time from the first profile level that contains it\n for (const result of results) {\n if (typeof result.start_time === 'string') {\n // Date parsing can be tricky sometimes\n try {\n const parsedDate = moment(result.start_time);\n if (parsedDate.isValid()) {\n return isoTime\n ? moment(result.start_time).toISOString()\n : moment(result.start_time, false).format(DATE_FORMAT);\n }\n } catch {\n return isoTime\n ? moment().toISOString()\n : moment().format(DATE_FORMAT);\n }\n }\n }\n\n // Default return date is now\n return isoTime ? moment().toISOString() : moment().format(DATE_FORMAT);\n }\n\n getControlResultsInfo(control: ExecJSON.Control) {\n return {\n idref:\n 'xccdf_hdf_rule_' +\n (control.tags.rid ||\n control.id\n .replace(/_/g, '-') // Prevent STIG Viewer from parsing IDs incorrectly when there is underscores after rule_\n .replace(/[^\\w-.]/g, '_') + '_rule'),\n result: getXCCDFResult(control),\n message: getMessages(control.results),\n messageType: getXCCDFResultMessageSeverity(control.results),\n code: control.code || ''\n };\n }\n\n toXCCDF() {\n const passthrough = _.get(this.data, 'passthrough');\n let passthroughString = '';\n if (typeof passthrough === 'object') {\n passthroughString = JSON.stringify(passthrough);\n } else if (typeof passthrough !== 'undefined') {\n passthroughString = String(passthrough);\n }\n\n const mappedData: MappedXCCDFtoHDF = {\n Benchmark: {\n id: 'xccdf_mitre.hdf-converters.xccdf_benchmark_hdf2xccdf',\n title: this.data.profiles[0].title || 'HDF to XCCDF Benchmark',\n date: this.dateOverride\n ? TESTING_DATE_OVERRIDE\n : this.getExecutionTime(),\n metadata: {\n copyright: this.data.profiles[0].copyright || '',\n maintainer: this.data.profiles[0].maintainer || ''\n },\n passthrough: passthroughString,\n version: HeimdallToolsVersion,\n Profile: [],\n Rule: [],\n TestResult: {\n endTime: this.dateOverride\n ? TESTING_DATETIME_OVERRIDE\n : this.getExecutionTime(true),\n hasAttributes: false,\n attributes: [],\n results: []\n }\n }\n };\n\n this.data.profiles.forEach((profile) => {\n // Add Profile to Profile list\n mappedData.Benchmark.Profile.push({\n id:\n 'xccdf_mitre.hdf-converters_profile_hdf2xccdf_' +\n // Replace all non-word characters and spaces with underscores\n (profile.title?.replace(/[^\\w-.]/g, '_') || 'profile_missing_title'),\n title: profile.title || '',\n description: profile.description || '',\n // All control IDs\n select: profile.controls.map(\n (control) =>\n 'xccdf_hdf_rule_' +\n (control.tags.rid ||\n control.id.replace(/_/g, '-').replace(/[^\\w-.]/g, '_') + '_rule')\n )\n });\n mappedData.Benchmark.TestResult.attributes.push(\n ...(profile.attributes || [])\n );\n if (mappedData.Benchmark.TestResult.attributes.length > 0) {\n mappedData.Benchmark.TestResult.hasAttributes = true;\n }\n\n profile.controls.forEach((control) => {\n if (control.results) {\n // Add results info\n mappedData.Benchmark.TestResult.results.push(\n this.getControlResultsInfo(control)\n );\n }\n });\n });\n\n // Add the control metadata for the top-level profile\n this.data.profiles[0].controls.forEach((control) => {\n mappedData.Benchmark.Rule.push(this.getControlInfo(control));\n });\n\n return Mustache.render(this.xccdfTemplate, mappedData);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conveyor-mapper.d.ts","sourceRoot":"","sources":["../../src/conveyor-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AA8M7E,qBAAa,cAAe,SAAQ,aAAa;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,CACvB,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAC3C,WAAW,CACZ,CA4BC;gBAEA,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,MAAM;CAMtB;AAED,qBAAa,eAAe;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClB,YAAY,EAAE,MAAM;IAWhC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;CAW5C"}
|