@mitre/hdf-converters 2.12.6 → 2.14.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 +21 -42
- 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 +11 -2
- package/lib/src/base-converter.d.ts.map +1 -0
- package/lib/src/base-converter.js +55 -27
- 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 +156 -125
- 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 +72 -84
- 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 +5 -3
- package/lib/src/nessus-mapper.d.ts.map +1 -0
- package/lib/src/nessus-mapper.js +135 -108
- 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 +21 -42
- 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;IAkD5D,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,40 +149,36 @@ 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;
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
file.data.contains.flatMap((profile) => {
|
|
153
|
-
profile.contains.flatMap((result) => {
|
|
154
|
-
for (const element of file.filteredControls) {
|
|
155
|
-
if (element === result.data.id) {
|
|
156
|
-
allResultLevels.push(result);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
}
|
|
164
|
+
// Pull out results from file
|
|
165
|
+
const filteredControlsSet = file.filteredControls ? new Set(file.filteredControls) : null;
|
|
166
|
+
const allResultLevels = file.data.contains.reduce((acc, profile) => {
|
|
167
|
+
const matchingResults = profile.contains.filter((result) => !filteredControlsSet || filteredControlsSet.has(result.data.id));
|
|
168
|
+
acc.push(...matchingResults);
|
|
169
|
+
return acc;
|
|
170
|
+
}, []);
|
|
171
|
+
// Begin filling out outpuData object to pass into HTML template
|
|
172
|
+
// Set high level generalized profile details
|
|
162
173
|
this.addProfileDetails(allResultLevels);
|
|
174
|
+
// Set specific result details
|
|
163
175
|
this.outputData.resultSets.push({
|
|
164
176
|
filename: file.fileName,
|
|
165
177
|
fileID: file.fileID,
|
|
166
178
|
results: allResultLevels.map((result) => this.addResultDetails(result, allResultLevels.filter((searchingResult) => searchingResult.data.id === result.data.id)))
|
|
167
179
|
});
|
|
168
180
|
}
|
|
181
|
+
// Set attributes for high level generalized profile details
|
|
169
182
|
addProfileDetails(results) {
|
|
170
183
|
let passed = 0;
|
|
171
184
|
let failed = 0;
|
|
@@ -180,6 +193,7 @@ class FromHDFToHTMLMapper {
|
|
|
180
193
|
let passedTests = 0;
|
|
181
194
|
let failedTests = 0;
|
|
182
195
|
let passingTestsFailedResult = 0;
|
|
196
|
+
// Count out statuses and sub-statuses
|
|
183
197
|
for (const result of results) {
|
|
184
198
|
switch (result.root.hdf.status) {
|
|
185
199
|
case 'Passed':
|
|
@@ -200,6 +214,7 @@ class FromHDFToHTMLMapper {
|
|
|
200
214
|
case 'Profile Error':
|
|
201
215
|
profileError++;
|
|
202
216
|
}
|
|
217
|
+
// Count out severities
|
|
203
218
|
switch (result.root.hdf.severity) {
|
|
204
219
|
case 'none':
|
|
205
220
|
none++;
|
|
@@ -217,6 +232,7 @@ class FromHDFToHTMLMapper {
|
|
|
217
232
|
critical++;
|
|
218
233
|
}
|
|
219
234
|
}
|
|
235
|
+
// Set following attributes from existing file data
|
|
220
236
|
this.outputData.statistics = {
|
|
221
237
|
passed: this.outputData.statistics.passed + passed,
|
|
222
238
|
failed: this.outputData.statistics.failed + failed,
|
|
@@ -239,20 +255,29 @@ class FromHDFToHTMLMapper {
|
|
|
239
255
|
high: this.outputData.severity.high + high,
|
|
240
256
|
critical: this.outputData.severity.critical + critical
|
|
241
257
|
};
|
|
258
|
+
// Calculate & set compliance level and color from result statuses
|
|
259
|
+
// Set default compliance level and color
|
|
242
260
|
this.outputData.compliance.level = '0.00%';
|
|
243
261
|
this.outputData.compliance.color = 'low';
|
|
262
|
+
// If results exist, calculate compliance level
|
|
244
263
|
if (this.outputData.statistics.totalResults > 0) {
|
|
264
|
+
// Formula: compliance = Passed/(Passed + Failed + Not Reviewed + Profile Error) * 100
|
|
245
265
|
const complianceLevel = (0, compliance_1.formatCompliance)((this.outputData.statistics.passed /
|
|
246
266
|
(this.outputData.statistics.totalResults -
|
|
247
267
|
this.outputData.statistics.notApplicable)) *
|
|
248
268
|
100);
|
|
269
|
+
// Set compliance level
|
|
249
270
|
this.outputData.compliance.level = complianceLevel.includes('NaN')
|
|
250
271
|
? '0.00%'
|
|
251
272
|
: complianceLevel;
|
|
273
|
+
// Determine color of compliance level
|
|
274
|
+
// High compliance is green, medium is yellow, low is red
|
|
252
275
|
this.outputData.compliance.color = (0, compliance_1.translateCompliance)(complianceLevel);
|
|
253
276
|
}
|
|
254
277
|
}
|
|
278
|
+
// Sets attributes for each specific result
|
|
255
279
|
addResultDetails(result, resultLevels) {
|
|
280
|
+
// Check status of individual result to assign corresponding icon
|
|
256
281
|
let statusColor;
|
|
257
282
|
switch (result.root.hdf.status) {
|
|
258
283
|
case 'Passed':
|
|
@@ -273,7 +298,9 @@ class FromHDFToHTMLMapper {
|
|
|
273
298
|
default:
|
|
274
299
|
statusColor = this.iconHTMLStore.circleWhite;
|
|
275
300
|
}
|
|
276
|
-
|
|
301
|
+
// Severity is recorded as all lowercase by default; for aesthetic purposes, uppercase the first letter
|
|
302
|
+
const severity = lodash_1.default.capitalize(result.root.hdf.severity);
|
|
303
|
+
// Check severity of individual result to assign corresponding icon
|
|
277
304
|
let severityColor;
|
|
278
305
|
switch (result.root.hdf.severity) {
|
|
279
306
|
case 'none':
|
|
@@ -294,12 +321,15 @@ class FromHDFToHTMLMapper {
|
|
|
294
321
|
default:
|
|
295
322
|
severityColor = this.iconHTMLStore.circleWhite;
|
|
296
323
|
}
|
|
297
|
-
|
|
324
|
+
// Grab NIST & CCI controls
|
|
325
|
+
const allControls = [result.hdf.rawNistTags, result.hdf.wraps.tags.cci].filter(Boolean).flat();
|
|
326
|
+
// Remove `Rev_4` item and replace `unmapped` with proper `UM-1` naming
|
|
298
327
|
const filteredControls = allControls
|
|
299
328
|
.map((control) => (control === 'unmapped' ? 'UM-1' : control))
|
|
300
329
|
.filter((control) => control !== 'Rev_4');
|
|
330
|
+
// Assign attributes
|
|
301
331
|
return {
|
|
302
|
-
...
|
|
332
|
+
...lodash_1.default.set(result, 'hdf.segments', [].concat.apply([], resultLevels.map((resultLevel) => resultLevel.hdf.segments || []))),
|
|
303
333
|
full_code: result.full_code,
|
|
304
334
|
details: [
|
|
305
335
|
{
|
|
@@ -346,7 +376,7 @@ class FromHDFToHTMLMapper {
|
|
|
346
376
|
name: 'Fix Text',
|
|
347
377
|
value: result.hdf.descriptions.fix || result.data.tags.fix
|
|
348
378
|
}
|
|
349
|
-
].filter((v) => v.value),
|
|
379
|
+
].filter((v) => v.value).map((s) => ({ ...s, value: (0, sanitize_html_1.default)(s.value, { disallowedTagsMode: "escape" }) })),
|
|
350
380
|
resultID: this.replaceIllegalCharacters(result.hdf.wraps.id),
|
|
351
381
|
resultStatus: {
|
|
352
382
|
status: result.root.hdf.status,
|
|
@@ -359,34 +389,35 @@ class FromHDFToHTMLMapper {
|
|
|
359
389
|
controlTags: filteredControls
|
|
360
390
|
};
|
|
361
391
|
}
|
|
392
|
+
// Generate SVG HTML for icons for injection into export template
|
|
362
393
|
iconDataToSVG(iconData, fill, widthPx = 24, heightPx = 24, description) {
|
|
363
394
|
let imgLabel;
|
|
395
|
+
// Check if description is included in function call
|
|
396
|
+
// If so, include description as title/aria-label
|
|
364
397
|
if (description) {
|
|
365
398
|
imgLabel = `title="${description}" aria-label="${description}"`;
|
|
399
|
+
// Else hide aria
|
|
366
400
|
}
|
|
367
401
|
else {
|
|
368
402
|
imgLabel = `aria-hidden="true"`;
|
|
369
403
|
}
|
|
370
404
|
return `<svg style="width:${widthPx}px; height:${heightPx}px" viewBox="0 0 ${widthPx} ${heightPx}" role="img" ${imgLabel}><path fill="${fill}" d="${iconData}"/></svg>`;
|
|
371
405
|
}
|
|
406
|
+
// Replace all found illegal characters in string with compliant string equivalent
|
|
372
407
|
replaceIllegalCharacters(text) {
|
|
373
408
|
for (const illegalCharacter of ILLEGAL_CHARACTER_SET) {
|
|
374
409
|
text = text.replace(new RegExp(`${illegalCharacter[0]}`, 'g'), illegalCharacter[1]);
|
|
375
410
|
}
|
|
376
411
|
return text;
|
|
377
412
|
}
|
|
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', '');
|
|
413
|
+
// Prompt HTML generation from data pulled from file during constructor initialization
|
|
414
|
+
async toHTML() {
|
|
415
|
+
// Pull export template + styles and create outputData object containing data to fill template with
|
|
416
|
+
const template = embedded_assets_1.html;
|
|
417
|
+
this.outputData.tailwindStyles = embedded_assets_1.css;
|
|
418
|
+
// Remove source map reference in TW Elements library
|
|
419
|
+
this.outputData.tailwindElements = embedded_assets_1.js.replace('//# sourceMappingURL=tw-elements.umd.min.js.map', '');
|
|
420
|
+
// Render template and return generated HTML file
|
|
390
421
|
return mustache_1.default.render(template, this.outputData);
|
|
391
422
|
}
|
|
392
423
|
}
|
|
@@ -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":"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","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 filteredControlsSet = file.filteredControls ? new Set(file.filteredControls) : null;\n const allResultLevels = file.data.contains.reduce<ContextualizedControl[]>(\n (acc, profile) => {\n const matchingResults = profile.contains.filter(\n (result) => !filteredControlsSet || filteredControlsSet.has(result.data.id)\n );\n\n acc.push(...matchingResults);\n return acc;\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"}
|