diff --git a/include/html_report b/include/html_report index 5db51f08..561f31ea 100644 --- a/include/html_report +++ b/include/html_report @@ -27,33 +27,13 @@ addHtmlHeader() { - + + - - - - Prowler - AWS Security Assessments @@ -144,7 +124,6 @@ addHtmlHeader() { - @@ -152,12 +131,12 @@ addHtmlHeader() { - - + + - - - + + + @@ -180,16 +159,50 @@ addHtmlFooter() { - - - - - - + + + + \$(document).ready(function(){ + + // Initialise the table with 50 rows, and some search/filtering panes + \$('#findingsTable').DataTable( { + lengthMenu: [ [50, 100, -1], [50, 100, "All"] ], + searchPanes: { + cascadePanes: true, + viewTotal: true + }, + dom: 'Plfrtip', + columnDefs: [ + { + searchPanes: { + show: false + }, + // Hide Compliance, Check ID (in favour of Check Title), CAF Epic, Risk, Remediation, Link + targets: [4, 6, 9, 10, 11, 12] + } + ] + }); + + var maxLength = 30; + \$(".show-read-more").each(function(){ + var myStr = \$(this).text(); + if(\$.trim(myStr).length > maxLength){ + var newStr = myStr.substring(0, maxLength); + var removedStr = myStr.substring(maxLength, \$.trim(myStr).length); + \$(this).empty().html(newStr); + \$(this).append(' read more...'); + \$(this).append('' + removedStr + ''); + } + }); + \$(".read-more").click(function(){ + \$(this).siblings(".more-text").contents().unwrap(); + \$(this).remove(); + }); + }); + + EOF diff --git a/include/outputs b/include/outputs index ade23ced..f2130405 100644 --- a/include/outputs +++ b/include/outputs @@ -379,80 +379,35 @@ generateJsonAsffOutput(){ generateHtmlOutput(){ local message=$1 local status=$2 + if [[ $status == "INFO" ]];then - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + local ROW_CLASS='table-info' fi if [[ $status == "PASS" ]];then - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + local ROW_CLASS='p-3 mb-2 bg-success' fi if [[ $status == "FAIL" ]];then - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + local ROW_CLASS='table-danger' fi - if [[ $status == "WARNING" ]];then - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML - echo ''>> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + if [[ $status == "WARN" ]];then + local ROW_CLASS='table-warning' fi -} + + echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo ' ' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML + echo '' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML +} \ No newline at end of file
Status Result Severity AccountIDCompliance Service CheckIDCheck TitleCheck OutputCheck TitleCheck Output CAF EpicRiskRemediationLink to docRiskRemediationDocs Resource ID
INFO'$CHECK_SEVERITY''$ACCOUNT_NUM''$REPREGION''$CHECK_ASFF_COMPLIANCE_TYPE''$CHECK_SERVICENAME''$TITLE_ID''$TITLE_TEXT''$message''$CHECK_CAF_EPIC'

'$CHECK_RISK'

'$CHECK_REMEDIATION'

'$CHECK_DOC''$CHECK_RESOURCE_ID'
PASS'$CHECK_SEVERITY''$ACCOUNT_NUM''$REPREGION''$CHECK_ASFF_COMPLIANCE_TYPE''$CHECK_SERVICENAME''$TITLE_ID''$TITLE_TEXT''$message''$CHECK_CAF_EPIC'

'$CHECK_RISK'

'$CHECK_REMEDIATION'

'$CHECK_DOC''$CHECK_RESOURCE_ID'
FAIL'$CHECK_SEVERITY''$ACCOUNT_NUM''$REPREGION''$CHECK_ASFF_COMPLIANCE_TYPE''$CHECK_SERVICENAME''$TITLE_ID''$TITLE_TEXT''$message''$CHECK_CAF_EPIC'

'$CHECK_RISK'

'$CHECK_REMEDIATION'

'$CHECK_DOC''$CHECK_RESOURCE_ID'
WARN'$CHECK_SEVERITY''$ACCOUNT_NUM''$REPREGION''$CHECK_ASFF_COMPLIANCE_TYPE''$CHECK_SERVICENAME''$TITLE_ID''$TITLE_TEXT''$message''$CHECK_CAF_EPIC'

'$CHECK_RISK'

'$CHECK_REMEDIATION'

'$CHECK_DOC''$CHECK_RESOURCE_ID'
'$status''$CHECK_SEVERITY''$ACCOUNT_NUM''$REPREGION''$CHECK_ASFF_COMPLIANCE_TYPE''$CHECK_SERVICENAME''$TITLE_ID''$TITLE_TEXT''$message''$CHECK_CAF_EPIC'

'$CHECK_RISK'

'$CHECK_REMEDIATION'

'$CHECK_RESOURCE_ID'