Class: Risu::Templates::FindingsSummary

Inherits:
Base::TemplateBase show all
Includes:
TemplateHelper
Defined in:
lib/risu/templates/findings_summary.rb

Instance Attribute Summary

Attributes inherited from Base::TemplateBase

#output, #template_info

Instance Method Summary collapse

Methods included from TemplateHelper

#default_credential_plugins, #default_credentials_appendix_section, #default_credentials_section, #definition, #has_default_credentials?, #heading1, #heading2, #heading3, #heading4, #heading5, #heading6, #item_count_by_plugin_id, #item_count_by_plugin_name, #new_page, #report_author, #report_classification, #report_subtitle, #report_title, #table, #text, #title

Methods included from ScanHelper

#authenticated_count, #scan_info_to_hash

Methods included from SharesTemplateHelper

#anon_ftp_count, #anon_ftp_section, #anon_smb_count, #anon_smb_query, #anon_smb_section, #shares_appendix_section, #shares_section, #shares_section_has_findings?

Methods included from GraphTemplateHelper

#other_os_graph_page, #risks_by_service_graph_page, #risks_by_severity_graph_page, #root_cause_graph_page, #windows_os_graph_page

Methods included from MalwareTemplateHelper

#conficker_appendix_section, #conficker_count, #conficker_section, #known_malicious_process_appendix_section, #known_malicious_process_count, #known_malicious_process_section, #malware_appendix_section, #malware_section

Methods included from HostTemplateHelper

#unsupported_os, #unsupported_os_appendix_section

Methods inherited from Base::TemplateBase

inherited

Constructor Details

#initializeFindingsSummary

Returns a new instance of FindingsSummary.



27
28
29
30
31
32
33
34
35
36
# File 'lib/risu/templates/findings_summary.rb', line 27

def initialize
	@template_info =
	{
		:name => "findings_summary",
		:author => "hammackj",
		:version => "0.0.4",
		:renderer => "PDF",
		:description => "Generates a findings summary report"
	}
end

Instance Method Details



46
47
48
49
50
51
52
53
54
55
# File 'lib/risu/templates/findings_summary.rb', line 46

def print_risk_summary risks, text, color
	print_risk_title(text, color) if risks.length != 0

	risks.each do |item|
		name = Plugin.find_by_id(item.plugin_id).plugin_name
		count = Item.where(:plugin_id => item.plugin_id).count

		text "#{count} - #{name}"
	end
end


38
39
40
41
42
43
44
# File 'lib/risu/templates/findings_summary.rb', line 38

def print_risk_title text, color
	@output.font_size(20) do
		@output.fill_color color.gsub('#', '')
		@output.text text, :style => :bold
		@output.fill_color "000000"
	end
end

#render(output) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/risu/templates/findings_summary.rb', line 57

def render output
	text Report.classification.upcase, :align => :center
	text "\n"

	report_title Report.title
	report_subtitle "Findings Summary Report"
	report_author "This report was prepared by\n#{Report.author}"
	text "\n\n\n"

	print_risk_summary(Item.critical_risks_unique_sorted, "Critical Findings", Risu::GRAPH_COLORS[0])
	print_risk_summary(Item.high_risks_unique_sorted, "High Findings", Risu::GRAPH_COLORS[1])
	print_risk_summary(Item.medium_risks_unique_sorted, "Medium Findings", Risu::GRAPH_COLORS[2])
	print_risk_summary(Item.low_risks_unique_sorted, "Low Findings", Risu::GRAPH_COLORS[3])
	print_risk_summary(Item.info_risks_unique_sorted, "Informational Findings", Risu::GRAPH_COLORS[4])
end