@mitre/hdf-converters 2.12.6 → 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 +19 -40
- 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 +274 -237
- 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 +21 -10
- 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 +29 -7
- 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 +46 -26
- 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 +38 -4
- 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 +262 -151
- 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 +32 -15
- 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 +68 -38
- 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 +54 -28
- 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 +39 -14
- 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 +32 -10
- 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 +368 -294
- 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 +4 -0
- 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 +18 -7
- 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 +120 -117
- 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 +525 -271
- 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 +69 -12
- 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 +34 -15
- 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 -31
- 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 +19 -40
- package/lib/data/converters/csv2json.ts +0 -36
- package/lib/data/converters/xml2json.ts +0 -57
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fortify-mapper.js","sourceRoot":"","sources":["../../src/fortify-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fortify-mapper.js","sourceRoot":"","sources":["../../src/fortify-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {version as HeimdallToolsVersion} from '../package.json';\nimport {\n BaseConverter,\n ILookupPath,\n MappedTransform,\n buildParseHtmlFunc,\n parseXml\n} from './base-converter';\nimport {getCCIsForNISTTags} from './utils/global';\n\nconst NIST_REFERENCE_NAME =\n 'Standards Mapping - NIST Special Publication 800-53 Revision 4';\nconst DEFAULT_NIST_TAG: string[] = [];\n\nlet parseHtml: (input: unknown) => string;\n\nfunction impactMapping(input: Record<string, unknown>, id: string): number {\n if (Array.isArray(input)) {\n const matches = input.find((element) => {\n return _.get(element, 'ClassInfo.ClassID') === id;\n });\n return parseFloat(_.get(matches, 'ClassInfo.DefaultSeverity')) / 5;\n } else {\n return parseFloat(_.get(input, 'ClassInfo.DefaultSeverity') as string) / 5;\n }\n}\n\nfunction nistTag(rule: Record<string, unknown>): string[] {\n let references = _.get(rule, 'References.Reference');\n if (!Array.isArray(references)) {\n references = [references];\n }\n if (Array.isArray(references)) {\n const tag = references.find((element: Record<string, unknown>) => {\n return _.get(element, 'Author') === NIST_REFERENCE_NAME;\n });\n if (tag === null || tag === undefined) {\n return DEFAULT_NIST_TAG;\n } else {\n return _.get(tag, 'Title').match(/[a-zA-Z][a-zA-Z]-\\d{1,2}/);\n }\n }\n return [];\n}\n\nfunction processEntry(input: unknown): string {\n const output = [];\n output.push(`${_.get(input, 'id')}<=SNIPPET`);\n output.push(`\\nPath: ${_.get(input, 'File')}\\n`);\n output.push(`StartLine: ${_.get(input, 'StartLine')}, `);\n output.push(`EndLine: ${_.get(input, 'EndLine')}\\n`);\n output.push(`Code:\\n${(_.get(input, 'Text') as unknown as string).trim()}`);\n\n return output.join('');\n}\nfunction makeArray(input: unknown): unknown[] {\n if (Array.isArray(input)) {\n return input as unknown[];\n } else {\n return [input];\n }\n}\nfunction filterVuln(input: unknown[], file: unknown): ExecJSON.Control[] {\n input.forEach((element) => {\n if (element instanceof Object) {\n _.set(\n element,\n 'results',\n (_.get(element, 'results') as any).filter(\n (result: ExecJSON.ControlResult) => {\n const codedesc = _.get(result, 'code_desc').split('<=SNIPPET');\n const snippetid = codedesc[0];\n const classid = _.get(element, 'id');\n _.set(result, 'code_desc', codedesc[1]);\n\n let isMatch = false;\n const matches = (\n _.get(file, 'FVDL.Vulnerabilities.Vulnerability') as any\n ).filter((subElement: Record<string, unknown>) => {\n return _.get(subElement, 'ClassInfo.ClassID') === classid;\n });\n matches.forEach((match: Record<string, unknown>) => {\n const traces: unknown[] = makeArray(\n _.get(match, 'AnalysisInfo.Unified.Trace')\n );\n traces.forEach((trace: unknown) => {\n const entries: unknown[] = makeArray(\n _.get(trace, 'Primary.Entry')\n );\n const filteredEntries = entries.filter((entry: unknown) => {\n return _.has(entry, 'Node.SourceLocation.snippet');\n });\n filteredEntries.forEach((entry: unknown) => {\n if (\n _.get(entry, 'Node.SourceLocation.snippet') === snippetid\n ) {\n isMatch = true;\n }\n });\n });\n });\n return isMatch;\n }\n )\n );\n _.set(\n element,\n 'impact',\n impactMapping(\n _.get(element, 'impact') as unknown as Record<string, unknown>,\n _.get(element, 'id') as unknown as string\n )\n );\n }\n return element;\n });\n return input as ExecJSON.Control[];\n}\n\nexport class FortifyResults {\n constructor(readonly fvdl: string, readonly withRaw = false) {}\n\n async toHdf(): Promise<ExecJSON.Execution> {\n parseHtml = await buildParseHtmlFunc();\n\n return (new FortifyMapper(this.fvdl, this.withRaw)).toHdf();\n }\n}\n\nexport class FortifyMapper extends BaseConverter {\n startTime: string;\n withRaw: boolean;\n\n mappings: MappedTransform<\n ExecJSON.Execution & {passthrough: unknown},\n ILookupPath\n > = {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: 'Fortify Static Analyzer Scan',\n version: {path: 'FVDL.EngineData.EngineVersion'},\n title: 'Fortify Static Analyzer Scan',\n summary: {\n path: 'FVDL.UUID',\n transformer: (uuid: unknown): string => {\n return `Fortify Static Analyzer Scan of UUID: ${uuid}`;\n }\n },\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n {\n arrayTransformer: filterVuln,\n path: 'FVDL.Description',\n key: 'id',\n tags: {\n nist: {transformer: nistTag},\n cci: {\n transformer: (data: Record<string, unknown>) =>\n getCCIsForNISTTags(nistTag(data))\n }\n },\n refs: [],\n source_location: {},\n title: {path: 'Abstract', transformer: parseHtml}, // there are embedded nodes that do not show up properly\n id: {path: 'classID'},\n desc: {path: 'Explanation', transformer: parseHtml},\n impact: {path: '$.FVDL.Vulnerabilities.Vulnerability'},\n code: {\n transformer: (vulnerability: Record<string, unknown>): string => {\n return JSON.stringify(vulnerability, null, 2);\n }\n },\n results: [\n {\n path: '$.FVDL.Snippets.Snippet',\n status: ExecJSON.ControlResultStatus.Failed,\n code_desc: {transformer: processEntry},\n start_time: {\n path: '$.FVDL.CreatedTS',\n transformer: (input: unknown): string => {\n return `${_.get(input, 'date')} ${_.get(input, 'time')}`;\n }\n }\n }\n ]\n }\n ],\n sha256: ''\n }\n ],\n passthrough: {\n transformer: (data: Record<string, unknown>): Record<string, unknown> => {\n let auxData = _.get(data, 'FVDL');\n if (_.isObject(auxData)) {\n auxData = _.omit(auxData, [\n 'CreatedTS',\n 'UUID',\n 'Description',\n 'Snippets'\n ]);\n }\n return {\n auxiliary_data: [\n {\n name: 'Fortify',\n data: {FVDL: auxData}\n }\n ],\n ...(this.withRaw && {raw: data})\n };\n }\n }\n };\n constructor(fvdl: string, withRaw = false) {\n super(\n parseXml(fvdl, {\n stopNodes: ['FVDL.Description.Abstract', 'FVDL.Description.Explanation']\n })\n );\n this.startTime = `${_.get(this.data, 'FVDL.CreatedTS.date')} ${_.get(\n this.data,\n 'FVDL.CreatedTS.time'\n )}`;\n this.withRaw = withRaw;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gosec-mapper.d.ts","sourceRoot":"","sources":["../../src/gosec-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,aAAa,EACb,WAAW,EAEX,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAwD1B,qBAAa,WAAY,SAAQ,aAAa;IAC5C,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,eAAe,CACvB,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAC3C,WAAW,CACZ,CAkEC;gBACU,SAAS,EAAE,MAAM,EAAE,OAAO,UAAQ;CAI/C"}
|
package/lib/src/gosec-mapper.js
CHANGED
|
@@ -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
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.GosecMapper = void 0;
|
|
27
37
|
const inspecjs_1 = require("inspecjs");
|
|
@@ -40,100 +50,108 @@ function nistTag(input) {
|
|
|
40
50
|
const cwe = [`${_.get(input, 'id')}`];
|
|
41
51
|
return CWE_NIST_MAPPING.nistFilter(cwe, DEFAULT_NIST_TAG);
|
|
42
52
|
}
|
|
53
|
+
// Check `nosec` and `suppressions` fields which denote whether the gosec rule violation should be suppressed/skipped
|
|
43
54
|
function formatStatus(input) {
|
|
44
55
|
return `${_.get(input, 'nosec')}` === 'false' &&
|
|
45
56
|
`${_.get(input, 'suppressions')}` === 'null'
|
|
46
57
|
? inspecjs_1.ExecJSON.ControlResultStatus.Failed
|
|
47
58
|
: inspecjs_1.ExecJSON.ControlResultStatus.Skipped;
|
|
48
59
|
}
|
|
60
|
+
// If a gosec rule violation is suppressed, forward the given justification
|
|
49
61
|
function formatSkipMessage(input) {
|
|
50
62
|
const suppressions = _.get(input, 'suppressions');
|
|
63
|
+
// If test is not skipped
|
|
51
64
|
if (`${suppressions}` === 'null') {
|
|
52
65
|
return undefined;
|
|
53
66
|
}
|
|
67
|
+
// If test is skipped and there are no justifications, report that none are given
|
|
54
68
|
if (!Array.isArray(suppressions)) {
|
|
55
69
|
return 'No justification provided';
|
|
56
70
|
}
|
|
71
|
+
// otherwise, supply the justifications
|
|
57
72
|
return suppressions
|
|
58
73
|
.map((suppression) => `${suppression.justification ? suppression.justification : 'No justification provided'} (${suppression.kind})`)
|
|
59
74
|
.join('\n');
|
|
60
75
|
}
|
|
76
|
+
// Report gosec rule violation and violation location
|
|
61
77
|
function formatCodeDesc(input) {
|
|
62
78
|
return `Rule ${_.get(input, 'rule_id')} violation detected at:\nFile: ${_.get(input, 'file')}\nLine: ${_.get(input, 'line')}\nColumn: ${_.get(input, 'column')}`;
|
|
63
79
|
}
|
|
80
|
+
// Report confidence of violation and specific offending code
|
|
64
81
|
function formatMessage(input) {
|
|
65
82
|
return `${_.get(input, 'confidence')} confidence of rule violation at:\n${_.get(input, 'code')}`;
|
|
66
83
|
}
|
|
67
84
|
class GosecMapper extends base_converter_1.BaseConverter {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
transformer: nistTag
|
|
94
|
-
},
|
|
95
|
-
cwe: { path: 'cwe' }
|
|
85
|
+
withRaw;
|
|
86
|
+
mappings = {
|
|
87
|
+
platform: {
|
|
88
|
+
name: 'Heimdall Tools',
|
|
89
|
+
release: package_json_1.version
|
|
90
|
+
},
|
|
91
|
+
version: package_json_1.version,
|
|
92
|
+
statistics: {},
|
|
93
|
+
profiles: [
|
|
94
|
+
{
|
|
95
|
+
name: 'gosec Scan',
|
|
96
|
+
title: 'gosec Scan',
|
|
97
|
+
version: { path: 'GosecVersion' },
|
|
98
|
+
supports: [],
|
|
99
|
+
attributes: [],
|
|
100
|
+
groups: [],
|
|
101
|
+
status: 'loaded',
|
|
102
|
+
controls: [
|
|
103
|
+
{
|
|
104
|
+
path: 'Issues',
|
|
105
|
+
key: 'id',
|
|
106
|
+
tags: {
|
|
107
|
+
nist: {
|
|
108
|
+
path: 'cwe',
|
|
109
|
+
transformer: nistTag
|
|
96
110
|
},
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
skip_message: { transformer: formatSkipMessage },
|
|
110
|
-
code_desc: { transformer: formatCodeDesc },
|
|
111
|
-
message: { transformer: formatMessage },
|
|
112
|
-
start_time: ''
|
|
113
|
-
}
|
|
114
|
-
]
|
|
115
|
-
}
|
|
116
|
-
],
|
|
117
|
-
sha256: ''
|
|
118
|
-
}
|
|
119
|
-
],
|
|
120
|
-
passthrough: {
|
|
121
|
-
transformer: (data) => {
|
|
122
|
-
return {
|
|
123
|
-
auxiliary_data: [
|
|
111
|
+
cwe: { path: 'cwe' }
|
|
112
|
+
},
|
|
113
|
+
refs: [],
|
|
114
|
+
source_location: {},
|
|
115
|
+
title: { path: 'details' },
|
|
116
|
+
id: { path: 'rule_id' },
|
|
117
|
+
desc: '',
|
|
118
|
+
impact: {
|
|
119
|
+
path: 'severity',
|
|
120
|
+
transformer: (0, base_converter_1.impactMapping)(IMPACT_MAPPING)
|
|
121
|
+
},
|
|
122
|
+
results: [
|
|
124
123
|
{
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
124
|
+
status: { transformer: formatStatus },
|
|
125
|
+
skip_message: { transformer: formatSkipMessage },
|
|
126
|
+
code_desc: { transformer: formatCodeDesc },
|
|
127
|
+
message: { transformer: formatMessage },
|
|
128
|
+
start_time: ''
|
|
130
129
|
}
|
|
131
|
-
]
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
sha256: ''
|
|
135
134
|
}
|
|
136
|
-
|
|
135
|
+
],
|
|
136
|
+
passthrough: {
|
|
137
|
+
transformer: (data) => {
|
|
138
|
+
return {
|
|
139
|
+
auxiliary_data: [
|
|
140
|
+
{
|
|
141
|
+
name: 'gosec',
|
|
142
|
+
data: {
|
|
143
|
+
'Golang errors': _.get(data, 'Golang errors'),
|
|
144
|
+
Stats: _.get(data, 'Stats')
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
...(this.withRaw && { raw: data })
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
constructor(gosecJson, withRaw = false) {
|
|
154
|
+
super(JSON.parse(gosecJson));
|
|
137
155
|
this.withRaw = withRaw;
|
|
138
156
|
}
|
|
139
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gosec-mapper.js","sourceRoot":"","sources":["../../src/gosec-mapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gosec-mapper.js","sourceRoot":"","sources":["../../src/gosec-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {version as HeimdallToolsVersion} from '../package.json';\nimport {\n BaseConverter,\n ILookupPath,\n impactMapping,\n MappedTransform\n} from './base-converter';\nimport {CweNistMapping} from './mappings/CweNistMapping';\n\nconst CWE_NIST_MAPPING = new CweNistMapping();\nconst DEFAULT_NIST_TAG = ['SI-2', 'RA-5'];\nconst IMPACT_MAPPING: Map<string, number> = new Map([\n ['high', 0.7],\n ['medium', 0.5],\n ['low', 0.3]\n]);\n\nfunction nistTag(input: Record<string, unknown>): string[] {\n const cwe = [`${_.get(input, 'id')}`];\n return CWE_NIST_MAPPING.nistFilter(cwe, DEFAULT_NIST_TAG);\n}\n\n// Check `nosec` and `suppressions` fields which denote whether the gosec rule violation should be suppressed/skipped\nfunction formatStatus(input: Record<string, unknown>): string {\n return `${_.get(input, 'nosec')}` === 'false' &&\n `${_.get(input, 'suppressions')}` === 'null'\n ? ExecJSON.ControlResultStatus.Failed\n : ExecJSON.ControlResultStatus.Skipped;\n}\n\n// If a gosec rule violation is suppressed, forward the given justification\nfunction formatSkipMessage(input: Record<string, unknown>): string | undefined {\n const suppressions = _.get(input, 'suppressions');\n\n // If test is not skipped\n if (`${suppressions}` === 'null') {\n return undefined;\n }\n\n // If test is skipped and there are no justifications, report that none are given\n if (!Array.isArray(suppressions)) {\n return 'No justification provided';\n }\n // otherwise, supply the justifications\n return suppressions\n .map(\n (suppression) =>\n `${suppression.justification ? suppression.justification : 'No justification provided'} (${suppression.kind})`\n )\n .join('\\n');\n}\n\n// Report gosec rule violation and violation location\nfunction formatCodeDesc(input: Record<string, unknown>): string {\n return `Rule ${_.get(input, 'rule_id')} violation detected at:\\nFile: ${_.get(input, 'file')}\\nLine: ${_.get(input, 'line')}\\nColumn: ${_.get(input, 'column')}`;\n}\n\n// Report confidence of violation and specific offending code\nfunction formatMessage(input: Record<string, unknown>): string {\n return `${_.get(input, 'confidence')} confidence of rule violation at:\\n${_.get(input, 'code')}`;\n}\n\nexport class GosecMapper extends BaseConverter {\n withRaw: boolean;\n\n mappings: MappedTransform<\n ExecJSON.Execution & {passthrough: unknown},\n ILookupPath\n > = {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: 'gosec Scan',\n title: 'gosec Scan',\n version: {path: 'GosecVersion'},\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n {\n path: 'Issues',\n key: 'id',\n tags: {\n nist: {\n path: 'cwe',\n transformer: nistTag\n },\n cwe: {path: 'cwe'}\n },\n refs: [],\n source_location: {},\n title: {path: 'details'},\n id: {path: 'rule_id'},\n desc: '',\n impact: {\n path: 'severity',\n transformer: impactMapping(IMPACT_MAPPING)\n },\n results: [\n {\n status: {transformer: formatStatus},\n skip_message: {transformer: formatSkipMessage},\n code_desc: {transformer: formatCodeDesc},\n message: {transformer: formatMessage},\n start_time: ''\n }\n ]\n }\n ],\n sha256: ''\n }\n ],\n passthrough: {\n transformer: (data: Record<string, unknown>): Record<string, unknown> => {\n return {\n auxiliary_data: [\n {\n name: 'gosec',\n data: {\n 'Golang errors': _.get(data, 'Golang errors'),\n Stats: _.get(data, 'Stats')\n }\n }\n ],\n ...(this.withRaw && {raw: data})\n };\n }\n }\n };\n constructor(gosecJson: string, withRaw = false) {\n super(JSON.parse(gosecJson));\n this.withRaw = withRaw;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ionchannel-mapper.d.ts","sourceRoot":"","sources":["../../src/ionchannel-mapper.ts"],"names":[],"mappings":"AAAA,OAAc,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EAGL,0BAA0B,EAE3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAgG7E,qBAAa,mBAAmB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,aAAa,CAAC;gBAGvB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM;IAcf,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAMpC,OAAO,CAAC,QAAQ,EAAE,MAAM;IAexB,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAS3B,UAAU,CAAC,WAAW,EAAE,MAAM;IAgB9B,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAgBjC,WAAW,IAAI,OAAO,CAAC,0BAA0B,CAAC;CAuBzD;AAED,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,QAAQ,EAAE,eAAe,CACvB,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAC3C,WAAW,CACZ,CA6GC;gBAEU,cAAc,EAAE,MAAM;CAGnC"}
|
|
@@ -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
|
};
|
|
@@ -32,6 +42,7 @@ const _ = __importStar(require("lodash"));
|
|
|
32
42
|
const package_json_1 = require("../package.json");
|
|
33
43
|
const base_converter_1 = require("./base-converter");
|
|
34
44
|
const global_1 = require("./utils/global");
|
|
45
|
+
// Extracts all levels of dependencies from any dependency (including sub-dependencies)
|
|
35
46
|
function extractAllDependencies(dependency) {
|
|
36
47
|
const result = [];
|
|
37
48
|
result.push({
|
|
@@ -49,18 +60,18 @@ function preprocessIonChannelData(ionchannelData) {
|
|
|
49
60
|
const result = {
|
|
50
61
|
metadata: {},
|
|
51
62
|
scans: {
|
|
52
|
-
vulnerability: [],
|
|
63
|
+
vulnerability: [], // Not Implemented yet
|
|
53
64
|
dependency: {
|
|
54
65
|
dependencies: [],
|
|
55
|
-
contextualizedDependencies: []
|
|
66
|
+
contextualizedDependencies: [] // Dependencies with their parent info
|
|
56
67
|
},
|
|
57
|
-
ecosystems: [],
|
|
58
|
-
community: [],
|
|
59
|
-
buildsystems: [],
|
|
60
|
-
virus: [],
|
|
61
|
-
license: [],
|
|
62
|
-
difference: [],
|
|
63
|
-
about_yml: []
|
|
68
|
+
ecosystems: [], // Not Implemented yet
|
|
69
|
+
community: [], // Not Implemented yet
|
|
70
|
+
buildsystems: [], // Not Implemented yet
|
|
71
|
+
virus: [], // Not Implemented yet
|
|
72
|
+
license: [], // Not Implemented yet
|
|
73
|
+
difference: [], // Not Implemented yet
|
|
74
|
+
about_yml: [] // Not Implemented yet
|
|
64
75
|
}
|
|
65
76
|
};
|
|
66
77
|
const parsed = JSON.parse(ionchannelData);
|
|
@@ -78,17 +89,20 @@ function preprocessIonChannelData(ionchannelData) {
|
|
|
78
89
|
result.scans.dependency.dependencies =
|
|
79
90
|
scanSummary.results.data.dependencies;
|
|
80
91
|
break;
|
|
92
|
+
// We only care about dependencies at the moment
|
|
81
93
|
default:
|
|
82
94
|
break;
|
|
83
95
|
}
|
|
84
96
|
});
|
|
85
97
|
const dependencyGraph = {};
|
|
98
|
+
// Flatten dependency tree
|
|
86
99
|
result.scans.dependency.dependencies.forEach((topLevelDependency) => {
|
|
87
100
|
const flatDependencies = extractAllDependencies(topLevelDependency);
|
|
88
101
|
flatDependencies.forEach((dependency) => {
|
|
89
102
|
dependencyGraph[`${dependency.org}/${dependency.name}`] = dependency;
|
|
90
103
|
});
|
|
91
104
|
});
|
|
105
|
+
// Associate dependencies with each-other
|
|
92
106
|
Object.entries(dependencyGraph).forEach(([, dependency]) => {
|
|
93
107
|
if (Array.isArray(dependency.dependencies)) {
|
|
94
108
|
dependency.dependencies.forEach((subDependency) => {
|
|
@@ -102,6 +116,11 @@ function preprocessIonChannelData(ionchannelData) {
|
|
|
102
116
|
return result;
|
|
103
117
|
}
|
|
104
118
|
class IonChannelAPIMapper {
|
|
119
|
+
apiKey;
|
|
120
|
+
projectId;
|
|
121
|
+
teamId;
|
|
122
|
+
analysisId;
|
|
123
|
+
apiClient;
|
|
105
124
|
constructor(apiKey, projectId, teamId, analysisId) {
|
|
106
125
|
this.apiKey = apiKey;
|
|
107
126
|
this.projectId = projectId;
|
|
@@ -188,103 +207,104 @@ class IonChannelAPIMapper {
|
|
|
188
207
|
}
|
|
189
208
|
exports.IonChannelAPIMapper = IonChannelAPIMapper;
|
|
190
209
|
class IonChannelMapper extends base_converter_1.BaseConverter {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
cci: (0, global_1.getCCIsForNISTTags)(global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS),
|
|
237
|
-
dependencies: dependency.dependencies.map((subDependency) => `${subDependency.name}`)
|
|
238
|
-
}
|
|
239
|
-
: {
|
|
240
|
-
..._.omit(dependency, 'dependencies'),
|
|
241
|
-
nist: global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS,
|
|
242
|
-
cci: (0, global_1.getCCIsForNISTTags)(global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS)
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
},
|
|
246
|
-
descriptions: [],
|
|
247
|
-
refs: [],
|
|
248
|
-
source_location: {},
|
|
249
|
-
title: {
|
|
250
|
-
transformer: (dependency) => {
|
|
251
|
-
if (dependency.type === 'pypi' &&
|
|
252
|
-
dependency.package === 'egg' &&
|
|
253
|
-
dependency.name === '-e') {
|
|
254
|
-
return `Python requirements file ${dependency.file}`;
|
|
255
|
-
}
|
|
256
|
-
let title = `Dependency ${dependency.name} `;
|
|
257
|
-
if (dependency.org && dependency.org.toLowerCase() !== 'n/a') {
|
|
258
|
-
title += `from ${dependency.org} `;
|
|
259
|
-
}
|
|
260
|
-
if (dependency.version &&
|
|
261
|
-
dependency.version.toLowerCase() !== 'n/a') {
|
|
262
|
-
title += `@ ${dependency.version} `;
|
|
263
|
-
}
|
|
264
|
-
if (dependency.requirement &&
|
|
265
|
-
dependency.requirement.toLowerCase() !== 'n/a') {
|
|
266
|
-
title += `(Required ${dependency.requirement}) `;
|
|
210
|
+
mappings = {
|
|
211
|
+
platform: {
|
|
212
|
+
name: 'Heimdall Tools',
|
|
213
|
+
release: package_json_1.version,
|
|
214
|
+
target_id: { path: 'metadata.project_id' }
|
|
215
|
+
},
|
|
216
|
+
passthrough: {
|
|
217
|
+
ionchannel_metadata: {
|
|
218
|
+
path: 'metadata'
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
version: package_json_1.version,
|
|
222
|
+
statistics: {
|
|
223
|
+
duration: null
|
|
224
|
+
},
|
|
225
|
+
profiles: [
|
|
226
|
+
{
|
|
227
|
+
name: 'IonChannel SBOM Analysis',
|
|
228
|
+
version: '',
|
|
229
|
+
title: {
|
|
230
|
+
path: 'metadata.source',
|
|
231
|
+
transformer: (source) => `IonChannel Analysis of ${source}`
|
|
232
|
+
},
|
|
233
|
+
maintainer: 'saf@groups.mitre.org',
|
|
234
|
+
summary: '',
|
|
235
|
+
license: null,
|
|
236
|
+
copyright: null,
|
|
237
|
+
copyright_email: null,
|
|
238
|
+
supports: [],
|
|
239
|
+
attributes: [],
|
|
240
|
+
depends: [],
|
|
241
|
+
groups: [],
|
|
242
|
+
status: 'loaded',
|
|
243
|
+
controls: [
|
|
244
|
+
{
|
|
245
|
+
path: 'scans.dependency.contextualizedDependencies',
|
|
246
|
+
key: 'id',
|
|
247
|
+
tags: {
|
|
248
|
+
transformer: (dependency) => {
|
|
249
|
+
return Array.isArray(dependency.dependencies)
|
|
250
|
+
? {
|
|
251
|
+
..._.omit(dependency, 'dependencies'),
|
|
252
|
+
nist: global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS,
|
|
253
|
+
cci: (0, global_1.getCCIsForNISTTags)(global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS),
|
|
254
|
+
dependencies: dependency.dependencies.map((subDependency) => `${subDependency.name}`)
|
|
267
255
|
}
|
|
268
|
-
|
|
256
|
+
: {
|
|
257
|
+
..._.omit(dependency, 'dependencies'),
|
|
258
|
+
nist: global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS,
|
|
259
|
+
cci: (0, global_1.getCCIsForNISTTags)(global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS)
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
descriptions: [],
|
|
264
|
+
refs: [],
|
|
265
|
+
source_location: {},
|
|
266
|
+
title: {
|
|
267
|
+
transformer: (dependency) => {
|
|
268
|
+
// Specific to Python requirements, commonly called requirements.txt or requirements_dev.txt
|
|
269
|
+
if (dependency.type === 'pypi' &&
|
|
270
|
+
dependency.package === 'egg' &&
|
|
271
|
+
dependency.name === '-e') {
|
|
272
|
+
return `Python requirements file ${dependency.file}`;
|
|
269
273
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
return `dependency-${dependency.org}/${dependency.name}`;
|
|
274
|
+
let title = `Dependency ${dependency.name} `;
|
|
275
|
+
if (dependency.org && dependency.org.toLowerCase() !== 'n/a') {
|
|
276
|
+
title += `from ${dependency.org} `;
|
|
274
277
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
278
|
+
if (dependency.version &&
|
|
279
|
+
dependency.version.toLowerCase() !== 'n/a') {
|
|
280
|
+
title += `@ ${dependency.version} `;
|
|
281
|
+
}
|
|
282
|
+
if (dependency.requirement &&
|
|
283
|
+
dependency.requirement.toLowerCase() !== 'n/a') {
|
|
284
|
+
title += `(Required ${dependency.requirement}) `;
|
|
285
|
+
}
|
|
286
|
+
return title.trim();
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
id: {
|
|
290
|
+
transformer: (dependency) => {
|
|
291
|
+
return `dependency-${dependency.org}/${dependency.name}`;
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
desc: '',
|
|
295
|
+
impact: 0.0,
|
|
296
|
+
code: {
|
|
297
|
+
transformer: (dependency) => JSON.stringify(dependency, null, 2)
|
|
298
|
+
},
|
|
299
|
+
results: []
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
sha256: ''
|
|
303
|
+
}
|
|
304
|
+
]
|
|
305
|
+
};
|
|
306
|
+
constructor(ionchannelJson) {
|
|
307
|
+
super(preprocessIonChannelData(ionchannelJson));
|
|
288
308
|
}
|
|
289
309
|
}
|
|
290
310
|
exports.IonChannelMapper = IonChannelMapper;
|