@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-types.d.ts","sourceRoot":"","sources":["../../../../src/converters-from-hdf/html/html-types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,qBAAqB,EAAC,MAAM,UAAU,CAAC;AAG/C,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB,EAAE,MAAM,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,qBAAqB,GAAG;QAAC,OAAO,EAAE,OAAO,EAAE,CAAA;KAAC,GAAG;QACvD,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG;QAAC,YAAY,EAAE,aAAa,CAAA;KAAC,GAAG;QAAC,cAAc,EAAE,eAAe,CAAA;KAAC,GAAG;QACtE,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC,EAAE,CAAC;CACN;AAGD,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-types.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/html/html-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"html-types.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/html/html-types.ts"],"names":[],"mappings":";AAAA,6CAA6C","sourcesContent":["// Interface for HTML template data rendering\n\nimport {ContextualizedControl} from 'inspecjs';\n\n// Basic info for exported files; lvl 1\nexport interface IFileInfo {\n filename: string;\n toolVersion: string;\n platform: string;\n duration: string;\n}\n\n// Info used for profile status reporting; lvl 1\nexport interface IStatistics {\n passed: number;\n failed: number;\n notApplicable: number;\n notReviewed: number;\n profileError: number;\n totalResults: number;\n passedTests: number;\n passingTestsFailedResult: number;\n failedTests: number;\n totalTests: number;\n}\n\n// Info used for profile result severity reporting; lvl 1\nexport interface ISeverity {\n none: number;\n low: number;\n medium: number;\n high: number;\n critical: number;\n}\n\n// Info used for profile compliance reporting; lvl 1\nexport interface ICompliance {\n level: string;\n color: string;\n}\n\n// Container for specific info on each result; lvl 2\nexport interface IDetail {\n name: string;\n value: string;\n class?: string;\n}\n\n// Status of a specific result; lvl 2\nexport interface IResultStatus {\n status: string;\n icon: string;\n}\n\n// Severity of a specific result; lvl 2\nexport interface IResultSeverity {\n severity: string;\n icon: string;\n}\n\n// Container for all results; lvl 1\nexport interface IResultSet {\n filename: string;\n fileID: string;\n results: (ContextualizedControl & {details: IDetail[]} & {\n resultID: string;\n } & {resultStatus: IResultStatus} & {resultSeverity: IResultSeverity} & {\n controlTags: string[];\n })[];\n}\n\n// All used icons; lvl 1\nexport interface IIcons {\n [key: string]: string;\n}\n\n// Top level interface; lvl 0\nexport interface IOutputData {\n tailwindStyles: string;\n tailwindElements: string;\n files: IFileInfo[];\n statistics: IStatistics;\n severity: ISeverity;\n compliance: ICompliance;\n resultSets: IResultSet[];\n showResultSets: boolean;\n showCode: boolean;\n exportType: string;\n icons: IIcons;\n}\n"]}
|
|
@@ -12,7 +12,7 @@ type ProcessedData = {
|
|
|
12
12
|
fileID: string;
|
|
13
13
|
filteredControls?: string[];
|
|
14
14
|
};
|
|
15
|
-
declare enum FileExportTypes {
|
|
15
|
+
export declare enum FileExportTypes {
|
|
16
16
|
Executive = "Executive",
|
|
17
17
|
Manager = "Manager",
|
|
18
18
|
Administrator = "Administrator"
|
|
@@ -36,6 +36,7 @@ export declare class FromHDFToHTMLMapper {
|
|
|
36
36
|
};
|
|
37
37
|
iconDataToSVG(iconData: string, fill: string, widthPx?: number, heightPx?: number, description?: string): string;
|
|
38
38
|
replaceIllegalCharacters(text: string): string;
|
|
39
|
-
toHTML(
|
|
39
|
+
toHTML(): Promise<string>;
|
|
40
40
|
}
|
|
41
41
|
export {};
|
|
42
|
+
//# sourceMappingURL=reverse-html-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse-html-mapper.d.ts","sourceRoot":"","sources":["../../../../src/converters-from-hdf/html/reverse-html-mapper.ts"],"names":[],"mappings":"AASA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EAIzB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,aAAa,EACd,MAAM,cAAc,CAAC;AAEtB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAGF,oBAAY,eAAe;IACzB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAChC;AAOD,qBAAa,mBAAmB;IAI9B,OAAO,CAAC,aAAa,CAyBnB;IAGF,UAAU,EAAE,WAAW,CA2DrB;gBAEU,KAAK,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,eAAe;IA4C3D,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe;IAwD5D,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,EAAE;IA6GlD,gBAAgB,CACd,MAAM,EAAE,qBAAqB,EAC7B,YAAY,EAAE,qBAAqB,EAAE,GACpC,qBAAqB,GAAG;QAAC,OAAO,EAAE,OAAO,EAAE,CAAA;KAAC,GAAG;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG;QACrE,YAAY,EAAE,aAAa,CAAC;KAC7B,GAAG;QAAC,cAAc,EAAE,eAAe,CAAA;KAAC,GAAG;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAC;IA6H/D,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,SAAK,EACZ,QAAQ,SAAK,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM;IAcT,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAWxC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;CAYhC"}
|
|
@@ -1,106 +1,120 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.FromHDFToHTMLMapper = void 0;
|
|
6
|
+
exports.FromHDFToHTMLMapper = exports.FileExportTypes = void 0;
|
|
30
7
|
const js_1 = require("@mdi/js");
|
|
31
|
-
const axios_1 = __importDefault(require("axios"));
|
|
32
8
|
const inspecjs_1 = require("inspecjs");
|
|
33
|
-
const
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
34
10
|
const mustache_1 = __importDefault(require("mustache"));
|
|
11
|
+
const sanitize_html_1 = __importDefault(require("sanitize-html"));
|
|
35
12
|
const compliance_1 = require("../../utils/compliance");
|
|
13
|
+
const embedded_assets_1 = require("./embedded-assets");
|
|
14
|
+
// All selectable export types for an HTML export
|
|
36
15
|
var FileExportTypes;
|
|
37
16
|
(function (FileExportTypes) {
|
|
38
17
|
FileExportTypes["Executive"] = "Executive";
|
|
39
18
|
FileExportTypes["Manager"] = "Manager";
|
|
40
19
|
FileExportTypes["Administrator"] = "Administrator";
|
|
41
|
-
})(FileExportTypes || (FileExportTypes = {}));
|
|
20
|
+
})(FileExportTypes || (exports.FileExportTypes = FileExportTypes = {}));
|
|
21
|
+
// Illegal characters which are not accepted by HTML id attribute
|
|
22
|
+
// Generally includes everything that is not alphanumeric or characters [-,_]
|
|
23
|
+
// Expand as needed
|
|
42
24
|
const ILLEGAL_CHARACTER_SET = [['\\.', '___PERIOD___']];
|
|
43
25
|
class FromHDFToHTMLMapper {
|
|
26
|
+
// Generated injectable HTML for icons
|
|
27
|
+
// NOTE: Icons colors should align with Vue colors used in general dashboard from apps/frontend/src/store/color_hack.ts
|
|
28
|
+
// ARIA NOTE: Since icons are supplementary, descriptions are not required
|
|
29
|
+
iconHTMLStore = {
|
|
30
|
+
// Passed; green
|
|
31
|
+
circleCheck: this.iconDataToSVG(js_1.mdiCheckCircle, 'rgb(76, 176, 79)'),
|
|
32
|
+
// Failed; red
|
|
33
|
+
circleCross: this.iconDataToSVG(js_1.mdiCloseCircle, 'rgb(243, 67, 53)'),
|
|
34
|
+
// Not applicable; blue
|
|
35
|
+
circleMinus: this.iconDataToSVG(js_1.mdiMinusCircle, 'rgb(3, 169, 244)'),
|
|
36
|
+
// Not reviewed; yellow
|
|
37
|
+
circleAlert: this.iconDataToSVG(js_1.mdiAlertCircle, 'rgb(254, 153, 0)'),
|
|
38
|
+
// Profile error; purple
|
|
39
|
+
triangleAlert: this.iconDataToSVG(js_1.mdiAlert, 'rgb(121, 134, 203)'),
|
|
40
|
+
// Total count; black
|
|
41
|
+
squareEqual: this.iconDataToSVG(js_1.mdiEqualBox, 'black'),
|
|
42
|
+
// No severity; blue
|
|
43
|
+
circleNone: this.iconDataToSVG(js_1.mdiCircle, 'rgb(3, 169, 244)'),
|
|
44
|
+
// Low severity; yellow
|
|
45
|
+
circleLow: this.iconDataToSVG(js_1.mdiCircle, 'rgb(255, 235, 59)'),
|
|
46
|
+
// Medium severity; orange
|
|
47
|
+
circleMedium: this.iconDataToSVG(js_1.mdiCircle, 'rgb(255, 152, 0)'),
|
|
48
|
+
// High severity; deep orange
|
|
49
|
+
circleHigh: this.iconDataToSVG(js_1.mdiCircle, 'rgb(255, 87, 34)'),
|
|
50
|
+
// Critical severity; red
|
|
51
|
+
circleCritical: this.iconDataToSVG(js_1.mdiCircle, 'rgb(244, 67, 54)'),
|
|
52
|
+
// Generic circle
|
|
53
|
+
circleWhite: this.iconDataToSVG(js_1.mdiCircle, 'rgb(0, 0, 0)')
|
|
54
|
+
};
|
|
55
|
+
// Default attributes
|
|
56
|
+
outputData = {
|
|
57
|
+
tailwindStyles: '',
|
|
58
|
+
tailwindElements: '',
|
|
59
|
+
// Used for profile status reporting
|
|
60
|
+
statistics: {
|
|
61
|
+
passed: 0,
|
|
62
|
+
failed: 0,
|
|
63
|
+
notApplicable: 0,
|
|
64
|
+
notReviewed: 0,
|
|
65
|
+
profileError: 0,
|
|
66
|
+
totalResults: 0,
|
|
67
|
+
passedTests: 0,
|
|
68
|
+
passingTestsFailedResult: 0,
|
|
69
|
+
failedTests: 0,
|
|
70
|
+
totalTests: 0
|
|
71
|
+
},
|
|
72
|
+
// Used for profile severity reporting
|
|
73
|
+
severity: {
|
|
74
|
+
none: 0,
|
|
75
|
+
low: 0,
|
|
76
|
+
medium: 0,
|
|
77
|
+
high: 0,
|
|
78
|
+
critical: 0
|
|
79
|
+
},
|
|
80
|
+
// Used for profile compliance reporting
|
|
81
|
+
compliance: {
|
|
82
|
+
level: '',
|
|
83
|
+
color: ''
|
|
84
|
+
},
|
|
85
|
+
files: [],
|
|
86
|
+
resultSets: [],
|
|
87
|
+
showResultSets: false,
|
|
88
|
+
showCode: false,
|
|
89
|
+
exportType: '',
|
|
90
|
+
// Series of icons used for profile-related detail reports
|
|
91
|
+
icons: {
|
|
92
|
+
// Passed
|
|
93
|
+
circleCheck: this.iconHTMLStore.circleCheck,
|
|
94
|
+
// Failed
|
|
95
|
+
circleCross: this.iconHTMLStore.circleCross,
|
|
96
|
+
// Not applicable
|
|
97
|
+
circleMinus: this.iconHTMLStore.circleMinus,
|
|
98
|
+
// Not reviewed
|
|
99
|
+
circleAlert: this.iconHTMLStore.circleAlert,
|
|
100
|
+
// Profile error
|
|
101
|
+
triangleAlert: this.iconHTMLStore.triangleAlert,
|
|
102
|
+
// Total count
|
|
103
|
+
squareEqual: this.iconHTMLStore.squareEqual,
|
|
104
|
+
// No severity
|
|
105
|
+
circleNone: this.iconHTMLStore.circleNone,
|
|
106
|
+
// Low severity
|
|
107
|
+
circleLow: this.iconHTMLStore.circleLow,
|
|
108
|
+
// Medium severity
|
|
109
|
+
circleMedium: this.iconHTMLStore.circleMedium,
|
|
110
|
+
// High severity
|
|
111
|
+
circleHigh: this.iconHTMLStore.circleHigh,
|
|
112
|
+
// Critical severity
|
|
113
|
+
circleCritical: this.iconHTMLStore.circleCritical
|
|
114
|
+
}
|
|
115
|
+
};
|
|
44
116
|
constructor(files, exportType) {
|
|
45
|
-
|
|
46
|
-
circleCheck: this.iconDataToSVG(js_1.mdiCheckCircle, 'rgb(76, 176, 79)'),
|
|
47
|
-
circleCross: this.iconDataToSVG(js_1.mdiCloseCircle, 'rgb(243, 67, 53)'),
|
|
48
|
-
circleMinus: this.iconDataToSVG(js_1.mdiMinusCircle, 'rgb(3, 169, 244)'),
|
|
49
|
-
circleAlert: this.iconDataToSVG(js_1.mdiAlertCircle, 'rgb(254, 153, 0)'),
|
|
50
|
-
triangleAlert: this.iconDataToSVG(js_1.mdiAlert, 'rgb(121, 134, 203)'),
|
|
51
|
-
squareEqual: this.iconDataToSVG(js_1.mdiEqualBox, 'black'),
|
|
52
|
-
circleNone: this.iconDataToSVG(js_1.mdiCircle, 'rgb(3, 169, 244)'),
|
|
53
|
-
circleLow: this.iconDataToSVG(js_1.mdiCircle, 'rgb(255, 235, 59)'),
|
|
54
|
-
circleMedium: this.iconDataToSVG(js_1.mdiCircle, 'rgb(255, 152, 0)'),
|
|
55
|
-
circleHigh: this.iconDataToSVG(js_1.mdiCircle, 'rgb(255, 87, 34)'),
|
|
56
|
-
circleCritical: this.iconDataToSVG(js_1.mdiCircle, 'rgb(244, 67, 54)'),
|
|
57
|
-
circleWhite: this.iconDataToSVG(js_1.mdiCircle, 'rgb(0, 0, 0)')
|
|
58
|
-
};
|
|
59
|
-
this.outputData = {
|
|
60
|
-
tailwindStyles: '',
|
|
61
|
-
tailwindElements: '',
|
|
62
|
-
statistics: {
|
|
63
|
-
passed: 0,
|
|
64
|
-
failed: 0,
|
|
65
|
-
notApplicable: 0,
|
|
66
|
-
notReviewed: 0,
|
|
67
|
-
profileError: 0,
|
|
68
|
-
totalResults: 0,
|
|
69
|
-
passedTests: 0,
|
|
70
|
-
passingTestsFailedResult: 0,
|
|
71
|
-
failedTests: 0,
|
|
72
|
-
totalTests: 0
|
|
73
|
-
},
|
|
74
|
-
severity: {
|
|
75
|
-
none: 0,
|
|
76
|
-
low: 0,
|
|
77
|
-
medium: 0,
|
|
78
|
-
high: 0,
|
|
79
|
-
critical: 0
|
|
80
|
-
},
|
|
81
|
-
compliance: {
|
|
82
|
-
level: '',
|
|
83
|
-
color: ''
|
|
84
|
-
},
|
|
85
|
-
files: [],
|
|
86
|
-
resultSets: [],
|
|
87
|
-
showResultSets: false,
|
|
88
|
-
showCode: false,
|
|
89
|
-
exportType: '',
|
|
90
|
-
icons: {
|
|
91
|
-
circleCheck: this.iconHTMLStore.circleCheck,
|
|
92
|
-
circleCross: this.iconHTMLStore.circleCross,
|
|
93
|
-
circleMinus: this.iconHTMLStore.circleMinus,
|
|
94
|
-
circleAlert: this.iconHTMLStore.circleAlert,
|
|
95
|
-
triangleAlert: this.iconHTMLStore.triangleAlert,
|
|
96
|
-
squareEqual: this.iconHTMLStore.squareEqual,
|
|
97
|
-
circleNone: this.iconHTMLStore.circleNone,
|
|
98
|
-
circleLow: this.iconHTMLStore.circleLow,
|
|
99
|
-
circleMedium: this.iconHTMLStore.circleMedium,
|
|
100
|
-
circleHigh: this.iconHTMLStore.circleHigh,
|
|
101
|
-
circleCritical: this.iconHTMLStore.circleCritical
|
|
102
|
-
}
|
|
103
|
-
};
|
|
117
|
+
// Set html element visibility based on export type
|
|
104
118
|
switch (exportType) {
|
|
105
119
|
case FileExportTypes.Executive:
|
|
106
120
|
this.outputData.showResultSets = false;
|
|
@@ -114,10 +128,13 @@ class FromHDFToHTMLMapper {
|
|
|
114
128
|
this.outputData.showResultSets = true;
|
|
115
129
|
this.outputData.showCode = true;
|
|
116
130
|
}
|
|
131
|
+
// Set default attribute values in preparation for value assignment
|
|
117
132
|
this.outputData.files = [];
|
|
118
133
|
this.outputData.resultSets = [];
|
|
134
|
+
// Fill out data template for html file using received hdf file(s)
|
|
119
135
|
for (const file of files) {
|
|
120
|
-
if
|
|
136
|
+
// Check if provided data is string typed
|
|
137
|
+
if (lodash_1.default.isString(file.data)) {
|
|
121
138
|
const contextualizedFile = (0, inspecjs_1.convertFileContextual)(file.data);
|
|
122
139
|
if (!(0, inspecjs_1.isContextualizedEvaluation)(contextualizedFile)) {
|
|
123
140
|
throw new Error('Input string was not an HDF ExecJSON');
|
|
@@ -132,14 +149,19 @@ class FromHDFToHTMLMapper {
|
|
|
132
149
|
}, exportType);
|
|
133
150
|
}
|
|
134
151
|
}
|
|
152
|
+
// Pulls and sets high level attributes of outputData object from file data
|
|
135
153
|
addFiledata(file, exportType) {
|
|
154
|
+
// Set file profile data
|
|
136
155
|
this.outputData.files.push({
|
|
137
156
|
filename: file.fileName,
|
|
138
|
-
toolVersion:
|
|
139
|
-
platform:
|
|
140
|
-
duration:
|
|
157
|
+
toolVersion: lodash_1.default.get(file.data, 'data.version'),
|
|
158
|
+
platform: lodash_1.default.get(file.data, 'data.platform.name'),
|
|
159
|
+
duration: lodash_1.default.get(file.data, 'data.statistics.duration')
|
|
141
160
|
});
|
|
161
|
+
// Set export type
|
|
162
|
+
// Controls what components are shown in HTML
|
|
142
163
|
this.outputData.exportType = exportType;
|
|
164
|
+
// Pull out results from file
|
|
143
165
|
const allResultLevels = [];
|
|
144
166
|
if (file.filteredControls === undefined) {
|
|
145
167
|
file.data.contains.map((profile) => {
|
|
@@ -151,7 +173,7 @@ class FromHDFToHTMLMapper {
|
|
|
151
173
|
else {
|
|
152
174
|
file.data.contains.flatMap((profile) => {
|
|
153
175
|
profile.contains.flatMap((result) => {
|
|
154
|
-
for (const element of file.filteredControls) {
|
|
176
|
+
for (const element of (file.filteredControls ?? [])) {
|
|
155
177
|
if (element === result.data.id) {
|
|
156
178
|
allResultLevels.push(result);
|
|
157
179
|
}
|
|
@@ -159,13 +181,17 @@ class FromHDFToHTMLMapper {
|
|
|
159
181
|
});
|
|
160
182
|
});
|
|
161
183
|
}
|
|
184
|
+
// Begin filling out outpuData object to pass into HTML template
|
|
185
|
+
// Set high level generalized profile details
|
|
162
186
|
this.addProfileDetails(allResultLevels);
|
|
187
|
+
// Set specific result details
|
|
163
188
|
this.outputData.resultSets.push({
|
|
164
189
|
filename: file.fileName,
|
|
165
190
|
fileID: file.fileID,
|
|
166
191
|
results: allResultLevels.map((result) => this.addResultDetails(result, allResultLevels.filter((searchingResult) => searchingResult.data.id === result.data.id)))
|
|
167
192
|
});
|
|
168
193
|
}
|
|
194
|
+
// Set attributes for high level generalized profile details
|
|
169
195
|
addProfileDetails(results) {
|
|
170
196
|
let passed = 0;
|
|
171
197
|
let failed = 0;
|
|
@@ -180,6 +206,7 @@ class FromHDFToHTMLMapper {
|
|
|
180
206
|
let passedTests = 0;
|
|
181
207
|
let failedTests = 0;
|
|
182
208
|
let passingTestsFailedResult = 0;
|
|
209
|
+
// Count out statuses and sub-statuses
|
|
183
210
|
for (const result of results) {
|
|
184
211
|
switch (result.root.hdf.status) {
|
|
185
212
|
case 'Passed':
|
|
@@ -200,6 +227,7 @@ class FromHDFToHTMLMapper {
|
|
|
200
227
|
case 'Profile Error':
|
|
201
228
|
profileError++;
|
|
202
229
|
}
|
|
230
|
+
// Count out severities
|
|
203
231
|
switch (result.root.hdf.severity) {
|
|
204
232
|
case 'none':
|
|
205
233
|
none++;
|
|
@@ -217,6 +245,7 @@ class FromHDFToHTMLMapper {
|
|
|
217
245
|
critical++;
|
|
218
246
|
}
|
|
219
247
|
}
|
|
248
|
+
// Set following attributes from existing file data
|
|
220
249
|
this.outputData.statistics = {
|
|
221
250
|
passed: this.outputData.statistics.passed + passed,
|
|
222
251
|
failed: this.outputData.statistics.failed + failed,
|
|
@@ -239,20 +268,29 @@ class FromHDFToHTMLMapper {
|
|
|
239
268
|
high: this.outputData.severity.high + high,
|
|
240
269
|
critical: this.outputData.severity.critical + critical
|
|
241
270
|
};
|
|
271
|
+
// Calculate & set compliance level and color from result statuses
|
|
272
|
+
// Set default compliance level and color
|
|
242
273
|
this.outputData.compliance.level = '0.00%';
|
|
243
274
|
this.outputData.compliance.color = 'low';
|
|
275
|
+
// If results exist, calculate compliance level
|
|
244
276
|
if (this.outputData.statistics.totalResults > 0) {
|
|
277
|
+
// Formula: compliance = Passed/(Passed + Failed + Not Reviewed + Profile Error) * 100
|
|
245
278
|
const complianceLevel = (0, compliance_1.formatCompliance)((this.outputData.statistics.passed /
|
|
246
279
|
(this.outputData.statistics.totalResults -
|
|
247
280
|
this.outputData.statistics.notApplicable)) *
|
|
248
281
|
100);
|
|
282
|
+
// Set compliance level
|
|
249
283
|
this.outputData.compliance.level = complianceLevel.includes('NaN')
|
|
250
284
|
? '0.00%'
|
|
251
285
|
: complianceLevel;
|
|
286
|
+
// Determine color of compliance level
|
|
287
|
+
// High compliance is green, medium is yellow, low is red
|
|
252
288
|
this.outputData.compliance.color = (0, compliance_1.translateCompliance)(complianceLevel);
|
|
253
289
|
}
|
|
254
290
|
}
|
|
291
|
+
// Sets attributes for each specific result
|
|
255
292
|
addResultDetails(result, resultLevels) {
|
|
293
|
+
// Check status of individual result to assign corresponding icon
|
|
256
294
|
let statusColor;
|
|
257
295
|
switch (result.root.hdf.status) {
|
|
258
296
|
case 'Passed':
|
|
@@ -273,7 +311,9 @@ class FromHDFToHTMLMapper {
|
|
|
273
311
|
default:
|
|
274
312
|
statusColor = this.iconHTMLStore.circleWhite;
|
|
275
313
|
}
|
|
276
|
-
|
|
314
|
+
// Severity is recorded as all lowercase by default; for aesthetic purposes, uppercase the first letter
|
|
315
|
+
const severity = lodash_1.default.capitalize(result.root.hdf.severity);
|
|
316
|
+
// Check severity of individual result to assign corresponding icon
|
|
277
317
|
let severityColor;
|
|
278
318
|
switch (result.root.hdf.severity) {
|
|
279
319
|
case 'none':
|
|
@@ -294,12 +334,15 @@ class FromHDFToHTMLMapper {
|
|
|
294
334
|
default:
|
|
295
335
|
severityColor = this.iconHTMLStore.circleWhite;
|
|
296
336
|
}
|
|
297
|
-
|
|
337
|
+
// Grab NIST & CCI controls
|
|
338
|
+
const allControls = [result.hdf.rawNistTags, result.hdf.wraps.tags.cci].filter(Boolean).flat();
|
|
339
|
+
// Remove `Rev_4` item and replace `unmapped` with proper `UM-1` naming
|
|
298
340
|
const filteredControls = allControls
|
|
299
341
|
.map((control) => (control === 'unmapped' ? 'UM-1' : control))
|
|
300
342
|
.filter((control) => control !== 'Rev_4');
|
|
343
|
+
// Assign attributes
|
|
301
344
|
return {
|
|
302
|
-
...
|
|
345
|
+
...lodash_1.default.set(result, 'hdf.segments', [].concat.apply([], resultLevels.map((resultLevel) => resultLevel.hdf.segments || []))),
|
|
303
346
|
full_code: result.full_code,
|
|
304
347
|
details: [
|
|
305
348
|
{
|
|
@@ -346,7 +389,7 @@ class FromHDFToHTMLMapper {
|
|
|
346
389
|
name: 'Fix Text',
|
|
347
390
|
value: result.hdf.descriptions.fix || result.data.tags.fix
|
|
348
391
|
}
|
|
349
|
-
].filter((v) => v.value),
|
|
392
|
+
].filter((v) => v.value).map((s) => ({ ...s, value: (0, sanitize_html_1.default)(s.value, { disallowedTagsMode: "escape" }) })),
|
|
350
393
|
resultID: this.replaceIllegalCharacters(result.hdf.wraps.id),
|
|
351
394
|
resultStatus: {
|
|
352
395
|
status: result.root.hdf.status,
|
|
@@ -359,34 +402,35 @@ class FromHDFToHTMLMapper {
|
|
|
359
402
|
controlTags: filteredControls
|
|
360
403
|
};
|
|
361
404
|
}
|
|
405
|
+
// Generate SVG HTML for icons for injection into export template
|
|
362
406
|
iconDataToSVG(iconData, fill, widthPx = 24, heightPx = 24, description) {
|
|
363
407
|
let imgLabel;
|
|
408
|
+
// Check if description is included in function call
|
|
409
|
+
// If so, include description as title/aria-label
|
|
364
410
|
if (description) {
|
|
365
411
|
imgLabel = `title="${description}" aria-label="${description}"`;
|
|
412
|
+
// Else hide aria
|
|
366
413
|
}
|
|
367
414
|
else {
|
|
368
415
|
imgLabel = `aria-hidden="true"`;
|
|
369
416
|
}
|
|
370
417
|
return `<svg style="width:${widthPx}px; height:${heightPx}px" viewBox="0 0 ${widthPx} ${heightPx}" role="img" ${imgLabel}><path fill="${fill}" d="${iconData}"/></svg>`;
|
|
371
418
|
}
|
|
419
|
+
// Replace all found illegal characters in string with compliant string equivalent
|
|
372
420
|
replaceIllegalCharacters(text) {
|
|
373
421
|
for (const illegalCharacter of ILLEGAL_CHARACTER_SET) {
|
|
374
422
|
text = text.replace(new RegExp(`${illegalCharacter[0]}`, 'g'), illegalCharacter[1]);
|
|
375
423
|
}
|
|
376
424
|
return text;
|
|
377
425
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
const
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
]);
|
|
387
|
-
const template = responses[0].data;
|
|
388
|
-
this.outputData.tailwindStyles = responses[1].data;
|
|
389
|
-
this.outputData.tailwindElements = responses[2].data.replace('//# sourceMappingURL=tw-elements.umd.min.js.map', '');
|
|
426
|
+
// Prompt HTML generation from data pulled from file during constructor initialization
|
|
427
|
+
async toHTML() {
|
|
428
|
+
// Pull export template + styles and create outputData object containing data to fill template with
|
|
429
|
+
const template = embedded_assets_1.html;
|
|
430
|
+
this.outputData.tailwindStyles = embedded_assets_1.css;
|
|
431
|
+
// Remove source map reference in TW Elements library
|
|
432
|
+
this.outputData.tailwindElements = embedded_assets_1.js.replace('//# sourceMappingURL=tw-elements.umd.min.js.map', '');
|
|
433
|
+
// Render template and return generated HTML file
|
|
390
434
|
return mustache_1.default.render(template, this.outputData);
|
|
391
435
|
}
|
|
392
436
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverse-html-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/html/reverse-html-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reverse-html-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/html/reverse-html-mapper.ts"],"names":[],"mappings":";;;;;;AAAA,gCAQiB;AACjB,uCAMkB;AAClB,oDAAuB;AACvB,wDAAgC;AAChC,kEAAqC;AACrC,uDAA6E;AAC7E,uDAAgD;AAsBhD,iDAAiD;AACjD,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,sCAAmB,CAAA;IACnB,kDAA+B,CAAA;AACjC,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAED,iEAAiE;AACjE,6EAA6E;AAC7E,mBAAmB;AACnB,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;AAExD,MAAa,mBAAmB;IAC9B,sCAAsC;IACtC,uHAAuH;IACvH,0EAA0E;IAClE,aAAa,GAAG;QACtB,gBAAgB;QAChB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAc,EAAE,kBAAkB,CAAC;QACnE,cAAc;QACd,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAc,EAAE,kBAAkB,CAAC;QACnE,uBAAuB;QACvB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAc,EAAE,kBAAkB,CAAC;QACnE,uBAAuB;QACvB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAc,EAAE,kBAAkB,CAAC;QACnE,wBAAwB;QACxB,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,aAAQ,EAAE,oBAAoB,CAAC;QACjE,qBAAqB;QACrB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAW,EAAE,OAAO,CAAC;QACrD,oBAAoB;QACpB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,cAAS,EAAE,kBAAkB,CAAC;QAC7D,uBAAuB;QACvB,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,cAAS,EAAE,mBAAmB,CAAC;QAC7D,0BAA0B;QAC1B,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,cAAS,EAAE,kBAAkB,CAAC;QAC/D,6BAA6B;QAC7B,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,cAAS,EAAE,kBAAkB,CAAC;QAC7D,yBAAyB;QACzB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,cAAS,EAAE,kBAAkB,CAAC;QACjE,iBAAiB;QACjB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,cAAS,EAAE,cAAc,CAAC;KAC3D,CAAC;IAEF,qBAAqB;IACrB,UAAU,GAAgB;QACxB,cAAc,EAAE,EAAE;QAClB,gBAAgB,EAAE,EAAE;QACpB,oCAAoC;QACpC,UAAU,EAAE;YACV,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,wBAAwB,EAAE,CAAC;YAC3B,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;SACd;QACD,sCAAsC;QACtC,QAAQ,EAAE;YACR,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,CAAC;SACZ;QACD,wCAAwC;QACxC,UAAU,EAAE;YACV,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACV;QACD,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;QACd,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,EAAE;QACd,0DAA0D;QAC1D,KAAK,EAAE;YACL,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW;YAC3C,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW;YAC3C,iBAAiB;YACjB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW;YAC3C,eAAe;YACf,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW;YAC3C,gBAAgB;YAChB,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa;YAC/C,cAAc;YACd,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW;YAC3C,cAAc;YACd,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU;YACzC,eAAe;YACf,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS;YACvC,kBAAkB;YAClB,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY;YAC7C,gBAAgB;YAChB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU;YACzC,oBAAoB;YACpB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc;SAClD;KACF,CAAC;IAEF,YAAY,KAAkB,EAAE,UAA2B;QACzD,mDAAmD;QACnD,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,eAAe,CAAC,SAAS;gBAC5B,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACjC,MAAM;YACR,KAAK,eAAe,CAAC,OAAO;gBAC1B,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACjC,MAAM;YACR,KAAK,eAAe,CAAC,aAAa;gBAChC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpC,CAAC;QAED,mEAAmE;QACnE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;QAEhC,kEAAkE;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,yCAAyC;YACzC,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,kBAAkB,GAAG,IAAA,gCAAqB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5D,IAAI,CAAC,IAAA,qCAA0B,EAAC,kBAAkB,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;YACjC,CAAC;YAED,IAAI,CAAC,WAAW,CACd;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,EACD,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,WAAW,CAAC,IAAmB,EAAE,UAA2B;QAC1D,wBAAwB;QACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,gBAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAsB;YAClE,QAAQ,EAAE,gBAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAsB;YACrE,QAAQ,EAAE,gBAAC,CAAC,GAAG,CACb,IAAI,CAAC,IAAI,EACT,0BAA0B,CACN;SACvB,CAAC,CAAC;QAEH,kBAAkB;QAClB,6CAA6C;QAC7C,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;QAExC,6BAA6B;QAC7B,MAAM,eAAe,GAA4B,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC9B,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;oBAClC,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,CAAC;wBACpD,IAAI,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;4BAC/B,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,6CAA6C;QAC7C,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAExC,8BAA8B;QAC9B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACtC,IAAI,CAAC,gBAAgB,CACnB,MAAM,EACN,eAAe,CAAC,MAAM,CACpB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAChE,CACF,CACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,iBAAiB,CAAC,OAAgC;QAChD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,wBAAwB,GAAG,CAAC,CAAC;QACjC,sCAAsC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,KAAK,QAAQ;oBACX,MAAM,EAAE,CAAC;oBACT,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;oBACvD,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,EAAE,CAAC;oBACT,wBAAwB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CACjE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAC7C,CAAC,MAAM,CAAC;oBACT,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAC7C,CAAC,MAAM,CAAC;oBACT,MAAM;gBACR,KAAK,gBAAgB;oBACnB,aAAa,EAAE,CAAC;oBAChB,MAAM;gBACR,KAAK,cAAc;oBACjB,WAAW,EAAE,CAAC;oBACd,MAAM;gBACR,KAAK,eAAe;oBAClB,YAAY,EAAE,CAAC;YACnB,CAAC;YACD,uBAAuB;YACvB,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,KAAK,MAAM;oBACT,IAAI,EAAE,CAAC;oBACP,MAAM;gBACR,KAAK,KAAK;oBACR,GAAG,EAAE,CAAC;oBACN,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,EAAE,CAAC;oBACT,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,EAAE,CAAC;oBACP,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,EAAE,CAAC;YACf,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG;YAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM;YAClD,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM;YAClD,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,GAAG,aAAa;YACvE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,GAAG,WAAW;YACjE,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,GAAG,YAAY;YACpE,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM;YACtE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,GAAG,WAAW;YACjE,wBAAwB,EACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,wBAAwB;gBACnD,wBAAwB;YAC1B,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,GAAG,WAAW;YACjE,UAAU,EACR,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU;gBACrC,wBAAwB;gBACxB,WAAW;SACd,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG;YACzB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI;YAC1C,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG;YACvC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM;YAChD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI;YAC1C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ;SACvD,CAAC;QAEF,kEAAkE;QAClE,yCAAyC;QACzC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAEzC,+CAA+C;QAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAChD,sFAAsF;YACtF,MAAM,eAAe,GAAG,IAAA,6BAAgB,EACtC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM;gBAChC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY;oBACtC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAC5C,GAAG,CACN,CAAC;YACF,uBAAuB;YACvB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAChE,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,eAAe,CAAC;YACpB,sCAAsC;YACtC,yDAAyD;YACzD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,GAAG,IAAA,gCAAmB,EAAC,eAAe,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,gBAAgB,CACd,MAA6B,EAC7B,YAAqC;QAIrC,iEAAiE;QACjE,IAAI,WAAW,CAAC;QAChB,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,KAAK,QAAQ;gBACX,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC7C,MAAM;YACR,KAAK,QAAQ;gBACX,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC7C,MAAM;YACR,KAAK,gBAAgB;gBACnB,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC7C,MAAM;YACR,KAAK,cAAc;gBACjB,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC7C,MAAM;YACR,KAAK,eAAe;gBAClB,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;gBAC/C,MAAM;YACR;gBACE,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QACjD,CAAC;QAED,uGAAuG;QACvG,MAAM,QAAQ,GAAG,gBAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,mEAAmE;QACnE,IAAI,aAAa,CAAC;QAClB,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,MAAM;gBACT,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;gBAC9C,MAAM;YACR,KAAK,KAAK;gBACR,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC7C,MAAM;YACR,KAAK,QAAQ;gBACX,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBAChD,MAAM;YACR,KAAK,MAAM;gBACT,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;gBAC9C,MAAM;YACR,KAAK,UAAU;gBACb,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;gBAClD,MAAM;YACR;gBACE,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QACnD,CAAC;QAED,2BAA2B;QAC3B,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/F,uEAAuE;QACvE,MAAM,gBAAgB,GAAG,WAAW;aACjC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC7D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QAE5C,oBAAoB;QACpB,OAAO;YACL,GAAG,gBAAC,CAAC,GAAG,CACN,MAAM,EACN,cAAc,EACb,EAA0B,CAAC,MAAM,CAAC,KAAK,CACtC,EAAE,EACF,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAClE,CACF;YACD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;iBACtB;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;iBACzB;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM;iBACtC;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;iBACxB;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS;iBACzC;gBACD;oBACE,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa;iBAC7C;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ;iBAChC;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;iBAC1B;gBACD;oBACE,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;iBACzC;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;iBAC/D;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBAC3D;aACF,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAA,uBAAQ,EAAC,CAAC,CAAC,KAAK,EAAE,EAAC,kBAAkB,EAAE,QAAQ,EAAC,CAAC,EAAC,CAAC,CAAC;YACvG,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,YAAY,EAAE;gBACZ,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;gBAC9B,IAAI,EAAE,WAAW;aAClB;YACD,cAAc,EAAE;gBACd,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,aAAa;aACpB;YACD,WAAW,EAAE,gBAAgB;SAC9B,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,aAAa,CACX,QAAgB,EAChB,IAAY,EACZ,OAAO,GAAG,EAAE,EACZ,QAAQ,GAAG,EAAE,EACb,WAAoB;QAEpB,IAAI,QAAQ,CAAC;QACb,oDAAoD;QACpD,iDAAiD;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,GAAG,UAAU,WAAW,iBAAiB,WAAW,GAAG,CAAC;YAChE,iBAAiB;QACnB,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,oBAAoB,CAAC;QAClC,CAAC;QACD,OAAO,qBAAqB,OAAO,cAAc,QAAQ,oBAAoB,OAAO,IAAI,QAAQ,gBAAgB,QAAQ,gBAAgB,IAAI,QAAQ,QAAQ,WAAW,CAAC;IAC1K,CAAC;IAED,kFAAkF;IAClF,wBAAwB,CAAC,IAAY;QACnC,KAAK,MAAM,gBAAgB,IAAI,qBAAqB,EAAE,CAAC;YACrD,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EACzC,gBAAgB,CAAC,CAAC,CAAC,CACpB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,MAAM;QACV,mGAAmG;QACnG,MAAM,QAAQ,GAAG,sBAAI,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,qBAAG,CAAC;QACrC,qDAAqD;QACrD,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,oBAAE,CAAC,OAAO,CAC3C,iDAAiD,EACjD,EAAE,CACH,CAAC;QACF,iDAAiD;QACjD,OAAO,kBAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CACF;AA3dD,kDA2dC","sourcesContent":["import {\n mdiAlert,\n mdiAlertCircle,\n mdiCheckCircle,\n mdiCircle,\n mdiCloseCircle,\n mdiEqualBox,\n mdiMinusCircle\n} from '@mdi/js';\nimport {\n ContextualizedControl,\n ContextualizedEvaluation,\n convertFileContextual,\n HDFControlSegment,\n isContextualizedEvaluation\n} from 'inspecjs';\nimport _ from 'lodash';\nimport Mustache from 'mustache';\nimport sanitize from 'sanitize-html';\nimport {formatCompliance, translateCompliance} from '../../utils/compliance';\nimport {html, js, css} from './embedded-assets';\nimport {\n IDetail,\n IOutputData,\n IResultSeverity,\n IResultStatus\n} from './html-types';\n\ntype InputData = {\n data: ContextualizedEvaluation | string;\n fileName: string;\n fileID: string;\n filteredControls?: string[];\n};\n\ntype ProcessedData = {\n data: ContextualizedEvaluation;\n fileName: string;\n fileID: string;\n filteredControls?: string[];\n};\n\n// All selectable export types for an HTML export\nexport enum FileExportTypes {\n Executive = 'Executive',\n Manager = 'Manager',\n Administrator = 'Administrator'\n}\n\n// Illegal characters which are not accepted by HTML id attribute\n// Generally includes everything that is not alphanumeric or characters [-,_]\n// Expand as needed\nconst ILLEGAL_CHARACTER_SET = [['\\\\.', '___PERIOD___']];\n\nexport class FromHDFToHTMLMapper {\n // Generated injectable HTML for icons\n // NOTE: Icons colors should align with Vue colors used in general dashboard from apps/frontend/src/store/color_hack.ts\n // ARIA NOTE: Since icons are supplementary, descriptions are not required\n private iconHTMLStore = {\n // Passed; green\n circleCheck: this.iconDataToSVG(mdiCheckCircle, 'rgb(76, 176, 79)'),\n // Failed; red\n circleCross: this.iconDataToSVG(mdiCloseCircle, 'rgb(243, 67, 53)'),\n // Not applicable; blue\n circleMinus: this.iconDataToSVG(mdiMinusCircle, 'rgb(3, 169, 244)'),\n // Not reviewed; yellow\n circleAlert: this.iconDataToSVG(mdiAlertCircle, 'rgb(254, 153, 0)'),\n // Profile error; purple\n triangleAlert: this.iconDataToSVG(mdiAlert, 'rgb(121, 134, 203)'),\n // Total count; black\n squareEqual: this.iconDataToSVG(mdiEqualBox, 'black'),\n // No severity; blue\n circleNone: this.iconDataToSVG(mdiCircle, 'rgb(3, 169, 244)'),\n // Low severity; yellow\n circleLow: this.iconDataToSVG(mdiCircle, 'rgb(255, 235, 59)'),\n // Medium severity; orange\n circleMedium: this.iconDataToSVG(mdiCircle, 'rgb(255, 152, 0)'),\n // High severity; deep orange\n circleHigh: this.iconDataToSVG(mdiCircle, 'rgb(255, 87, 34)'),\n // Critical severity; red\n circleCritical: this.iconDataToSVG(mdiCircle, 'rgb(244, 67, 54)'),\n // Generic circle\n circleWhite: this.iconDataToSVG(mdiCircle, 'rgb(0, 0, 0)')\n };\n\n // Default attributes\n outputData: IOutputData = {\n tailwindStyles: '',\n tailwindElements: '',\n // Used for profile status reporting\n statistics: {\n passed: 0,\n failed: 0,\n notApplicable: 0,\n notReviewed: 0,\n profileError: 0,\n totalResults: 0,\n passedTests: 0,\n passingTestsFailedResult: 0,\n failedTests: 0,\n totalTests: 0\n },\n // Used for profile severity reporting\n severity: {\n none: 0,\n low: 0,\n medium: 0,\n high: 0,\n critical: 0\n },\n // Used for profile compliance reporting\n compliance: {\n level: '',\n color: ''\n },\n files: [],\n resultSets: [],\n showResultSets: false,\n showCode: false,\n exportType: '',\n // Series of icons used for profile-related detail reports\n icons: {\n // Passed\n circleCheck: this.iconHTMLStore.circleCheck,\n // Failed\n circleCross: this.iconHTMLStore.circleCross,\n // Not applicable\n circleMinus: this.iconHTMLStore.circleMinus,\n // Not reviewed\n circleAlert: this.iconHTMLStore.circleAlert,\n // Profile error\n triangleAlert: this.iconHTMLStore.triangleAlert,\n // Total count\n squareEqual: this.iconHTMLStore.squareEqual,\n // No severity\n circleNone: this.iconHTMLStore.circleNone,\n // Low severity\n circleLow: this.iconHTMLStore.circleLow,\n // Medium severity\n circleMedium: this.iconHTMLStore.circleMedium,\n // High severity\n circleHigh: this.iconHTMLStore.circleHigh,\n // Critical severity\n circleCritical: this.iconHTMLStore.circleCritical\n }\n };\n\n constructor(files: InputData[], exportType: FileExportTypes) {\n // Set html element visibility based on export type\n switch (exportType) {\n case FileExportTypes.Executive:\n this.outputData.showResultSets = false;\n this.outputData.showCode = false;\n break;\n case FileExportTypes.Manager:\n this.outputData.showResultSets = true;\n this.outputData.showCode = false;\n break;\n case FileExportTypes.Administrator:\n this.outputData.showResultSets = true;\n this.outputData.showCode = true;\n }\n\n // Set default attribute values in preparation for value assignment\n this.outputData.files = [];\n this.outputData.resultSets = [];\n\n // Fill out data template for html file using received hdf file(s)\n for (const file of files) {\n // Check if provided data is string typed\n if (_.isString(file.data)) {\n const contextualizedFile = convertFileContextual(file.data);\n if (!isContextualizedEvaluation(contextualizedFile)) {\n throw new Error('Input string was not an HDF ExecJSON');\n }\n file.data = contextualizedFile;\n }\n\n this.addFiledata(\n {\n data: file.data,\n fileName: file.fileName,\n fileID: file.fileID,\n filteredControls: file.filteredControls\n },\n exportType\n );\n }\n }\n\n // Pulls and sets high level attributes of outputData object from file data\n addFiledata(file: ProcessedData, exportType: FileExportTypes) {\n // Set file profile data\n this.outputData.files.push({\n filename: file.fileName,\n toolVersion: _.get(file.data, 'data.version') as unknown as string,\n platform: _.get(file.data, 'data.platform.name') as unknown as string,\n duration: _.get(\n file.data,\n 'data.statistics.duration'\n ) as unknown as string\n });\n\n // Set export type\n // Controls what components are shown in HTML\n this.outputData.exportType = exportType;\n\n // Pull out results from file\n const allResultLevels: ContextualizedControl[] = [];\n if (file.filteredControls === undefined) {\n file.data.contains.map((profile) => {\n profile.contains.map((result) => {\n allResultLevels.push(result);\n });\n });\n } else {\n file.data.contains.flatMap((profile) => {\n profile.contains.flatMap((result) => {\n for (const element of (file.filteredControls ?? [])) {\n if (element === result.data.id) {\n allResultLevels.push(result);\n }\n }\n });\n });\n }\n\n // Begin filling out outpuData object to pass into HTML template\n // Set high level generalized profile details\n this.addProfileDetails(allResultLevels);\n\n // Set specific result details\n this.outputData.resultSets.push({\n filename: file.fileName,\n fileID: file.fileID,\n results: allResultLevels.map((result) =>\n this.addResultDetails(\n result,\n allResultLevels.filter(\n (searchingResult) => searchingResult.data.id === result.data.id\n )\n )\n )\n });\n }\n\n // Set attributes for high level generalized profile details\n addProfileDetails(results: ContextualizedControl[]) {\n let passed = 0;\n let failed = 0;\n let notApplicable = 0;\n let notReviewed = 0;\n let profileError = 0;\n let none = 0;\n let low = 0;\n let medium = 0;\n let high = 0;\n let critical = 0;\n let passedTests = 0;\n let failedTests = 0;\n let passingTestsFailedResult = 0;\n // Count out statuses and sub-statuses\n for (const result of results) {\n switch (result.root.hdf.status) {\n case 'Passed':\n passed++;\n passedTests += (result.root.hdf.segments || []).length;\n break;\n case 'Failed':\n failed++;\n passingTestsFailedResult += (result.root.hdf.segments || []).filter(\n (subStatus) => subStatus.status === 'passed'\n ).length;\n failedTests += (result.root.hdf.segments || []).filter(\n (subStatus) => subStatus.status === 'failed'\n ).length;\n break;\n case 'Not Applicable':\n notApplicable++;\n break;\n case 'Not Reviewed':\n notReviewed++;\n break;\n case 'Profile Error':\n profileError++;\n }\n // Count out severities\n switch (result.root.hdf.severity) {\n case 'none':\n none++;\n break;\n case 'low':\n low++;\n break;\n case 'medium':\n medium++;\n break;\n case 'high':\n high++;\n break;\n case 'critical':\n critical++;\n }\n }\n\n // Set following attributes from existing file data\n this.outputData.statistics = {\n passed: this.outputData.statistics.passed + passed,\n failed: this.outputData.statistics.failed + failed,\n notApplicable: this.outputData.statistics.notApplicable + notApplicable,\n notReviewed: this.outputData.statistics.notReviewed + notReviewed,\n profileError: this.outputData.statistics.profileError + profileError,\n totalResults: this.outputData.statistics.totalResults + results.length,\n passedTests: this.outputData.statistics.passedTests + passedTests,\n passingTestsFailedResult:\n this.outputData.statistics.passingTestsFailedResult +\n passingTestsFailedResult,\n failedTests: this.outputData.statistics.failedTests + failedTests,\n totalTests:\n this.outputData.statistics.totalTests +\n passingTestsFailedResult +\n failedTests\n };\n this.outputData.severity = {\n none: this.outputData.severity.none + none,\n low: this.outputData.severity.low + low,\n medium: this.outputData.severity.medium + medium,\n high: this.outputData.severity.high + high,\n critical: this.outputData.severity.critical + critical\n };\n\n // Calculate & set compliance level and color from result statuses\n // Set default compliance level and color\n this.outputData.compliance.level = '0.00%';\n this.outputData.compliance.color = 'low';\n\n // If results exist, calculate compliance level\n if (this.outputData.statistics.totalResults > 0) {\n // Formula: compliance = Passed/(Passed + Failed + Not Reviewed + Profile Error) * 100\n const complianceLevel = formatCompliance(\n (this.outputData.statistics.passed /\n (this.outputData.statistics.totalResults -\n this.outputData.statistics.notApplicable)) *\n 100\n );\n // Set compliance level\n this.outputData.compliance.level = complianceLevel.includes('NaN')\n ? '0.00%'\n : complianceLevel;\n // Determine color of compliance level\n // High compliance is green, medium is yellow, low is red\n this.outputData.compliance.color = translateCompliance(complianceLevel);\n }\n }\n\n // Sets attributes for each specific result\n addResultDetails(\n result: ContextualizedControl,\n resultLevels: ContextualizedControl[]\n ): ContextualizedControl & {details: IDetail[]} & {resultID: string} & {\n resultStatus: IResultStatus;\n } & {resultSeverity: IResultSeverity} & {controlTags: string[]} {\n // Check status of individual result to assign corresponding icon\n let statusColor;\n switch (result.root.hdf.status) {\n case 'Passed':\n statusColor = this.iconHTMLStore.circleCheck;\n break;\n case 'Failed':\n statusColor = this.iconHTMLStore.circleCross;\n break;\n case 'Not Applicable':\n statusColor = this.iconHTMLStore.circleMinus;\n break;\n case 'Not Reviewed':\n statusColor = this.iconHTMLStore.circleAlert;\n break;\n case 'Profile Error':\n statusColor = this.iconHTMLStore.triangleAlert;\n break;\n default:\n statusColor = this.iconHTMLStore.circleWhite;\n }\n\n // Severity is recorded as all lowercase by default; for aesthetic purposes, uppercase the first letter\n const severity = _.capitalize(result.root.hdf.severity);\n // Check severity of individual result to assign corresponding icon\n let severityColor;\n switch (result.root.hdf.severity) {\n case 'none':\n severityColor = this.iconHTMLStore.circleNone;\n break;\n case 'low':\n severityColor = this.iconHTMLStore.circleLow;\n break;\n case 'medium':\n severityColor = this.iconHTMLStore.circleMedium;\n break;\n case 'high':\n severityColor = this.iconHTMLStore.circleHigh;\n break;\n case 'critical':\n severityColor = this.iconHTMLStore.circleCritical;\n break;\n default:\n severityColor = this.iconHTMLStore.circleWhite;\n }\n\n // Grab NIST & CCI controls\n const allControls = [result.hdf.rawNistTags, result.hdf.wraps.tags.cci].filter(Boolean).flat();\n // Remove `Rev_4` item and replace `unmapped` with proper `UM-1` naming\n const filteredControls = allControls\n .map((control) => (control === 'unmapped' ? 'UM-1' : control))\n .filter((control) => control !== 'Rev_4');\n\n // Assign attributes\n return {\n ..._.set(\n result,\n 'hdf.segments',\n ([] as HDFControlSegment[]).concat.apply(\n [],\n resultLevels.map((resultLevel) => resultLevel.hdf.segments || [])\n )\n ),\n full_code: result.full_code,\n details: [\n {\n name: 'Control',\n value: result.data.id\n },\n {\n name: 'Title',\n value: result.data.title\n },\n {\n name: 'Caveat',\n value: result.hdf.descriptions.caveat\n },\n {\n name: 'Desc',\n value: result.data.desc\n },\n {\n name: 'Rationale',\n value: result.hdf.descriptions.rationale\n },\n {\n name: 'Justification',\n value: result.hdf.descriptions.justification\n },\n {\n name: 'Severity',\n value: result.root.hdf.severity\n },\n {\n name: 'Impact',\n value: result.data.impact\n },\n {\n name: 'Nist Controls',\n value: result.hdf.rawNistTags.join(', ')\n },\n {\n name: 'Check Text',\n value: result.hdf.descriptions.check || result.data.tags.check\n },\n {\n name: 'Fix Text',\n value: result.hdf.descriptions.fix || result.data.tags.fix\n }\n ].filter((v) => v.value).map((s) => ({...s, value: sanitize(s.value, {disallowedTagsMode: \"escape\"})})),\n resultID: this.replaceIllegalCharacters(result.hdf.wraps.id),\n resultStatus: {\n status: result.root.hdf.status,\n icon: statusColor\n },\n resultSeverity: {\n severity: severity,\n icon: severityColor\n },\n controlTags: filteredControls\n };\n }\n\n // Generate SVG HTML for icons for injection into export template\n iconDataToSVG(\n iconData: string,\n fill: string,\n widthPx = 24,\n heightPx = 24,\n description?: string\n ): string {\n let imgLabel;\n // Check if description is included in function call\n // If so, include description as title/aria-label\n if (description) {\n imgLabel = `title=\"${description}\" aria-label=\"${description}\"`;\n // Else hide aria\n } else {\n imgLabel = `aria-hidden=\"true\"`;\n }\n return `<svg style=\"width:${widthPx}px; height:${heightPx}px\" viewBox=\"0 0 ${widthPx} ${heightPx}\" role=\"img\" ${imgLabel}><path fill=\"${fill}\" d=\"${iconData}\"/></svg>`;\n }\n\n // Replace all found illegal characters in string with compliant string equivalent\n replaceIllegalCharacters(text: string): string {\n for (const illegalCharacter of ILLEGAL_CHARACTER_SET) {\n text = text.replace(\n new RegExp(`${illegalCharacter[0]}`, 'g'),\n illegalCharacter[1]\n );\n }\n return text;\n }\n\n // Prompt HTML generation from data pulled from file during constructor initialization\n async toHTML(): Promise<string> {\n // Pull export template + styles and create outputData object containing data to fill template with\n const template = html;\n this.outputData.tailwindStyles = css;\n // Remove source map reference in TW Elements library\n this.outputData.tailwindElements = js.replace(\n '//# sourceMappingURL=tw-elements.umd.min.js.map',\n ''\n );\n // Render template and return generated HTML file\n return Mustache.render(template, this.outputData);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse-any-base-converter.d.ts","sourceRoot":"","sources":["../../../src/converters-from-hdf/reverse-any-base-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAG7E,qBAAa,oBAAqB,SAAQ,oBAAoB;IACpD,IAAI,EAAE,GAAG,CAAC;gBAEN,IAAI,EAAE,GAAG,EAAE,eAAe,UAAQ;IAK9C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;IAO5E,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EACnC,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,GAChC;SAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;KAAC;CAKvB"}
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FromAnyBaseConverter = void 0;
|
|
4
4
|
const reverse_base_converter_1 = require("./reverse-base-converter");
|
|
5
|
+
// Base converter used to support conversions from HDF to Any Format
|
|
5
6
|
class FromAnyBaseConverter extends reverse_base_converter_1.FromHdfBaseConverter {
|
|
6
7
|
constructor(data, collapseResults = false) {
|
|
7
8
|
super(data, collapseResults);
|
|
8
9
|
}
|
|
10
|
+
// Called over and over to iterate through objects assigned to keys too
|
|
9
11
|
convertInternal(file, fields) {
|
|
10
12
|
return this.objectMap(fields, (v) => this.evaluate(file, v));
|
|
11
13
|
}
|
|
14
|
+
// Preforms fn() on all entries inside the passed obj
|
|
12
15
|
objectMap(obj, fn) {
|
|
13
16
|
return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k, fn(v)]));
|
|
14
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverse-any-base-converter.js","sourceRoot":"","sources":["../../../src/converters-from-hdf/reverse-any-base-converter.ts"],"names":[],"mappings":";;;AACA,qEAA6E;
|
|
1
|
+
{"version":3,"file":"reverse-any-base-converter.js","sourceRoot":"","sources":["../../../src/converters-from-hdf/reverse-any-base-converter.ts"],"names":[],"mappings":";;;AACA,qEAA6E;AAE7E,oEAAoE;AACpE,MAAa,oBAAqB,SAAQ,6CAAoB;IAG5D,YAAY,IAAS,EAAE,eAAe,GAAG,KAAK;QAC5C,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC/B,CAAC;IAED,uEAAuE;IACvE,eAAe,CAAC,IAAY,EAAE,MAAW;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAwB,EAAE,EAAE,CACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CACvB,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,SAAS,CACP,GAAM,EACN,EAAiC;QAEjC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAwB,CAAC,CAAC,CAAC,CACjD,CAAC;IAC1B,CAAC;CACF;AAvBD,oDAuBC","sourcesContent":["import {MappedReform, ObjectEntryValue} from '../base-converter';\nimport {FromHdfBaseConverter, ILookupPathFH} from './reverse-base-converter';\n\n// Base converter used to support conversions from HDF to Any Format\nexport class FromAnyBaseConverter extends FromHdfBaseConverter {\n declare data: any;\n\n constructor(data: any, collapseResults = false) {\n super(data, collapseResults);\n }\n\n // Called over and over to iterate through objects assigned to keys too\n convertInternal(file: object, fields: any): MappedReform<any, ILookupPathFH> {\n return this.objectMap(fields, (v: ObjectEntryValue<any>) =>\n this.evaluate(file, v)\n );\n }\n\n // Preforms fn() on all entries inside the passed obj\n objectMap<T extends Array<unknown>, V>(\n obj: T,\n fn: (v: ObjectEntryValue<T>) => V\n ): {[K in keyof T]: V} {\n return Object.fromEntries(\n Object.entries(obj).map(([k, v]) => [k, fn(v as ObjectEntryValue<T>)])\n ) as Record<keyof T, V>;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse-base-converter.d.ts","sourceRoot":"","sources":["../../../src/converters-from-hdf/reverse-base-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAElC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC;IACrD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAGD,qBAAa,oBAAoB;IAC/B,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/C,eAAe,EAAE,OAAO,CAAC;gBAEb,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,UAAQ;IAK7D,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,IAAI;IAKhE,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,aAAa,CAAC;IAQ3E,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EACnC,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,GAChC;SAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;KAAC;IAOtB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,aAAa,EACvC,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GACd,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,aAAa,CAAC;IAsChD,WAAW,CAAC,CAAC,SAAS,aAAa,EACjC,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC,GAC1B,KAAK,CAAC,CAAC,CAAC;IAmDX,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAO/C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;CAO7C"}
|