class Risu::Templates::FindingsHost
Public Class Methods
new()
click to toggle source
# File lib/risu/templates/findings_host.rb, line 28 def initialize @template_info = { :name => "findings_host", :author => "hammackj", :version => "0.0.4", :renderer => "PDF", :description => "Generates a findings report by host" } end
Public Instance Methods
render(output)
click to toggle source
# File lib/risu/templates/findings_host.rb, line 41 def render output @output.font_size 10 report_classification report_title Report.title report_subtitle "Findings Summary by Host Report" report_author "This report was prepared by\n#{Report.author}" @output.text "\n\n\n" Host.sorted.each do |host| if host.items.high_risks_unique_sorted.to_a.count > 0 or host.items.medium_risks_unique_sorted.to_a.count > 0 @output.font_size(16) do host_string = "#{host.ip}" host_string << " (#{host.fqdn})" if host.fqdn != nil output.text "#{host_string}", :style => :bold end end if host.items.critical_risks_unique_sorted.to_a.count > 0 @output.font_size(12) do output.fill_color "551A8B" output.text "Critical Findings", :style => :bold output.fill_color "000000" end host.items.critical_risks_unique_sorted.each do |item| name = Plugin.find_by_id(item.plugin_id).plugin_name output.text "#{name}" end end if host.items.high_risks_unique_sorted.to_a.count > 0 @output.font_size(12) { output.fill_color "FF0000" output.text "High Findings", :style => :bold output.fill_color "000000" } host.items.high_risks_unique_sorted.each do |item| name = Plugin.find_by_id(item.plugin_id).plugin_name output.text "#{name}" end end if host.items.medium_risks_unique_sorted.to_a.count > 0 @output.font_size(12) { output.fill_color "FF8040" output.text "Medium Findings", :style => :bold output.fill_color "000000" } host.items.medium_risks_unique_sorted.each do |item| name = Plugin.find_by_id(item.plugin_id).plugin_name output.text "#{name}" end end if host.items.high_risks_unique_sorted.to_a.count > 0 or host.items.medium_risks_unique_sorted.to_a.count > 0 @output.text "\n" end end end