@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neuvector-types.d.ts","sourceRoot":"","sources":["../../types/neuvector-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,83 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* Types are generated with Tygo, from original Golang source code to TypeScript, and tweaked to reflect actual outputted JSON.
|
|
3
|
+
|
|
4
|
+
// Dockerfile
|
|
5
|
+
```
|
|
6
|
+
FROM alpine:3.12 AS clone
|
|
7
|
+
# If using a VPN, install certificates for `git clone` to work
|
|
8
|
+
ADD <URLs to CA certificates>
|
|
9
|
+
RUN update-ca-certificates
|
|
10
|
+
git clone https://github.com/neuvector/neuvector.git
|
|
11
|
+
FROM golang:1.23.0 AS build
|
|
12
|
+
# If using a VPN, install certificates for `go install` to work
|
|
13
|
+
ADD <URLs to CA certificates>
|
|
14
|
+
RUN update-ca-certificates
|
|
15
|
+
go install github.com/gzuidhof/tygo@latest
|
|
16
|
+
WORKDIR /go/neuvector
|
|
17
|
+
COPY --from=clone /neuvector .
|
|
18
|
+
COPY tygo.yaml .
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
// tygo.yaml
|
|
22
|
+
```
|
|
23
|
+
packages:
|
|
24
|
+
- path: 'github.com/neuvector/neuvector/controller/api'
|
|
25
|
+
output_path: '/go/output/neuvector-generated-types.ts'
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
// docker-compose.yml
|
|
29
|
+
```
|
|
30
|
+
services:
|
|
31
|
+
# Generates neuvector/scanner TypeScript types from its Golang source code
|
|
32
|
+
go2ts:
|
|
33
|
+
container_name: tygo
|
|
34
|
+
volumes:
|
|
35
|
+
- './tygo-output/:/go/output/'
|
|
36
|
+
build:
|
|
37
|
+
dockerfile: Dockerfile
|
|
38
|
+
tty: true
|
|
39
|
+
command: tygo generate
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
// `docker compose` command to regenerate Tygo types: `docker compose up --build go2ts`. Output file will be `./tygo-output/neuvector-generated-types.ts`.
|
|
43
|
+
Some of the generated types are copied into and defined in this file. The currently-used generated types begin with `REST`, and some of the generated types are tweaked such that when they have a field beginning with `REST`, the field is intersected instead. For example:
|
|
44
|
+
```
|
|
45
|
+
type RESTScanRepoReport = {
|
|
46
|
+
verdict?: string;
|
|
47
|
+
image_id: string;
|
|
48
|
+
registry: string;
|
|
49
|
+
repository: string;
|
|
50
|
+
tag: string;
|
|
51
|
+
digest: string;
|
|
52
|
+
size: number;
|
|
53
|
+
author: string;
|
|
54
|
+
base_os: string;
|
|
55
|
+
created_at: string;
|
|
56
|
+
cvedb_version: string;
|
|
57
|
+
cvedb_create_time: string;
|
|
58
|
+
layers: RESTScanLayer[];
|
|
59
|
+
} & RESTScanReport;
|
|
60
|
+
```
|
|
61
|
+
was tweaked from the generated
|
|
62
|
+
```
|
|
63
|
+
export interface RESTScanRepoReport {
|
|
64
|
+
verdict?: string;
|
|
65
|
+
image_id: string;
|
|
66
|
+
registry: string;
|
|
67
|
+
repository: string;
|
|
68
|
+
tag: string;
|
|
69
|
+
digest: string;
|
|
70
|
+
size: number;
|
|
71
|
+
author: string;
|
|
72
|
+
base_os: string;
|
|
73
|
+
created_at: string;
|
|
74
|
+
cvedb_version: string;
|
|
75
|
+
cvedb_create_time: string;
|
|
76
|
+
layers: (RESTScanLayer | undefined)[];
|
|
77
|
+
RESTScanReport: RESTScanReport;
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
. In the original Golang RESTScanRepoReport struct at https://github.com/neuvector/neuvector/blob/15496f08f7c445acd4901105fa9e73637b72cdf7/controller/api/apis.go#L2444-L2459, RESTScanReport is composed within RESTScanRepoReport. In Golang, this allows RESTScanRepoReport to use RESTScanReport's members. Tygo embeds RESTScanReport inside of RESTScanRepoReport, but when comparing the actual NeuVector JSON output to the struct definitions, RESTScanReport is not a field of the output's `report` field. In TypeScript, the equivalent of a type accessing another type's members is type intersection. Additionally, NeuVectorScanJson is handcrafted, as its equivalent type doesn't exist in `neuvector-generated-types.ts`.
|
|
81
|
+
*/
|
|
2
82
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
83
|
//# sourceMappingURL=neuvector-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neuvector-types.js","sourceRoot":"","sources":["../../types/neuvector-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"neuvector-types.js","sourceRoot":"","sources":["../../types/neuvector-types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+EE","sourcesContent":["/* Types are generated with Tygo, from original Golang source code to TypeScript, and tweaked to reflect actual outputted JSON. \n\n// Dockerfile\n```\nFROM alpine:3.12 AS clone\n# If using a VPN, install certificates for `git clone` to work\nADD <URLs to CA certificates>\nRUN update-ca-certificates\ngit clone https://github.com/neuvector/neuvector.git\nFROM golang:1.23.0 AS build\n# If using a VPN, install certificates for `go install` to work\nADD <URLs to CA certificates>\nRUN update-ca-certificates\ngo install github.com/gzuidhof/tygo@latest\nWORKDIR /go/neuvector\nCOPY --from=clone /neuvector .\nCOPY tygo.yaml .\n```\n\n// tygo.yaml\n```\npackages:\n - path: 'github.com/neuvector/neuvector/controller/api'\n output_path: '/go/output/neuvector-generated-types.ts'\n```\n\n// docker-compose.yml\n```\nservices:\n # Generates neuvector/scanner TypeScript types from its Golang source code\n go2ts:\n container_name: tygo\n volumes:\n - './tygo-output/:/go/output/'\n build:\n dockerfile: Dockerfile\n tty: true\n command: tygo generate\n```\n\n// `docker compose` command to regenerate Tygo types: `docker compose up --build go2ts`. Output file will be `./tygo-output/neuvector-generated-types.ts`. \nSome of the generated types are copied into and defined in this file. The currently-used generated types begin with `REST`, and some of the generated types are tweaked such that when they have a field beginning with `REST`, the field is intersected instead. For example: \n```\ntype RESTScanRepoReport = {\n verdict?: string;\n image_id: string;\n registry: string;\n repository: string;\n tag: string;\n digest: string;\n size: number;\n author: string;\n base_os: string;\n created_at: string;\n cvedb_version: string;\n cvedb_create_time: string;\n layers: RESTScanLayer[];\n} & RESTScanReport;\n```\nwas tweaked from the generated\n```\nexport interface RESTScanRepoReport {\n verdict?: string;\n image_id: string;\n registry: string;\n repository: string;\n tag: string;\n digest: string;\n size: number;\n author: string;\n base_os: string;\n created_at: string;\n cvedb_version: string;\n cvedb_create_time: string;\n layers: (RESTScanLayer | undefined)[];\n RESTScanReport: RESTScanReport;\n}\n```\n. In the original Golang RESTScanRepoReport struct at https://github.com/neuvector/neuvector/blob/15496f08f7c445acd4901105fa9e73637b72cdf7/controller/api/apis.go#L2444-L2459, RESTScanReport is composed within RESTScanRepoReport. In Golang, this allows RESTScanRepoReport to use RESTScanReport's members. Tygo embeds RESTScanReport inside of RESTScanRepoReport, but when comparing the actual NeuVector JSON output to the struct definitions, RESTScanReport is not a field of the output's `report` field. In TypeScript, the equivalent of a type accessing another type's members is type intersection. Additionally, NeuVectorScanJson is handcrafted, as its equivalent type doesn't exist in `neuvector-generated-types.ts`.\n*/\n\nexport type RESTVulnerability = {\n // This can be a CVE, GHSA, or RHSA.\n name: string;\n // `score` is possibly CVSS v2 based on https://github.com/neuvector/scanner/blob/765fb1db2cf678ea6c6d386f3eb0f720311d745a/cvetools/cvesearch.go#L1416.\n score: number /* Tygo: float32 */;\n // Could be CVSS v3, since info for v2 and v4 doesn't always exist for CVEs.\n severity: string;\n // Could be the CVSS v2 vector.\n vectors: string;\n description: string;\n file_name: string;\n package_name: string;\n package_version: string;\n fixed_version: string;\n link: string;\n // In the NeuVector Scanning & Compliance documentation, Score (V3) is selectable by a dropdown. This could be the CVSS v3 score.\n score_v3: number /* Tygo: float32 */;\n // Could be the CVSS v3 vector.\n vectors_v3: string;\n // Both timestamp fields are Unix epoch timestamps, in seconds.\n published_timestamp: number /* Tygo: int64 */;\n last_modified_timestamp: number /* Tygo: int64 */;\n cpes?: string[];\n cves?: string[];\n feed_rating: string;\n in_base_image?: boolean;\n tags?: string[];\n};\n\nexport type RESTScanModule = {\n name: string;\n file: string;\n version: string;\n source: string;\n cves?: RESTModuleCve[];\n cpes?: string[];\n};\n\nexport type RESTModuleCve = {\n name: string;\n status: string;\n};\n\ntype RESTBenchItem = {\n level: string;\n evidence?: string;\n location?: string;\n message: string[];\n group?: string;\n} & RESTBenchCheck;\n\ntype RESTBenchCheck = {\n test_number: string;\n category: string;\n type: string;\n profile: string;\n scored: boolean;\n automated: boolean;\n description: string;\n remediation: string;\n tags?: string[]; // Tygo: Tags provide list of compliance that related to the cis test item.\n tags_v2?: Record<string, unknown /* Tygo: share.TagDetails */>; // Tygo: TagsV2 provide compliance details for each compliance tag\n};\n\ntype RESTScanSecret = {\n type: string;\n evidence: string;\n path: string;\n suggestion: string;\n};\n\ntype RESTScanSetIdPerm = {\n type: string;\n evidence: string;\n path: string;\n};\n\ntype RESTScanSignatureInfo = {\n verifiers?: string[];\n verification_timestamp: string;\n};\n\ntype RESTScanReport = {\n vulnerabilities: RESTVulnerability[];\n modules?: RESTScanModule[];\n // `checks` lines up with CIS benchmarks\n checks?: RESTBenchItem[];\n secrets?: RESTScanSecret[];\n setid_perms?: RESTScanSetIdPerm[];\n // Environment variables used within the Docker image\n envs?: string[];\n labels?: Record<string, string>;\n // Dockerfile CMDs\n cmds?: string[];\n signature_data?: RESTScanSignatureInfo;\n};\n\nexport type RESTScanRepoReport = {\n verdict?: string;\n image_id: string;\n registry: string;\n repository: string;\n tag: string;\n digest: string;\n size: number /* Tygo: int64 */;\n author: string;\n base_os: string;\n created_at: string;\n cvedb_version: string;\n cvedb_create_time: string;\n layers: RESTScanLayer[];\n} & RESTScanReport;\n\ntype RESTScanLayer = {\n digest: string;\n cmds: string;\n vulnerabilities: RESTVulnerability[];\n size: number /* Tygo: int64 */;\n};\n\nexport type NeuVectorScanJson = {\n report: RESTScanRepoReport;\n error_message: string;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splunk-config-types.d.ts","sourceRoot":"","sources":["../../types/splunk-config-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splunk-config-types.js","sourceRoot":"","sources":["../../types/splunk-config-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"splunk-config-types.js","sourceRoot":"","sources":["../../types/splunk-config-types.ts"],"names":[],"mappings":"","sourcesContent":["export type SplunkConfig = {\n scheme: string;\n host: string;\n port?: number;\n username?: string;\n password?: string;\n index: string;\n owner?: string;\n app?: string;\n sessionKey?: string;\n autologin?: boolean;\n version?: string;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splunk-control-types.d.ts","sourceRoot":"","sources":["../../types/splunk-control-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,mDAAmD,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IAC9C,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splunk-control-types.js","sourceRoot":"","sources":["../../types/splunk-control-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"splunk-control-types.js","sourceRoot":"","sources":["../../types/splunk-control-types.ts"],"names":[],"mappings":"","sourcesContent":["import {HDFControlSegment} from 'inspecjs';\nimport {ILookupPathFH} from '../src/converters-from-hdf/reverse-base-converter';\n\nexport type SplunkControl = {\n meta: Meta;\n code: string;\n desc: string;\n title?: string | null;\n descriptions: Record<string, string>[] | ILookupPathFH;\n id: string;\n impact: number;\n refs: any[] | ILookupPathFH;\n results?: HDFControlSegment[] | ILookupPathFH;\n source_location?: any;\n tags: Tags;\n};\n\nexport type Meta = {\n guid: string;\n filename: string;\n filetype: string;\n subtype: string;\n profile_sha256: string;\n hdf_splunk_schema: string;\n status: string;\n is_waived: boolean;\n is_baseline: boolean;\n overlay_depth: number;\n};\n\nexport type Result = {\n code_desc: string;\n run_time: number;\n start_time: Date;\n status: string;\n resource: string;\n message: string;\n skip_message: string;\n exception: string;\n backtrace: null;\n};\n\nexport type Tags = {\n check?: string;\n fix?: string;\n nist?: string[];\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splunk-profile-types.d.ts","sourceRoot":"","sources":["../../types/splunk-profile-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,mDAAmD,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAClC,UAAU,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IACxC,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splunk-profile-types.js","sourceRoot":"","sources":["../../types/splunk-profile-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"splunk-profile-types.js","sourceRoot":"","sources":["../../types/splunk-profile-types.ts"],"names":[],"mappings":"","sourcesContent":["import {ILookupPathFH} from '../src/converters-from-hdf/reverse-base-converter';\n\nexport type SplunkProfile = {\n meta: Meta;\n summary: string;\n sha256: string;\n controls: unknown[];\n supports: any[] | ILookupPathFH;\n name: string;\n copyright: string;\n maintainer: string;\n copyright_email: string;\n version: string;\n license: string;\n title: string;\n parent_profile: string | undefined;\n depends: Depend[] | ILookupPathFH;\n attributes: Attribute[] | ILookupPathFH;\n groups: Group[] | ILookupPathFH;\n status: string;\n};\n\nexport type Attribute = {\n name: string;\n options: Options;\n};\n\nexport type Options = {\n default: string;\n required: boolean;\n type: string;\n};\n\nexport type Depend = {\n name: string;\n url: string;\n git: string;\n branch: string;\n path: string;\n skip_message: string;\n status: string;\n supermarket: string;\n compliance: string;\n};\n\nexport type Group = {\n controls: string[];\n id: string;\n};\n\nexport type Meta = {\n guid: string;\n filetype: string;\n filename: string;\n subtype: string;\n profile_sha256: string;\n hdf_splunk_schema: string;\n is_baseline: boolean;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splunk-report-types.d.ts","sourceRoot":"","sources":["../../types/splunk-report-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAElC,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IACjC,WAAW,EAAE,GAAG,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splunk-report-types.js","sourceRoot":"","sources":["../../types/splunk-report-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"splunk-report-types.js","sourceRoot":"","sources":["../../types/splunk-report-types.ts"],"names":[],"mappings":"","sourcesContent":["import {ExecJSON} from 'inspecjs';\n\nexport type SplunkReport = {\n meta: Meta;\n statistics?: ExecJSON.Statistics;\n passthrough: any;\n profiles: unknown[];\n platform: Platform;\n version: string;\n};\n\nexport type Meta = {\n guid: string;\n filename: string;\n filetype: string;\n subtype: string;\n hdf_splunk_schema: string;\n};\n\nexport type Platform = {\n release: string;\n name: string;\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,93 +1,76 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mitre/hdf-converters",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Converter util library used to transform various scan results into HDF format",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/mitre/heimdall2",
|
|
9
|
+
"directory": "libs/hdf-converters"
|
|
10
|
+
},
|
|
6
11
|
"files": [
|
|
7
12
|
"lib"
|
|
8
13
|
],
|
|
9
14
|
"main": "lib/index.js",
|
|
10
|
-
"publishConfig": {
|
|
11
|
-
"main": "lib/index.js"
|
|
12
|
-
},
|
|
13
15
|
"scripts": {
|
|
14
|
-
"
|
|
15
|
-
"build
|
|
16
|
-
"
|
|
17
|
-
"lint": "eslint
|
|
18
|
-
"
|
|
19
|
-
"prepack": "yarn build &&
|
|
16
|
+
"prebuild": "tailwindcss -i data/reverse-html-mapper/tailwind.css -o data/reverse-html-mapper/style.css --minify && node data/reverse-html-mapper/convert-to-embedded-strings.ts",
|
|
17
|
+
"build": "tsc -p tsconfig.build.json",
|
|
18
|
+
"lint": "eslint --fix",
|
|
19
|
+
"lint:ci": "eslint --max-warnings 0",
|
|
20
|
+
"prepack": "run-script-os",
|
|
21
|
+
"prepack:darwin:linux": "yarn build && cp package.json package.json.orig && cat package.json.orig | jq '.main = \"lib/index.js\"' > package.json",
|
|
22
|
+
"prepack:win32": "yarn build && copy package.json package.json.orig && type package.json.orig | jq \".main = \\\"lib/index.js\\\"\" > package.json",
|
|
20
23
|
"postpack": "run-script-os",
|
|
21
24
|
"postpack:darwin:linux": "mv package.json.orig package.json",
|
|
22
25
|
"postpack:win32": "move package.json.orig package.json",
|
|
23
|
-
"test": "
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
+
"test": "vitest",
|
|
27
|
+
"test:ci": "vitest run",
|
|
28
|
+
"csv2json": "node data/converters/csv2json.ts",
|
|
29
|
+
"xml2json": "node data/converters/xml2json.ts"
|
|
26
30
|
},
|
|
27
31
|
"dependencies": {
|
|
28
|
-
"@aws-sdk/client-config-service": "3.
|
|
32
|
+
"@aws-sdk/client-config-service": "3.1028.0",
|
|
29
33
|
"@e965/xlsx": "^0.20.0",
|
|
30
34
|
"@mdi/js": "^7.0.96",
|
|
31
35
|
"@microsoft/microsoft-graph-types": "^2.40.0",
|
|
32
36
|
"@mitre/jsonix": "^3.0.7",
|
|
33
37
|
"@smithy/node-http-handler": "^4.0.0",
|
|
38
|
+
"@tailwindcss/cli": "^4.0.6",
|
|
34
39
|
"@types/csv2json": "^1.4.2",
|
|
35
|
-
"@types/ms": "^0.7.31",
|
|
36
40
|
"@types/mustache": "^4.1.2",
|
|
37
41
|
"@types/papaparse": "^5.3.2",
|
|
38
42
|
"@types/revalidator": "^0.3.12",
|
|
43
|
+
"@types/sanitize-html": "^2.3.1",
|
|
39
44
|
"@types/semver": "^7.7.0",
|
|
40
|
-
"@types/triple-beam": "^1.3.2",
|
|
41
45
|
"@types/validator": "^13.12.0",
|
|
42
46
|
"@types/xml2js": "^0.4.9",
|
|
43
47
|
"axios": "^1.3.5",
|
|
44
48
|
"compare-versions": "^6.0.0",
|
|
45
49
|
"csv2json": "^2.0.2",
|
|
46
|
-
"fast-xml-parser": "5.
|
|
50
|
+
"fast-xml-parser": "5.5.11",
|
|
47
51
|
"html-entities": "^2.3.2",
|
|
48
|
-
"htmlparser2": "^
|
|
49
|
-
"inspecjs": "^2.
|
|
52
|
+
"htmlparser2": "^12.0.0",
|
|
53
|
+
"inspecjs": "^2.13.0",
|
|
50
54
|
"lodash": "^4.17.21",
|
|
51
55
|
"moment": "^2.29.1",
|
|
52
|
-
"ms": "^2.1.3",
|
|
53
56
|
"mustache": "^4.2.0",
|
|
54
57
|
"papaparse": "^5.3.1",
|
|
58
|
+
"retry-axios": "^4.0.2",
|
|
55
59
|
"revalidator": "^0.3.1",
|
|
56
60
|
"run-script-os": "^1.1.6",
|
|
61
|
+
"sanitize-html": "^2.17.2",
|
|
57
62
|
"semver": "^7.6.0",
|
|
58
63
|
"tailwindcss": "^4.0.6",
|
|
59
|
-
"tw-elements": "^
|
|
64
|
+
"tw-elements": "^2.0.0",
|
|
60
65
|
"validator": "^13.12.0",
|
|
61
66
|
"winston": "^3.6.0",
|
|
62
67
|
"xml-formatter": "^3.6.2",
|
|
63
68
|
"yaml": "^2.1.1"
|
|
64
69
|
},
|
|
65
70
|
"devDependencies": {
|
|
66
|
-
"@types/jest": "^27.0.0",
|
|
67
71
|
"@types/lodash": "^4.14.161",
|
|
68
|
-
"@types/node": "^
|
|
69
|
-
"
|
|
70
|
-
"quicktype": "^15.0.260",
|
|
71
|
-
"ts-jest": "^29.1.0",
|
|
72
|
-
"tsx": "^4.7.1",
|
|
73
|
-
"typedoc": "^0.28.12",
|
|
72
|
+
"@types/node": "^25.0.0",
|
|
73
|
+
"vitest": "^4.0.18",
|
|
74
74
|
"xml2js": "^0.6.0"
|
|
75
|
-
},
|
|
76
|
-
"jest": {
|
|
77
|
-
"moduleFileExtensions": [
|
|
78
|
-
"js",
|
|
79
|
-
"json",
|
|
80
|
-
"ts",
|
|
81
|
-
"d.ts",
|
|
82
|
-
"node"
|
|
83
|
-
],
|
|
84
|
-
"moduleNameMapper": {
|
|
85
|
-
"axios": "axios/dist/node/axios.cjs"
|
|
86
|
-
},
|
|
87
|
-
"rootDir": ".",
|
|
88
|
-
"testTimeout": 10000000,
|
|
89
|
-
"transform": {
|
|
90
|
-
"^.+\\.ts$": "ts-jest"
|
|
91
|
-
}
|
|
92
75
|
}
|
|
93
|
-
}
|
|
76
|
+
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import csv2json from 'csv2json';
|
|
2
|
-
import {createReadStream, createWriteStream} from 'fs';
|
|
3
|
-
import path from 'path';
|
|
4
|
-
|
|
5
|
-
const files = [
|
|
6
|
-
'aws-config-mapping.csv',
|
|
7
|
-
'cwe-nist-mapping.csv',
|
|
8
|
-
'nessus-plugins-nist-mapping.csv',
|
|
9
|
-
'nikto-nist-mapping.csv',
|
|
10
|
-
'owasp-nist-mapping.csv',
|
|
11
|
-
'scoutsuite-nist-mapping.csv'
|
|
12
|
-
];
|
|
13
|
-
|
|
14
|
-
try {
|
|
15
|
-
const pathToFiles = process.argv[2];
|
|
16
|
-
try {
|
|
17
|
-
const pathToOutput = process.argv[3];
|
|
18
|
-
files.forEach((file) => {
|
|
19
|
-
createReadStream(path.join(pathToFiles, file))
|
|
20
|
-
.pipe(csv2json())
|
|
21
|
-
.pipe(
|
|
22
|
-
createWriteStream(
|
|
23
|
-
path.join(pathToOutput, file.replace('.csv', '.json'))
|
|
24
|
-
)
|
|
25
|
-
);
|
|
26
|
-
});
|
|
27
|
-
} catch {
|
|
28
|
-
console.error(`You must provide the path to an output folder.`);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
31
|
-
} catch {
|
|
32
|
-
console.error(
|
|
33
|
-
`You must provide the path to a folder containing ${files.join(', ')}.`
|
|
34
|
-
);
|
|
35
|
-
process.exit(1);
|
|
36
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import * as _ from 'lodash';
|
|
3
|
-
import xml2js from 'xml2js';
|
|
4
|
-
|
|
5
|
-
const parser = new xml2js.Parser();
|
|
6
|
-
const pathToInfile = process.argv[2];
|
|
7
|
-
const pathToOutfile = process.argv[3];
|
|
8
|
-
|
|
9
|
-
// XML Structure after conversion
|
|
10
|
-
export interface ICCIList {
|
|
11
|
-
cci_list: {
|
|
12
|
-
cci_items: {
|
|
13
|
-
cci_item: {
|
|
14
|
-
$: Record<string, string>;
|
|
15
|
-
references: {
|
|
16
|
-
reference: {
|
|
17
|
-
$: Record<string, string>;
|
|
18
|
-
}[];
|
|
19
|
-
}[];
|
|
20
|
-
}[];
|
|
21
|
-
}[];
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if (!pathToInfile || !pathToOutfile) {
|
|
26
|
-
console.error(`You must provide the path to both an input and ouput file.`);
|
|
27
|
-
} else {
|
|
28
|
-
fs.readFile(pathToInfile, function (readFileError, data) {
|
|
29
|
-
if (readFileError) {
|
|
30
|
-
console.error(`Failed to read ${pathToInfile}: ${readFileError}`);
|
|
31
|
-
} else {
|
|
32
|
-
// Parse XML to JS Object
|
|
33
|
-
parser.parseString(data, (parseFileError: any, converted: ICCIList) => {
|
|
34
|
-
if (parseFileError) {
|
|
35
|
-
console.error(`Failed to parse ${pathToInfile}: ${parseFileError}`);
|
|
36
|
-
} else {
|
|
37
|
-
// Stores our CCI->NIST mapping
|
|
38
|
-
const result: Record<string, string> = {};
|
|
39
|
-
// For all cci items
|
|
40
|
-
converted.cci_list.cci_items[0].cci_item.forEach((cciItem) => {
|
|
41
|
-
// Get the latest reference
|
|
42
|
-
const newestReference = _.maxBy(
|
|
43
|
-
cciItem.references[0].reference,
|
|
44
|
-
(item) => _.get(item, '$.version')
|
|
45
|
-
);
|
|
46
|
-
if (newestReference) {
|
|
47
|
-
result[cciItem.$.id] = newestReference.$.index;
|
|
48
|
-
} else {
|
|
49
|
-
console.error(`No NIST Controls found for ${cciItem.$.id}`);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
fs.writeFileSync(pathToOutfile, JSON.stringify(result));
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|