@mitre/hdf-converters 2.12.2 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -24
- package/lib/data/converters/csv2json.d.ts +1 -0
- package/lib/data/converters/csv2json.d.ts.map +1 -0
- package/lib/data/converters/csv2json.js +1 -1
- package/lib/data/converters/csv2json.js.map +1 -1
- package/lib/data/converters/xml2json.d.ts +1 -0
- package/lib/data/converters/xml2json.d.ts.map +1 -0
- package/lib/data/converters/xml2json.js +6 -25
- package/lib/data/converters/xml2json.js.map +1 -1
- package/lib/data/reverse-html-mapper/convert-to-embedded-strings.d.ts +2 -0
- package/lib/data/reverse-html-mapper/convert-to-embedded-strings.d.ts.map +1 -0
- package/lib/data/reverse-html-mapper/convert-to-embedded-strings.js +13 -0
- package/lib/data/reverse-html-mapper/convert-to-embedded-strings.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +23 -8
- package/lib/index.js.map +1 -1
- package/lib/package.json +28 -45
- package/lib/src/anchore-grype-mapper.d.ts +1 -0
- package/lib/src/anchore-grype-mapper.d.ts.map +1 -0
- package/lib/src/anchore-grype-mapper.js +7 -1
- package/lib/src/anchore-grype-mapper.js.map +1 -1
- package/lib/src/asff-mapper/asff-mapper.d.ts +1 -0
- package/lib/src/asff-mapper/asff-mapper.d.ts.map +1 -0
- package/lib/src/asff-mapper/asff-mapper.js +276 -242
- package/lib/src/asff-mapper/asff-mapper.js.map +1 -1
- package/lib/src/asff-mapper/case-cms-inspec.d.ts +1 -0
- package/lib/src/asff-mapper/case-cms-inspec.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-cms-inspec.js +18 -9
- package/lib/src/asff-mapper/case-cms-inspec.js.map +1 -1
- package/lib/src/asff-mapper/case-firewall-manager.d.ts +1 -0
- package/lib/src/asff-mapper/case-firewall-manager.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-firewall-manager.js +18 -9
- package/lib/src/asff-mapper/case-firewall-manager.js.map +1 -1
- package/lib/src/asff-mapper/case-guardduty.d.ts +1 -0
- package/lib/src/asff-mapper/case-guardduty.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-guardduty.js +18 -9
- package/lib/src/asff-mapper/case-guardduty.js.map +1 -1
- package/lib/src/asff-mapper/case-inspector.d.ts +1 -0
- package/lib/src/asff-mapper/case-inspector.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-inspector.js +18 -9
- package/lib/src/asff-mapper/case-inspector.js.map +1 -1
- package/lib/src/asff-mapper/case-previously-hdf.d.ts +1 -0
- package/lib/src/asff-mapper/case-previously-hdf.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-previously-hdf.js +28 -15
- package/lib/src/asff-mapper/case-previously-hdf.js.map +1 -1
- package/lib/src/asff-mapper/case-prowler.d.ts +1 -0
- package/lib/src/asff-mapper/case-prowler.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-prowler.js +19 -9
- package/lib/src/asff-mapper/case-prowler.js.map +1 -1
- package/lib/src/asff-mapper/case-security-hub.d.ts +1 -0
- package/lib/src/asff-mapper/case-security-hub.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-security-hub.js +24 -9
- package/lib/src/asff-mapper/case-security-hub.js.map +1 -1
- package/lib/src/asff-mapper/case-trivy.d.ts +1 -0
- package/lib/src/asff-mapper/case-trivy.d.ts.map +1 -0
- package/lib/src/asff-mapper/case-trivy.js +18 -9
- package/lib/src/asff-mapper/case-trivy.js.map +1 -1
- package/lib/src/aws-config-mapper.d.ts +1 -0
- package/lib/src/aws-config-mapper.d.ts.map +1 -0
- package/lib/src/aws-config-mapper.js +38 -22
- package/lib/src/aws-config-mapper.js.map +1 -1
- package/lib/src/base-converter.d.ts +2 -1
- package/lib/src/base-converter.d.ts.map +1 -0
- package/lib/src/base-converter.js +51 -33
- package/lib/src/base-converter.js.map +1 -1
- package/lib/src/burpsuite-mapper.d.ts +7 -0
- package/lib/src/burpsuite-mapper.d.ts.map +1 -0
- package/lib/src/burpsuite-mapper.js +115 -88
- package/lib/src/burpsuite-mapper.js.map +1 -1
- package/lib/src/checkov-mapper.d.ts +67 -0
- package/lib/src/checkov-mapper.d.ts.map +1 -0
- package/lib/src/checkov-mapper.js +240 -0
- package/lib/src/checkov-mapper.js.map +1 -0
- package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts +17 -0
- package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts.map +1 -0
- package/lib/src/ckl-mapper/checklist-jsonix-converter.js +59 -25
- package/lib/src/ckl-mapper/checklist-jsonix-converter.js.map +1 -1
- package/lib/src/ckl-mapper/checklist-mapper.d.ts +35 -0
- package/lib/src/ckl-mapper/checklist-mapper.d.ts.map +1 -0
- package/lib/src/ckl-mapper/checklist-mapper.js +264 -155
- package/lib/src/ckl-mapper/checklist-mapper.js.map +1 -1
- package/lib/src/ckl-mapper/checklist-metadata-utils.d.ts +1 -0
- package/lib/src/ckl-mapper/checklist-metadata-utils.d.ts.map +1 -0
- package/lib/src/ckl-mapper/checklist-metadata-utils.js +38 -16
- package/lib/src/ckl-mapper/checklist-metadata-utils.js.map +1 -1
- package/lib/src/ckl-mapper/checklistJsonix.d.ts +6 -0
- package/lib/src/ckl-mapper/checklistJsonix.d.ts.map +1 -0
- package/lib/src/ckl-mapper/checklistJsonix.js +8 -8
- package/lib/src/ckl-mapper/checklistJsonix.js.map +1 -1
- package/lib/src/ckl-mapper/jsonixMapping.d.ts +5 -0
- package/lib/src/ckl-mapper/jsonixMapping.d.ts.map +1 -0
- package/lib/src/ckl-mapper/jsonixMapping.js +4 -0
- package/lib/src/ckl-mapper/jsonixMapping.js.map +1 -1
- package/lib/src/converters-from-hdf/asff/asff-types.d.ts +1 -0
- package/lib/src/converters-from-hdf/asff/asff-types.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/asff/asff-types.js +1 -0
- package/lib/src/converters-from-hdf/asff/asff-types.js.map +1 -1
- package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.d.ts +1 -0
- package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js +110 -84
- package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js.map +1 -1
- package/lib/src/converters-from-hdf/asff/transformers.d.ts +1 -0
- package/lib/src/converters-from-hdf/asff/transformers.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/asff/transformers.js +82 -55
- package/lib/src/converters-from-hdf/asff/transformers.js.map +1 -1
- package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.d.ts +1 -0
- package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js +65 -38
- package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js.map +1 -1
- package/lib/src/converters-from-hdf/html/embedded-assets.d.ts +4 -0
- package/lib/src/converters-from-hdf/html/embedded-assets.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/html/embedded-assets.js +8 -0
- package/lib/src/converters-from-hdf/html/embedded-assets.js.map +1 -0
- package/lib/src/converters-from-hdf/html/html-types.d.ts +1 -0
- package/lib/src/converters-from-hdf/html/html-types.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/html/html-types.js +1 -0
- package/lib/src/converters-from-hdf/html/html-types.js.map +1 -1
- package/lib/src/converters-from-hdf/html/reverse-html-mapper.d.ts +3 -2
- package/lib/src/converters-from-hdf/html/reverse-html-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/html/reverse-html-mapper.js +151 -107
- package/lib/src/converters-from-hdf/html/reverse-html-mapper.js.map +1 -1
- package/lib/src/converters-from-hdf/reverse-any-base-converter.d.ts +1 -0
- package/lib/src/converters-from-hdf/reverse-any-base-converter.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/reverse-any-base-converter.js +3 -0
- package/lib/src/converters-from-hdf/reverse-any-base-converter.js.map +1 -1
- package/lib/src/converters-from-hdf/reverse-base-converter.d.ts +1 -0
- package/lib/src/converters-from-hdf/reverse-base-converter.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/reverse-base-converter.js +29 -9
- package/lib/src/converters-from-hdf/reverse-base-converter.js.map +1 -1
- package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts +1 -0
- package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js +40 -16
- package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js.map +1 -1
- package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.d.ts +1 -0
- package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.d.ts.map +1 -0
- package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js +33 -12
- package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js.map +1 -1
- package/lib/src/conveyor-mapper.d.ts +1 -0
- package/lib/src/conveyor-mapper.d.ts.map +1 -0
- package/lib/src/conveyor-mapper.js +85 -40
- package/lib/src/conveyor-mapper.js.map +1 -1
- package/lib/src/cyclonedx-sbom-mapper.d.ts +1 -0
- package/lib/src/cyclonedx-sbom-mapper.d.ts.map +1 -0
- package/lib/src/cyclonedx-sbom-mapper.js +377 -309
- package/lib/src/cyclonedx-sbom-mapper.js.map +1 -1
- package/lib/src/dbprotect-mapper.d.ts +1 -0
- package/lib/src/dbprotect-mapper.d.ts.map +1 -0
- package/lib/src/dbprotect-mapper.js +74 -63
- package/lib/src/dbprotect-mapper.js.map +1 -1
- package/lib/src/dependency-track-mapper.d.ts +1 -0
- package/lib/src/dependency-track-mapper.d.ts.map +1 -0
- package/lib/src/dependency-track-mapper.js +144 -130
- package/lib/src/dependency-track-mapper.js.map +1 -1
- package/lib/src/fortify-mapper.d.ts +7 -0
- package/lib/src/fortify-mapper.d.ts.map +1 -0
- package/lib/src/fortify-mapper.js +118 -92
- package/lib/src/fortify-mapper.js.map +1 -1
- package/lib/src/gosec-mapper.d.ts +1 -0
- package/lib/src/gosec-mapper.d.ts.map +1 -0
- package/lib/src/gosec-mapper.js +90 -72
- package/lib/src/gosec-mapper.js.map +1 -1
- package/lib/src/ionchannel-mapper.d.ts +1 -0
- package/lib/src/ionchannel-mapper.d.ts.map +1 -0
- package/lib/src/ionchannel-mapper.js +130 -110
- package/lib/src/ionchannel-mapper.js.map +1 -1
- package/lib/src/jfrog-xray-mapper.d.ts +1 -0
- package/lib/src/jfrog-xray-mapper.d.ts.map +1 -0
- package/lib/src/jfrog-xray-mapper.js +92 -78
- package/lib/src/jfrog-xray-mapper.js.map +1 -1
- package/lib/src/jsonix-converter.d.ts +1 -0
- package/lib/src/jsonix-converter.d.ts.map +1 -0
- package/lib/src/jsonix-converter.js +1 -0
- package/lib/src/jsonix-converter.js.map +1 -1
- package/lib/src/jsonix-intermediate-converter.d.ts +1 -0
- package/lib/src/jsonix-intermediate-converter.d.ts.map +1 -0
- package/lib/src/jsonix-intermediate-converter.js.map +1 -1
- package/lib/src/mappings/AwsConfigMapping.d.ts +1 -0
- package/lib/src/mappings/AwsConfigMapping.d.ts.map +1 -0
- package/lib/src/mappings/AwsConfigMapping.js +19 -9
- package/lib/src/mappings/AwsConfigMapping.js.map +1 -1
- package/lib/src/mappings/AwsConfigMappingData.d.ts +1 -0
- package/lib/src/mappings/AwsConfigMappingData.d.ts.map +1 -0
- package/lib/src/mappings/AwsConfigMappingData.js.map +1 -1
- package/lib/src/mappings/CciNistMapping.d.ts +1 -0
- package/lib/src/mappings/CciNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/CciNistMapping.js +6 -2
- package/lib/src/mappings/CciNistMapping.js.map +1 -1
- package/lib/src/mappings/CciNistMappingData.d.ts +1 -0
- package/lib/src/mappings/CciNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/CciNistMappingData.js.map +1 -1
- package/lib/src/mappings/CciNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/CciNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/CciNistMappingItem.js +2 -0
- package/lib/src/mappings/CciNistMappingItem.js.map +1 -1
- package/lib/src/mappings/CheckovToCciAndNistMappingData.d.ts +5 -0
- package/lib/src/mappings/CheckovToCciAndNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/CheckovToCciAndNistMappingData.js +2695 -0
- package/lib/src/mappings/CheckovToCciAndNistMappingData.js.map +1 -0
- package/lib/src/mappings/CweNistMapping.d.ts +1 -0
- package/lib/src/mappings/CweNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/CweNistMapping.js +1 -0
- package/lib/src/mappings/CweNistMapping.js.map +1 -1
- package/lib/src/mappings/CweNistMappingData.d.ts +1 -0
- package/lib/src/mappings/CweNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/CweNistMappingData.js.map +1 -1
- package/lib/src/mappings/CweNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/CweNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/CweNistMappingItem.js +5 -0
- package/lib/src/mappings/CweNistMappingItem.js.map +1 -1
- package/lib/src/mappings/NessusPluginNistMappingData.d.ts +1 -0
- package/lib/src/mappings/NessusPluginNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/NessusPluginNistMappingData.js.map +1 -1
- package/lib/src/mappings/NessusPluginsNistMapping.d.ts +1 -0
- package/lib/src/mappings/NessusPluginsNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/NessusPluginsNistMapping.js +1 -0
- package/lib/src/mappings/NessusPluginsNistMapping.js.map +1 -1
- package/lib/src/mappings/NessusPluginsNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/NessusPluginsNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/NessusPluginsNistMappingItem.js +4 -0
- package/lib/src/mappings/NessusPluginsNistMappingItem.js.map +1 -1
- package/lib/src/mappings/NiktoNistMapping.d.ts +1 -0
- package/lib/src/mappings/NiktoNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/NiktoNistMapping.js.map +1 -1
- package/lib/src/mappings/NiktoNistMappingData.d.ts +1 -0
- package/lib/src/mappings/NiktoNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/NiktoNistMappingData.js.map +1 -1
- package/lib/src/mappings/NiktoNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/NiktoNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/NiktoNistMappingItem.js +4 -0
- package/lib/src/mappings/NiktoNistMappingItem.js.map +1 -1
- package/lib/src/mappings/NistCciMappingData.d.ts +1 -0
- package/lib/src/mappings/NistCciMappingData.d.ts.map +1 -0
- package/lib/src/mappings/NistCciMappingData.js.map +1 -1
- package/lib/src/mappings/OwaspNistMapping.d.ts +1 -0
- package/lib/src/mappings/OwaspNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/OwaspNistMapping.js +19 -8
- package/lib/src/mappings/OwaspNistMapping.js.map +1 -1
- package/lib/src/mappings/OwaspNistMappingData.d.ts +1 -0
- package/lib/src/mappings/OwaspNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/OwaspNistMappingData.js.map +1 -1
- package/lib/src/mappings/OwaspNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/OwaspNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/OwaspNistMappingItem.js +5 -0
- package/lib/src/mappings/OwaspNistMappingItem.js.map +1 -1
- package/lib/src/mappings/ScoutsuiteNistMapping.d.ts +1 -0
- package/lib/src/mappings/ScoutsuiteNistMapping.d.ts.map +1 -0
- package/lib/src/mappings/ScoutsuiteNistMapping.js +1 -0
- package/lib/src/mappings/ScoutsuiteNistMapping.js.map +1 -1
- package/lib/src/mappings/ScoutsuiteNistMappingData.d.ts +1 -0
- package/lib/src/mappings/ScoutsuiteNistMappingData.d.ts.map +1 -0
- package/lib/src/mappings/ScoutsuiteNistMappingData.js.map +1 -1
- package/lib/src/mappings/ScoutsuiteNistMappingItem.d.ts +1 -0
- package/lib/src/mappings/ScoutsuiteNistMappingItem.d.ts.map +1 -0
- package/lib/src/mappings/ScoutsuiteNistMappingItem.js +2 -0
- package/lib/src/mappings/ScoutsuiteNistMappingItem.js.map +1 -1
- package/lib/src/msft-secure-score-mapper.d.ts +1 -0
- package/lib/src/msft-secure-score-mapper.d.ts.map +1 -0
- package/lib/src/msft-secure-score-mapper.js +202 -185
- package/lib/src/msft-secure-score-mapper.js.map +1 -1
- package/lib/src/nessus-mapper.d.ts +2 -1
- package/lib/src/nessus-mapper.d.ts.map +1 -0
- package/lib/src/nessus-mapper.js +122 -105
- package/lib/src/nessus-mapper.js.map +1 -1
- package/lib/src/netsparker-mapper.d.ts +7 -0
- package/lib/src/netsparker-mapper.d.ts.map +1 -0
- package/lib/src/netsparker-mapper.js +34 -9
- package/lib/src/netsparker-mapper.js.map +1 -1
- package/lib/src/neuvector-mapper.d.ts +1 -0
- package/lib/src/neuvector-mapper.d.ts.map +1 -0
- package/lib/src/neuvector-mapper.js +123 -124
- package/lib/src/neuvector-mapper.js.map +1 -1
- package/lib/src/nikto-mapper.d.ts +1 -0
- package/lib/src/nikto-mapper.d.ts.map +1 -0
- package/lib/src/nikto-mapper.js +85 -74
- package/lib/src/nikto-mapper.js.map +1 -1
- package/lib/src/prisma-mapper.d.ts +1 -0
- package/lib/src/prisma-mapper.d.ts.map +1 -0
- package/lib/src/prisma-mapper.js +138 -128
- package/lib/src/prisma-mapper.js.map +1 -1
- package/lib/src/sarif-mapper.d.ts +1 -0
- package/lib/src/sarif-mapper.d.ts.map +1 -0
- package/lib/src/sarif-mapper.js +116 -105
- package/lib/src/sarif-mapper.js.map +1 -1
- package/lib/src/scoutsuite-mapper.d.ts +1 -0
- package/lib/src/scoutsuite-mapper.d.ts.map +1 -0
- package/lib/src/scoutsuite-mapper.js +174 -163
- package/lib/src/scoutsuite-mapper.js.map +1 -1
- package/lib/src/snyk-mapper.d.ts +1 -0
- package/lib/src/snyk-mapper.d.ts.map +1 -0
- package/lib/src/snyk-mapper.js +112 -100
- package/lib/src/snyk-mapper.js.map +1 -1
- package/lib/src/sonarqube-mapper.d.ts +18 -5
- package/lib/src/sonarqube-mapper.d.ts.map +1 -0
- package/lib/src/sonarqube-mapper.js +526 -278
- package/lib/src/sonarqube-mapper.js.map +1 -1
- package/lib/src/splunk-mapper.d.ts +3 -2
- package/lib/src/splunk-mapper.d.ts.map +1 -0
- package/lib/src/splunk-mapper.js +72 -16
- package/lib/src/splunk-mapper.js.map +1 -1
- package/lib/src/trufflehog-mapper.d.ts +1 -0
- package/lib/src/trufflehog-mapper.d.ts.map +1 -0
- package/lib/src/trufflehog-mapper.js +72 -69
- package/lib/src/trufflehog-mapper.js.map +1 -1
- package/lib/src/twistlock-mapper.d.ts +1 -0
- package/lib/src/twistlock-mapper.d.ts.map +1 -0
- package/lib/src/twistlock-mapper.js +140 -126
- package/lib/src/twistlock-mapper.js.map +1 -1
- package/lib/src/utils/CCI_List.d.ts +1 -0
- package/lib/src/utils/CCI_List.d.ts.map +1 -0
- package/lib/src/utils/CCI_List.js.map +1 -1
- package/lib/src/utils/attestations.d.ts +1 -0
- package/lib/src/utils/attestations.d.ts.map +1 -0
- package/lib/src/utils/attestations.js +28 -13
- package/lib/src/utils/attestations.js.map +1 -1
- package/lib/src/utils/compliance.d.ts +1 -0
- package/lib/src/utils/compliance.d.ts.map +1 -0
- package/lib/src/utils/compliance.js +11 -3
- package/lib/src/utils/compliance.js.map +1 -1
- package/lib/src/utils/fingerprinting.d.ts +2 -0
- package/lib/src/utils/fingerprinting.d.ts.map +1 -0
- package/lib/src/utils/fingerprinting.js +28 -11
- package/lib/src/utils/fingerprinting.js.map +1 -1
- package/lib/src/utils/global.d.ts +3 -1
- package/lib/src/utils/global.d.ts.map +1 -0
- package/lib/src/utils/global.js +35 -17
- package/lib/src/utils/global.js.map +1 -1
- package/lib/src/utils/parseJson.d.ts +1 -0
- package/lib/src/utils/parseJson.d.ts.map +1 -0
- package/lib/src/utils/parseJson.js +7 -3
- package/lib/src/utils/parseJson.js.map +1 -1
- package/lib/src/utils/result.d.ts +1 -0
- package/lib/src/utils/result.d.ts.map +1 -0
- package/lib/src/utils/result.js.map +1 -1
- package/lib/src/utils/splunk-tools.d.ts +2 -1
- package/lib/src/utils/splunk-tools.d.ts.map +1 -0
- package/lib/src/utils/splunk-tools.js +52 -32
- package/lib/src/utils/splunk-tools.js.map +1 -1
- package/lib/src/veracode-mapper.d.ts +1 -0
- package/lib/src/veracode-mapper.d.ts.map +1 -0
- package/lib/src/veracode-mapper.js +50 -7
- package/lib/src/veracode-mapper.js.map +1 -1
- package/lib/src/xccdf-results-mapper.d.ts +7 -0
- package/lib/src/xccdf-results-mapper.d.ts.map +1 -0
- package/lib/src/xccdf-results-mapper.js +336 -301
- package/lib/src/xccdf-results-mapper.js.map +1 -1
- package/lib/src/zap-mapper.d.ts +8 -0
- package/lib/src/zap-mapper.d.ts.map +1 -0
- package/lib/src/zap-mapper.js +119 -90
- package/lib/src/zap-mapper.js.map +1 -1
- package/lib/tsconfig.build.tsbuildinfo +1 -0
- package/lib/types/neuvector-types.d.ts +1 -0
- package/lib/types/neuvector-types.d.ts.map +1 -0
- package/lib/types/neuvector-types.js +80 -0
- package/lib/types/neuvector-types.js.map +1 -1
- package/lib/types/splunk-config-types.d.ts +1 -0
- package/lib/types/splunk-config-types.d.ts.map +1 -0
- package/lib/types/splunk-config-types.js.map +1 -1
- package/lib/types/splunk-control-types.d.ts +1 -0
- package/lib/types/splunk-control-types.d.ts.map +1 -0
- package/lib/types/splunk-control-types.js.map +1 -1
- package/lib/types/splunk-profile-types.d.ts +1 -0
- package/lib/types/splunk-profile-types.d.ts.map +1 -0
- package/lib/types/splunk-profile-types.js.map +1 -1
- package/lib/types/splunk-report-types.d.ts +1 -0
- package/lib/types/splunk-report-types.d.ts.map +1 -0
- package/lib/types/splunk-report-types.js.map +1 -1
- package/package.json +29 -46
- package/lib/data/converters/csv2json.ts +0 -36
- package/lib/data/converters/xml2json.ts +0 -57
|
@@ -15,26 +15,40 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
28
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
39
|
+
exports.generateHostname = generateHostname;
|
|
40
|
+
exports.handleSplunkErrorResponse = handleSplunkErrorResponse;
|
|
41
|
+
exports.checkSplunkCredentials = checkSplunkCredentials;
|
|
30
42
|
const axios_1 = __importDefault(require("axios"));
|
|
31
43
|
const _ = __importStar(require("lodash"));
|
|
44
|
+
// Helper function to generate a parseable hostname for HTTP requests
|
|
32
45
|
function generateHostname(config) {
|
|
33
46
|
return config.port
|
|
34
47
|
? `${config.scheme}://${config.host}:${config.port}`
|
|
35
48
|
: `${config.scheme}://${config.host}:8089`;
|
|
36
49
|
}
|
|
37
|
-
|
|
50
|
+
// Parse through valid Splunk HTTP errors and report failed request cause
|
|
51
|
+
// Per https://docs.splunk.com/Documentation/Splunk/latest/RESTUM/RESTusing#HTTP_Status_Codes
|
|
38
52
|
function handleSplunkErrorResponse(error) {
|
|
39
53
|
switch (_.get(error, ['response', 'status'])) {
|
|
40
54
|
case 400:
|
|
@@ -57,41 +71,47 @@ function handleSplunkErrorResponse(error) {
|
|
|
57
71
|
return `Unexpected error`;
|
|
58
72
|
}
|
|
59
73
|
}
|
|
60
|
-
|
|
74
|
+
// Returns a string typed session key for any given valid set of credentials
|
|
61
75
|
async function checkSplunkCredentials(config) {
|
|
62
|
-
var _a, _b;
|
|
63
76
|
const hostname = generateHostname(config);
|
|
64
|
-
const username =
|
|
65
|
-
const password =
|
|
66
|
-
|
|
77
|
+
const username = config.username ?? '';
|
|
78
|
+
const password = config.password ?? '';
|
|
79
|
+
// Time to wait (in ms) for login query response until returning bad query status
|
|
80
|
+
// Arbitrary, change as necessary
|
|
67
81
|
const loginTimeout = 5000;
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
}, loginTimeout);
|
|
82
|
+
const controller = new AbortController();
|
|
83
|
+
const timeoutId = setTimeout(() => controller.abort(), loginTimeout);
|
|
71
84
|
try {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
85
|
+
// Try authenticating to Splunk with given credentials
|
|
86
|
+
const authRequest = await axios_1.default.post(`${hostname}/services/auth/login`, new URLSearchParams({ username, password }), {
|
|
87
|
+
params: { output_mode: 'json' },
|
|
88
|
+
signal: controller.signal
|
|
89
|
+
});
|
|
90
|
+
if (_.has(authRequest, ['data', 'sessionKey'])) {
|
|
91
|
+
return authRequest.data.sessionKey;
|
|
92
|
+
}
|
|
93
|
+
throw new Error('Failed to login - Malformed authentication response received');
|
|
76
94
|
}
|
|
77
95
|
catch (error) {
|
|
78
|
-
|
|
96
|
+
// Error handling for timeout
|
|
97
|
+
if (error?.name === 'CanceledError' ||
|
|
98
|
+
error?.code === 'ERR_CANCELED' ||
|
|
99
|
+
controller.signal.aborted) {
|
|
100
|
+
// Fail query if request takes too long to respond
|
|
101
|
+
throw new Error('Login timed out - Please check your CORS configuration or validate that you have inputted the correct domain');
|
|
102
|
+
}
|
|
103
|
+
// Error handling for normal HTTP and axios errors
|
|
79
104
|
console.log(`Splunk axios error: ${error}`);
|
|
105
|
+
// Parse error response and report why request failed
|
|
80
106
|
const errorCode = handleSplunkErrorResponse(error);
|
|
81
107
|
if (errorCode === 'Unexpected error') {
|
|
82
108
|
throw new Error(`Failed to login - Please check your CORS configuration and validate that your input has the correct domain: ${error}`);
|
|
83
109
|
}
|
|
84
|
-
|
|
85
|
-
throw new Error(`Failed to login - ${errorCode}`);
|
|
86
|
-
}
|
|
110
|
+
throw new Error(`Failed to login - ${errorCode}`);
|
|
87
111
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
throw new Error('Failed to login - Malformed authentication response received');
|
|
112
|
+
finally {
|
|
113
|
+
// Kill timer since request has failed
|
|
114
|
+
clearTimeout(timeoutId);
|
|
94
115
|
}
|
|
95
116
|
}
|
|
96
|
-
exports.checkSplunkCredentials = checkSplunkCredentials;
|
|
97
117
|
//# sourceMappingURL=splunk-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splunk-tools.js","sourceRoot":"","sources":["../../../src/utils/splunk-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"splunk-tools.js","sourceRoot":"","sources":["../../../src/utils/splunk-tools.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, {AxiosResponse} from 'axios';\nimport * as _ from 'lodash';\nimport {SplunkConfig} from '../../types/splunk-config-types';\n\n// Helper function to generate a parseable hostname for HTTP requests\nexport function generateHostname(config: SplunkConfig): string {\n return config.port\n ? `${config.scheme}://${config.host}:${config.port}`\n : `${config.scheme}://${config.host}:8089`;\n}\n\n// Parse through valid Splunk HTTP errors and report failed request cause\n// Per https://docs.splunk.com/Documentation/Splunk/latest/RESTUM/RESTusing#HTTP_Status_Codes\nexport function handleSplunkErrorResponse(error: AxiosResponse | unknown): string {\n switch (_.get(error, ['response', 'status'])) {\n case 400:\n return 'Malformed request received';\n case 401:\n return 'Incorrect username or password';\n case 402:\n return 'Bad license detected';\n case 403:\n return 'Insufficient permission for this request';\n case 404:\n return 'Targeted endpoint does not exist';\n case 409:\n return 'Invalid request operation made on endpoint';\n case 500:\n return 'Internal server error';\n case 503:\n return 'This feature is disabled by server configurations';\n default:\n return `Unexpected error`;\n }\n}\n\n// Returns a string typed session key for any given valid set of credentials\nexport async function checkSplunkCredentials(\n config: SplunkConfig\n): Promise<string> {\n const hostname = generateHostname(config);\n const username = config.username ?? '';\n const password = config.password ?? '';\n\n // Time to wait (in ms) for login query response until returning bad query status\n // Arbitrary, change as necessary\n const loginTimeout = 5000;\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), loginTimeout);\n\n try {\n // Try authenticating to Splunk with given credentials\n const authRequest: AxiosResponse = await axios.post(\n `${hostname}/services/auth/login`,\n new URLSearchParams({username, password}),\n {\n params: {output_mode: 'json'},\n signal: controller.signal\n }\n );\n\n if (_.has(authRequest, ['data', 'sessionKey'])) {\n return authRequest.data.sessionKey;\n }\n\n throw new Error('Failed to login - Malformed authentication response received');\n } catch (error: any) {\n // Error handling for timeout\n if (\n error?.name === 'CanceledError' ||\n error?.code === 'ERR_CANCELED' ||\n controller.signal.aborted\n ) {\n // Fail query if request takes too long to respond\n throw new Error(\n 'Login timed out - Please check your CORS configuration or validate that you have inputted the correct domain'\n );\n }\n\n // Error handling for normal HTTP and axios errors\n console.log(`Splunk axios error: ${error}`);\n // Parse error response and report why request failed\n const errorCode = handleSplunkErrorResponse(error);\n if (errorCode === 'Unexpected error') {\n throw new Error(\n `Failed to login - Please check your CORS configuration and validate that your input has the correct domain: ${error}`\n );\n }\n throw new Error(`Failed to login - ${errorCode}`);\n } finally {\n // Kill timer since request has failed\n clearTimeout(timeoutId);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"veracode-mapper.d.ts","sourceRoot":"","sources":["../../src/veracode-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AA0Z1B,qBAAa,cAAe,SAAQ,aAAa;IAC/C,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,CACZ,OAAO,UAAQ,GACd,eAAe,CAAC,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAAE,WAAW,CAAC;gBA8FhE,GAAG,EAAE,MAAM,EAAE,OAAO,UAAQ;CA0BzC"}
|
|
@@ -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.VeracodeMapper = void 0;
|
|
27
37
|
const inspecjs_1 = require("inspecjs");
|
|
@@ -137,6 +147,7 @@ function getFlaws(input) {
|
|
|
137
147
|
input = [input];
|
|
138
148
|
}
|
|
139
149
|
for (const value of input) {
|
|
150
|
+
// change name
|
|
140
151
|
let staticFlaw = _.get(value, STATIC_FLAWS);
|
|
141
152
|
if (!Array.isArray(staticFlaw)) {
|
|
142
153
|
staticFlaw = [staticFlaw];
|
|
@@ -362,6 +373,7 @@ function componentPass(component) {
|
|
|
362
373
|
return _.omit(component, 'vulnerabilities');
|
|
363
374
|
}
|
|
364
375
|
class VeracodeMapper extends base_converter_1.BaseConverter {
|
|
376
|
+
originalData;
|
|
365
377
|
defaultMapping(withRaw = false) {
|
|
366
378
|
return {
|
|
367
379
|
platform: {
|
|
@@ -410,6 +422,35 @@ class VeracodeMapper extends base_converter_1.BaseConverter {
|
|
|
410
422
|
})),
|
|
411
423
|
{
|
|
412
424
|
path: 'detailedreport.software_composition_analysis.vulnerable_components',
|
|
425
|
+
/* The original formal of vulnerable_components is the following:
|
|
426
|
+
|
|
427
|
+
[
|
|
428
|
+
{
|
|
429
|
+
component_data (including file path)
|
|
430
|
+
vulnerabliities{
|
|
431
|
+
vulnerability[
|
|
432
|
+
cve_data
|
|
433
|
+
]
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
...
|
|
437
|
+
]
|
|
438
|
+
|
|
439
|
+
these need to be switched to be:
|
|
440
|
+
[
|
|
441
|
+
{
|
|
442
|
+
cve_data
|
|
443
|
+
filepaths
|
|
444
|
+
components [
|
|
445
|
+
{component_data}
|
|
446
|
+
]
|
|
447
|
+
}
|
|
448
|
+
]
|
|
449
|
+
this is because in heimdall, in general each control should be the error itself, with tests
|
|
450
|
+
being specific failure instances having the cve, being listed as the control since it is an issue
|
|
451
|
+
and the component, where the issue happened as being a test is a better aproximation of this.
|
|
452
|
+
format.
|
|
453
|
+
*/
|
|
413
454
|
pathTransform: componentTransform,
|
|
414
455
|
...controlMappingCve()
|
|
415
456
|
}
|
|
@@ -420,6 +461,8 @@ class VeracodeMapper extends base_converter_1.BaseConverter {
|
|
|
420
461
|
};
|
|
421
462
|
}
|
|
422
463
|
constructor(xml, withRaw = false) {
|
|
464
|
+
// the default textNodeName that we're using ('text') clobbers any attributes that also are named 'text' of which there are many in this format
|
|
465
|
+
// the attribute group names are necessary since there are many times that attributes and inner tags share the same name within a tag (ex. 'vulnerabilities' the attribute is a count whereas as an inner tag it is an array detailing the vulnerabilities) where it seems that the attribute clobbers the inner tag
|
|
423
466
|
const parsedXML = (0, base_converter_1.parseXml)(xml, {
|
|
424
467
|
attributesGroupName: '@_',
|
|
425
468
|
textNodeName: 'text_'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veracode-mapper.js","sourceRoot":"","sources":["../../src/veracode-mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAkC;AAClC,0CAA4B;AAC5B,kDAAgE;AAChE,qDAK0B;AAC1B,8DAAyD;AACzD,2CAAkD;AAClD,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAC3C,MAAM,eAAe,GAAG,+BAA+B,CAAC;AACxD,MAAM,gBAAgB,GAAG,IAAI,+BAAc,EAAE,CAAC;AAC9C,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;CACX,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,QAAyB;IAC9C,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC;AACxD,CAAC;AAED,SAAS,OAAO,CAAC,KAA8B;IAC7C,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;KACb;IACD,IAAI,CAAC,IAAI,CACP,GAAI,GAAiC,CAAC,GAAG,CACvC,CAAC,KAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAC7D,CACF,CAAC;IACF,OAAO,gBAAgB,CAAC,UAAU,CAAC,IAAgB,EAAE,gBAAgB,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA8B;IAC3D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CAAC,EAAE;QACxC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,8BAA8B,CAAC,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,8BAA8B,CAAC,EAAE,CAAC,CAAC;SAC9D;aAAM;YACL,IAAI,CAAC,IAAI,CACP,GACE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CACpC,CAAC,GAAG,CACH,CAAC,KAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAW,CACtE,CACF,CAAC;SACH;KACF;IACD,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iCAAiC,CAAC,EAAE;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC,EAAE;YAClE,IAAI,CAAC,IAAI,CACP,GACE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iCAAiC,CAI/C,CAAC,GAAG,CACH,CAAC,KAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAW,CACtE,CACF,CAAC;SACH;KACF;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B;IAChD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;QAC7B,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,IAAI,CACP,GAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAA+B,CAAC,GAAG,CAC7D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CACnC,CACF,CAAC;SACH;KACF;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,UAAU,GAAG;QACjB,aAAa;QACb,OAAO;QACP,WAAW;QACX,MAAM;QACN,OAAO;QACP,SAAS;QACT,UAAU;QACV,aAAa;KACd,CAAC;IACF,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,IAAI,CACP,GAAI,QAAsC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;YAChD,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;YACzC,GAAG,IAAI,UAAU;iBACd,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;gBACrB,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,EAAE,CAAC,EAAE;oBACjC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;oBAC1C,OAAO,GAAG,KAAK,KAAK,GAAG,IAAI,CAAC;iBAC7B;qBAAM;oBACL,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CACH,CAAC;KACH;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QACvB,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SACb;QACD,IAAI,CAAC,IAAI,CACP,GAAI,GAAiC,CAAC,GAAG,CACvC,CAAC,KAA8B,EAAE,EAAE,CACjC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CACvC,KAAK,EACL,YAAY,CACb,iBAAiB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,0BAA0B,CAAC,IAAI,CACjE,CACF,CAAC;KACH;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;KACjB;IACD,KAAK,MAAM,KAAK,IAAI,KAAkC,EAAE;QAEtD,IAAI,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAEb,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC9B,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;SAC3B;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;KAC7B;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AACD,SAAS,cAAc,CAAC,KAAgC;IACtD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM,UAAU,GAAG;QACjB,CAAC,aAAa,EAAE,MAAM,CAAC;QACvB,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;QACzD,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;QAC3C,CAAC,eAAe,EAAE,cAAc,CAAC;QACjC,CAAC,UAAU,EAAE,SAAS,CAAC;QACvB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACpB,CAAC,MAAM,EAAE,MAAM,CAAC;QAChB,CAAC,QAAQ,EAAE,OAAO,CAAC;QACnB,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;QAChD,CAAC,YAAY,EAAE,YAAY,CAAC;QAC5B,CAAC,aAAa,EAAE,aAAa,CAAC;QAC9B,CAAC,aAAa,EAAE,YAAY,CAAC;QAC7B,CAAC,OAAO,EAAE,OAAO,CAAC;QAClB,CAAC,YAAY,EAAE,YAAY,CAAC;QAC5B,CAAC,aAAa,EAAE,YAAY,CAAC;QAC7B,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;QAC3C,CAAC,4BAA4B,EAAE,0BAA0B,CAAC;KAC3D,CAAC;IACF,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE;QACrC,QAAQ,GAAG,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACrE,QAAQ,IAAI,UAAU;aACnB,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE;gBAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC3C,OAAO,GAAG,KAAK,KAAK,OAAO,IAAI,CAAC;aACjC;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;KACb;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA8B;IACvD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM,UAAU,GAAG;QACjB,MAAM;QACN,WAAW;QACX,gBAAgB;QAChB,SAAS;QACT,SAAS;QACT,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,YAAY;QACZ,qCAAqC;KACtC,CAAC;IACF,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE;QACnC,QAAQ,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC;QAChE,QAAQ,IAAI,CAAC,CAAC,OAAO,CACnB,UAAU,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC,EAAE;gBAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;gBACxC,OAAO,GAAG,KAAK,KAAK,GAAG,EAAE,CAAC;aAC3B;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE;YACjC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;SAC/D;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAgC;IAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;KACjB;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAW,CAAC,CAAC;SACpD;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,GAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAc,CAAC,CAAC;SAC3D;KACF;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,aAAa,GAA8B,EAAE,CAAC;IACpD,IAAI,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAEX,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;KACzB;IACD,KAAK,MAAM,KAAK,IAAI,SAAsC,EAAE;QAC1D,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,GAAG,EAAE;YAC9C,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;KACF;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,aAAa,GAA8B,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE5E,MAAM,KAAK,GAA8B,aAAa;SACnD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACjB,IAAI,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAEvC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACjC,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC;SACjC;QACD,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3C,GAAG,IAAI;YACP,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC,CAAC;QACJ,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;SACD,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,GAA8B,EAAE,GAA4B,EAAE,EAAE;QACvE,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;SACtB;aAAM;YACJ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,YAAY,CAA+B,CAAC,IAAI,CACjE,GAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAA+B,CAC3D,CAAC;YACF,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB;IAIxB,OAAO;QACL,EAAE,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;QACvB,KAAK,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;QAC1B,IAAI,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAC;QAC9B,MAAM,EAAE,EAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAC;QACzD,IAAI,EAAE,EAAE;QACR,IAAI,EAAE;YACJ,GAAG,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;YACxB,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,CAAC,KAAwB,EAAE,EAAE;oBACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACzB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;qBACjB;oBAED,OAAO,gBAAgB,CAAC,UAAU,CAChC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC5C,gBAAgB,CACjB,CAAC;gBACJ,CAAC;aACF;SACF;QACD,eAAe,EAAE;YACf,GAAG,EAAE;gBACH,WAAW,EAAE,CAAC,IAA6B,EAAE,EAAE,CAC5C,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAA+B;qBACrD,GAAG,CAAC,CAAC,IAA6B,EAAE,EAAE,CACrC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAC7B;qBACA,IAAI,CAAC,IAAI,CAAC;aAChB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,mBAAQ,CAAC,mBAAmB,CAAC,MAAM;gBAC3C,SAAS,EAAE,EAAC,WAAW,EAAE,iBAAiB,EAAC;gBAC3C,UAAU,EAAE,EAAC,IAAI,EAAE,gDAAgD,EAAC;aACrE;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAgB;IAEhB,OAAO;QACL,EAAE,EAAE,EAAC,IAAI,EAAE,eAAe,EAAC;QAC3B,KAAK,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC;QAChC,IAAI,EAAE,EAAC,WAAW,EAAE,UAAU,EAAC;QAC/B,YAAY,EAAE;YACZ;gBACE,IAAI,EAAE,EAAC,WAAW,EAAE,qBAAqB,EAAC;gBAC1C,KAAK,EAAE,KAAK;aACb;SACF;QACD,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC;QAC/B,IAAI,EAAE,EAAE;QACR,IAAI,EAAE;YACJ,KAAK,EAAE,EAAC,WAAW,EAAE,aAAa,EAAC;YACnC,cAAc,EAAE,EAAC,WAAW,EAAE,aAAa,EAAC;YAC5C,GAAG,EAAE;gBACH,WAAW,EAAE,CAAC,IAA6B,EAAE,EAAE,CAC7C,IAAA,2BAAkB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACpC;YACD,IAAI,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC;SAC7B;QACD,eAAe,EAAE;YACf,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,oBAAoB;aAClC;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,KAAK;gBACX,aAAa,EAAE,QAAQ;gBACvB,MAAM,EAAE,mBAAQ,CAAC,mBAAmB,CAAC,MAAM;gBAC3C,SAAS,EAAE,EAAC,WAAW,EAAE,cAAc,EAAC;gBACxC,UAAU,EAAE,EAAC,IAAI,EAAE,gDAAgD,EAAC;gBACpE,OAAO,EAAE;oBACP,IAAI,EAAE,2DAA2D;iBAClE;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,SAAkC;IACvD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC,EAAE;YACrE,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,yCAAyC,CAAW,CACtE,CAAC;YACF,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC3C;aAAM;YACL,QAAQ,CAAC,IAAI,CACX,GACE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAIjD,CAAC,GAAG,CACH,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAW,CACtE,CACF,CAAC;YACF,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC3C;KACF;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAa,cAAe,SAAQ,8BAAa;IAE/C,cAAc,CACZ,OAAO,GAAG,KAAK;QAEf,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,sBAAoB;aAC9B;YACD,WAAW,EAAE;gBACX,UAAU,EAAE;oBACV,IAAI,EAAE,oEAAoE;oBAC1E,WAAW,EAAE,CAAC,KAA8B,EAAE,EAAE;wBAC9C,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAA8B,EAAE;4BAC1D,OACE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CACzB,CAAC,GAAG,CAAC,CAAC,SAAkC,EAAE,EAAE,CAC3C,aAAa,CAAC,SAAS,CAAC,CACzB,CAAC;yBACH;6BAAM;4BACL,OAAO,EAAE,CAAC;yBACX;oBACH,CAAC;iBACF;gBACD,cAAc,EAAE;oBACd;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE;4BACJ,WAAW,EAAE,CAAC,KAA8B,EAAE,EAAE,CAC9C,CAAC,CAAC,IAAI,CACJ,KAAK,EACL,QAAQ,EACR,8CAA8C,CAC/C;yBACJ;qBACF;iBACF;gBACD,GAAG,CAAC,OAAO,IAAI,EAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAC,CAAC;aACzC;YACD,OAAO,EAAE,sBAAoB;YAC7B,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,EAAC,IAAI,EAAE,+BAA+B,EAAC;oBAC7C,OAAO,EAAE,EAAC,IAAI,EAAE,kCAAkC,EAAC;oBACnD,KAAK,EAAE;wBACL,IAAI,EAAE,uDAAuD;qBAC9D;oBACD,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,EAAE;oBACd,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE;wBACR,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAC/B,IAAI,EAAE,2BAA2B,KAAK,YAAY;4BAClD,GAAG,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC;yBAChC,CAAC,CAAC;wBACH;4BACE,IAAI,EAAE,oEAAoE;4BA8B1E,aAAa,EAAE,kBAAkB;4BACjC,GAAG,iBAAiB,EAAE;yBACvB;qBACF;oBACD,MAAM,EAAE,EAAE;iBACX;aACF;SACF,CAAC;IACJ,CAAC;IACD,YAAY,GAAW,EAAE,OAAO,GAAG,KAAK;QAGtC,MAAM,SAAS,GAAG,IAAA,yBAAQ,EAAC,GAAG,EAAE;YAC9B,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,MAAM,eAAe,GAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAQ,CAAC,GAAG,CAC5D,CAAC,OAA2C,EAAE,EAAE;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACnC,OAAO,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAC,CAAC;aAC3D;iBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAC5B,OAAO,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAC,CAAC;aAC/B;iBAAM;gBACL,OAAO,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAC,CAAC;aAC7D;QACH,CAAC,CACF,CAAC;QACF,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;CACF;AA5HD,wCA4HC"}
|
|
1
|
+
{"version":3,"file":"veracode-mapper.js","sourceRoot":"","sources":["../../src/veracode-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 parseXml\n} from './base-converter';\nimport {CweNistMapping} from './mappings/CweNistMapping';\nimport {getCCIsForNISTTags} from './utils/global';\nconst STATIC_FLAWS = 'staticflaws.flaw';\nconst SEVERITY = 'detailedreport.severity';\nconst FILE_PATH_VALUE = 'file_paths.file_path.@_.value';\nconst CWE_NIST_MAPPING = new CweNistMapping();\nconst DEFAULT_NIST_TAG = ['SI-2', 'RA-5'];\nconst IMPACT_MAPPING: Map<string, number> = new Map([\n ['5', 0.9],\n ['4', 0.7],\n ['3', 0.5],\n ['2', 0.3],\n ['1', 0.1],\n ['0', 0.0]\n]);\n\nfunction impactMapping(severity: number | string): number {\n return IMPACT_MAPPING.get(severity.toString()) || 0.1;\n}\n\nfunction nistTag(input: Record<string, unknown>): string[] {\n const cwes = [];\n let cwe = _.get(input, 'cwe');\n if (!Array.isArray(cwe)) {\n cwe = [cwe];\n }\n cwes.push(\n ...(cwe as Record<string, unknown>[]).map(\n (value: Record<string, unknown>) => _.get(value, '@_.cweid')\n )\n );\n return CWE_NIST_MAPPING.nistFilter(cwes as string[], DEFAULT_NIST_TAG);\n}\n\nfunction formatRecommendations(input: Record<string, unknown>): string {\n const text: string[] = [];\n if (_.has(input, 'recommendations.para')) {\n if (_.has(input, 'recommendations.para.@_.text')) {\n text.push(`${_.get(input, 'recommendations.para.@_.text')}`);\n } else {\n text.push(\n ...(\n _.get(input, `recommendations.para`) as Record<string, unknown>[]\n ).map(\n (value: Record<string, unknown>) => _.get(value, '@_.text') as string\n )\n );\n }\n }\n if (_.has(input, 'recommendations.para.bulletitem')) {\n if (Array.isArray(_.get(input, `recommendations.para.bulletitem`))) {\n text.push(\n ...(\n _.get(input, `recommendations.para.bulletitem`) as Record<\n string,\n unknown\n >[]\n ).map(\n (value: Record<string, unknown>) => _.get(value, '@_.text') as string\n )\n );\n }\n }\n return text.join('\\n');\n}\n\nfunction formatDesc(input: Record<string, unknown>): string {\n const text = [];\n if (_.has(input, 'desc.para')) {\n if (_.has(input, 'desc.para.@_.text')) {\n text.push(`${_.get(input, 'desc.para.@_.text')}`);\n } else {\n text.push(\n ...(_.get(input, `desc.para`) as Record<string, unknown>[]).map(\n (value) => _.get(value, '@_.text')\n )\n );\n }\n }\n return text.join('\\n');\n}\n\nfunction formatCweData(input: Record<string, unknown>): string {\n const text = [];\n const categories = [\n 'pcrirelated',\n 'owasp',\n 'owasp2013',\n 'sans',\n 'certc',\n 'certccp',\n 'certjava',\n 'owaspmobile'\n ];\n if (_.has(input, 'cwe')) {\n let cweInput = _.get(input, 'cwe');\n if (!Array.isArray(cweInput)) {\n cweInput = [cweInput];\n }\n text.push(\n ...(cweInput as Record<string, unknown>[]).map((cweinfo) => {\n let cwe = `CWE-${_.get(cweinfo, '@_.cweid')}: `;\n cwe += `${_.get(cweinfo, '@_.cwename')}`;\n cwe += categories\n .map((value: string) => {\n if (_.has(cweinfo, `@_.${value}`)) {\n const val = _.get(cweinfo, `@_.${value}`);\n return `${value}: ${val}\\n`;\n } else {\n return '';\n }\n })\n .join('');\n return cwe;\n })\n );\n }\n return text.join('\\n');\n}\n\nfunction formatCweDesc(input: Record<string, unknown>): string {\n const text = [];\n if (_.has(input, 'cwe')) {\n let cwe = _.get(input, 'cwe');\n if (!Array.isArray(cwe)) {\n cwe = [cwe];\n }\n text.push(\n ...(cwe as Record<string, unknown>[]).map(\n (value: Record<string, unknown>) =>\n `CWE-${_.get(value, '@_.cweid')}: ${_.get(\n value,\n '@_.cwename'\n )} Description: ${_.get(value, 'description.text.@_.text')}; `\n )\n );\n }\n return text.join('\\n');\n}\n\nfunction getFlaws(input: unknown): Record<string, unknown>[] {\n const flawArr: Record<string, unknown>[] = [];\n if (!Array.isArray(input)) {\n input = [input];\n }\n for (const value of input as Record<string, unknown>[]) {\n // change name\n let staticFlaw = _.get(value, STATIC_FLAWS) as\n | Record<string, unknown>\n | Record<string, unknown>[];\n if (!Array.isArray(staticFlaw)) {\n staticFlaw = [staticFlaw];\n }\n flawArr.push(...staticFlaw);\n }\n return flawArr;\n}\nfunction formatCodeDesc(input: Record<string, unknown>[]): string {\n let flawDesc = '';\n const categories = [\n ['Line Number', 'line'],\n ['Affect Policy Compliance', 'affects_policy_compliance'],\n ['Remediation Effort', 'remediationeffort'],\n ['Exploit level', 'exploitLevel'],\n ['Issue ID', 'issueid'],\n ['Module', 'module'],\n ['Type', 'type'],\n ['CWE ID', 'cweid'],\n ['Date First Occurence', 'date_first_occurence'],\n ['CIA Impact', 'cia_impact'],\n ['Description', 'description'],\n ['Source File', 'sourcefile'],\n ['Scope', 'scope'],\n ['CIA Impact', 'cia_impact'],\n ['PCI Related', 'pcirelated'],\n ['Function Prototype', 'functionprototype'],\n ['Function Relative Location', 'functionrelativelocation']\n ];\n if (_.has(input, '@_.sourcefilepath')) {\n flawDesc = `Sourcefile Path: ${_.get(input, '@_.sourcefilepath')}\\n`;\n flawDesc += categories\n .map(([title, name]) => {\n if (_.has(input, `@_.${name}`)) {\n const nameVal = _.get(input, `@_.${name}`);\n return `${title}: ${nameVal}\\n`;\n } else {\n return '';\n }\n })\n .join('');\n }\n return flawDesc;\n}\n\nfunction formatSCACodeDesc(input: Record<string, unknown>): string {\n let flawDesc = '';\n const categories = [\n 'sha1',\n 'file_name',\n 'max_cvss_score',\n 'version',\n 'library',\n 'library_id',\n 'vendor',\n 'description',\n 'added_date',\n 'component_affects_policy_compliance'\n ];\n if (_.has(input, '@_.component_id')) {\n flawDesc = `component_id: ${_.get(input, '@_.component_id')}\\n`;\n flawDesc += _.compact(\n categories.map((value: string) => {\n if (_.has(input, `@_.${value}`)) {\n const val = _.get(input, `@_.${value}`);\n return `${value}: ${val}`;\n } else {\n return '';\n }\n })\n ).join('\\n');\n if (_.has(input, FILE_PATH_VALUE)) {\n flawDesc += `\\nfile_path: ${_.get(input, FILE_PATH_VALUE)}\\n`;\n }\n }\n return flawDesc;\n}\n\nfunction formatSourceLocation(input: Record<string, unknown>[]): string {\n const flawArr: string[] = [];\n if (!Array.isArray(input)) {\n input = [input];\n }\n for (const value of input) {\n if (!Array.isArray(_.get(value, STATIC_FLAWS))) {\n flawArr.push(_.get(value, STATIC_FLAWS) as string);\n } else {\n flawArr.push(...(_.get(value, STATIC_FLAWS) as string[]));\n }\n }\n return flawArr.map((value) => _.get(value, '@_.sourcefile')).join('\\n');\n}\n\nfunction componentListCreate(input: unknown): Record<string, unknown>[] {\n const componentList: Record<string, unknown>[] = [];\n let component = _.get(input, 'component') as unknown as\n | Record<string, unknown>\n | Record<string, unknown>[];\n if (!Array.isArray(component)) {\n component = [component];\n }\n for (const value of component as Record<string, unknown>[]) {\n if (_.get(value, '@_.vulnerabilities') !== '0') {\n componentList.push(value);\n }\n }\n return componentList;\n}\n\nfunction componentTransform(input: unknown): Record<string, unknown>[] {\n const componentList: Record<string, unknown>[] = componentListCreate(input);\n\n const vulns: Record<string, unknown>[] = componentList\n .map((component) => {\n let vulnerability = _.get(component, 'vulnerabilities.vulnerability') as\n | Record<string, unknown>\n | Record<string, unknown>[];\n if (!Array.isArray(vulnerability)) {\n vulnerability = [vulnerability];\n }\n vulnerability = vulnerability.map((vuln) => ({\n ...vuln,\n components: [component]\n }));\n return vulnerability;\n })\n .flat()\n .reduce((acc: Record<string, unknown>[], cur: Record<string, unknown>) => {\n const cveId = _.get(cur, '@_.cve_id');\n const index = acc.findIndex((vuln) => cveId === _.get(vuln, '@_.cve_id'));\n if (index === -1) {\n return [...acc, cur];\n } else {\n (_.get(acc[index], 'components') as Record<string, unknown>[]).push(\n ...(_.get(cur, 'components') as Record<string, unknown>[])\n );\n return acc;\n }\n }, []);\n return vulns;\n}\n\nfunction controlMappingCve(): MappedTransform<\n ExecJSON.Control & ILookupPath,\n ILookupPath\n> {\n return {\n id: {path: '@_.cve_id'},\n title: {path: '@_.cve_id'},\n desc: {path: '@_.cve_summary'},\n impact: {path: '@_.severity', transformer: impactMapping},\n refs: [],\n tags: {\n cwe: {path: '@_.cwe_id'},\n nist: {\n path: '@_.cwe_id',\n transformer: (value: string | string[]) => {\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return CWE_NIST_MAPPING.nistFilter(\n value.map((val: string) => val.substring(4)),\n DEFAULT_NIST_TAG\n );\n }\n }\n },\n source_location: {\n ref: {\n transformer: (vuln: Record<string, unknown>) =>\n (_.get(vuln, 'components') as Record<string, unknown>[])\n .map((comp: Record<string, unknown>) =>\n _.get(comp, FILE_PATH_VALUE)\n )\n .join('\\n')\n }\n },\n results: [\n {\n path: 'components',\n status: ExecJSON.ControlResultStatus.Failed,\n code_desc: {transformer: formatSCACodeDesc},\n start_time: {path: '$.detailedreport.@_.first_build_submitted_date'}\n }\n ]\n };\n}\n\nfunction controlMappingCwe(\n severity: number\n): MappedTransform<ExecJSON.Control & ILookupPath, ILookupPath> {\n return {\n id: {path: '@_.categoryid'},\n title: {path: '@_.categoryname'},\n desc: {transformer: formatDesc},\n descriptions: [\n {\n data: {transformer: formatRecommendations},\n label: 'fix'\n }\n ],\n impact: impactMapping(severity),\n refs: [],\n tags: {\n cweid: {transformer: formatCweData},\n cweDescription: {transformer: formatCweDesc},\n cci: {\n transformer: (data: Record<string, unknown>) =>\n getCCIsForNISTTags(nistTag(data))\n },\n nist: {transformer: nistTag}\n },\n source_location: {\n ref: {\n path: 'cwe',\n transformer: formatSourceLocation\n }\n },\n results: [\n {\n path: 'cwe',\n pathTransform: getFlaws,\n status: ExecJSON.ControlResultStatus.Failed,\n code_desc: {transformer: formatCodeDesc},\n start_time: {path: '$.detailedreport.@_.first_build_submitted_date'},\n message: {\n path: 'exploitability_adjustments.exploitability_adjustment.note'\n }\n }\n ]\n };\n}\n\nfunction componentPass(component: Record<string, unknown>) {\n const vulnList: string[] = [];\n _.set(component, 'control_ids', vulnList);\n if (_.get(component, 'vulnerabilities') !== '') {\n if (!Array.isArray(_.get(component, 'vulnerabilities.vulnerability'))) {\n vulnList.push(\n _.get(component, 'vulnerabilities.vulnerability.@_.cve_id') as string\n );\n _.set(component, 'control_ids', vulnList);\n } else {\n vulnList.push(\n ...(\n _.get(component, 'vulnerabilities.vulnerability') as Record<\n string,\n unknown\n >[]\n ).map(\n (vuln: Record<string, unknown>) => _.get(vuln, '@_.cve_id') as string\n )\n );\n _.set(component, 'control_ids', vulnList);\n }\n }\n return _.omit(component, 'vulnerabilities');\n}\n\nexport class VeracodeMapper extends BaseConverter {\n originalData: unknown;\n defaultMapping(\n withRaw = false\n ): MappedTransform<ExecJSON.Execution & {passthrough: unknown}, ILookupPath> {\n return {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion\n },\n passthrough: {\n components: {\n path: 'detailedreport.software_composition_analysis.vulnerable_components',\n transformer: (value: Record<string, unknown>) => {\n if (_.get(value, 'component') as Record<string, unknown>[]) {\n return (\n _.get(value, 'component') as Record<string, unknown>[]\n ).map((component: Record<string, unknown>) =>\n componentPass(component)\n );\n } else {\n return '';\n }\n }\n },\n auxiliary_data: [\n {\n name: 'veracode',\n data: {\n transformer: (value: Record<string, unknown>) =>\n _.omit(\n value,\n SEVERITY,\n 'detailedreport.software_composition_analysis'\n )\n }\n }\n ],\n ...(withRaw && {raw: this.originalData})\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: {path: 'detailedreport.@_.policy_name'},\n version: {path: 'detailedreport.@_.policy_version'},\n title: {\n path: 'detailedreport.static-analysis.modules.module.@_.name'\n },\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n ..._.range(0, 6).map((value) => ({\n path: `detailedreport.severity[${value}].category`,\n ...controlMappingCwe(5 - value)\n })),\n {\n path: 'detailedreport.software_composition_analysis.vulnerable_components',\n /* The original formal of vulnerable_components is the following:\n\n [\n {\n component_data (including file path)\n vulnerabliities{\n vulnerability[\n cve_data\n ]\n }\n }\n ...\n ]\n\n these need to be switched to be:\n [\n {\n cve_data\n filepaths\n components [\n {component_data}\n ]\n }\n ]\n this is because in heimdall, in general each control should be the error itself, with tests\n being specific failure instances having the cve, being listed as the control since it is an issue\n and the component, where the issue happened as being a test is a better aproximation of this.\n format.\n */\n pathTransform: componentTransform,\n ...controlMappingCve()\n }\n ],\n sha256: ''\n }\n ]\n };\n }\n constructor(xml: string, withRaw = false) {\n // the default textNodeName that we're using ('text') clobbers any attributes that also are named 'text' of which there are many in this format\n // the attribute group names are necessary since there are many times that attributes and inner tags share the same name within a tag (ex. 'vulnerabilities' the attribute is a count whereas as an inner tag it is an array detailing the vulnerabilities) where it seems that the attribute clobbers the inner tag\n const parsedXML = parseXml(xml, {\n attributesGroupName: '@_',\n textNodeName: 'text_'\n });\n if (_.has(parsedXML, 'summaryreport')) {\n throw new Error('Current mapper does not accept summary reports');\n }\n const arrayedControls = (_.get(parsedXML, SEVERITY) as []).map(\n (control: {category: unknown; level: string}) => {\n if (Array.isArray(control.category)) {\n return {level: control.level, category: control.category};\n } else if (!control.category) {\n return {level: control.level};\n } else {\n return {level: control.level, category: [control.category]};\n }\n }\n );\n _.set(parsedXML, SEVERITY, arrayedControls);\n super(parsedXML);\n this.originalData = xml;\n this.setMappings(this.defaultMapping(withRaw));\n }\n}\n"]}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { ExecJSON } from 'inspecjs';
|
|
2
2
|
import { BaseConverter, ILookupPath, MappedTransform } from './base-converter';
|
|
3
|
+
export declare class XCCDFResultsResults {
|
|
4
|
+
readonly scapXml: string;
|
|
5
|
+
readonly withRaw: boolean;
|
|
6
|
+
constructor(scapXml: string, withRaw?: boolean);
|
|
7
|
+
toHdf(): Promise<ExecJSON.Execution>;
|
|
8
|
+
}
|
|
3
9
|
export declare class XCCDFResultsMapper extends BaseConverter {
|
|
4
10
|
withRaw: boolean;
|
|
5
11
|
mappings: MappedTransform<ExecJSON.Execution & {
|
|
@@ -7,3 +13,4 @@ export declare class XCCDFResultsMapper extends BaseConverter {
|
|
|
7
13
|
}, ILookupPath>;
|
|
8
14
|
constructor(scapXml: string, withRaw?: boolean);
|
|
9
15
|
}
|
|
16
|
+
//# sourceMappingURL=xccdf-results-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xccdf-results-mapper.d.ts","sourceRoot":"","sources":["../../src/xccdf-results-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAyB,MAAM,UAAU,CAAC;AAG1D,OAAO,EACL,aAAa,EACb,WAAW,EAEX,eAAe,EAGhB,MAAM,kBAAkB,CAAC;AA2N1B,qBAAa,mBAAmB;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM;IAAE,QAAQ,CAAC,OAAO;gBAAjC,OAAO,EAAE,MAAM,EAAW,OAAO,UAAQ;IAExD,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;CAK3C;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,eAAe,CACvB,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAC3C,WAAW,CACZ,CAkYC;gBACU,OAAO,EAAE,MAAM,EAAE,OAAO,UAAQ;CAe7C"}
|