risu 1.5.0 → 1.5.1

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.
Files changed (62) hide show
  1. data/Gemfile.ci +2 -5
  2. data/KNOWNISSUES.markdown +12 -11
  3. data/LICENSE +11 -11
  4. data/NEWS.markdown +43 -8
  5. data/README.markdown +36 -32
  6. data/Rakefile +29 -9
  7. data/TODO.markdown +150 -77
  8. data/bin/risu +26 -0
  9. data/lib/risu.rb +27 -1
  10. data/lib/risu/base.rb +26 -0
  11. data/lib/risu/base/prawn_templater.rb +36 -8
  12. data/lib/risu/base/schema.rb +199 -163
  13. data/lib/risu/base/template_base.rb +34 -7
  14. data/lib/risu/base/template_manager.rb +37 -37
  15. data/lib/risu/base/templater.rb +36 -9
  16. data/lib/risu/cli.rb +26 -0
  17. data/lib/risu/cli/application.rb +72 -39
  18. data/lib/risu/cli/banner.rb +47 -21
  19. data/lib/risu/exceptions.rb +26 -0
  20. data/lib/risu/exceptions/invaliddocument.rb +30 -1
  21. data/lib/risu/models.rb +26 -0
  22. data/lib/risu/models/familyselection.rb +28 -2
  23. data/lib/risu/models/host.rb +59 -2
  24. data/lib/risu/models/individualpluginselection.rb +26 -1
  25. data/lib/risu/models/item.rb +132 -79
  26. data/lib/risu/models/patch.rb +26 -1
  27. data/lib/risu/models/plugin.rb +28 -2
  28. data/lib/risu/models/pluginspreference.rb +26 -2
  29. data/lib/risu/models/policy.rb +27 -2
  30. data/lib/risu/models/reference.rb +81 -20
  31. data/lib/risu/models/report.rb +33 -8
  32. data/lib/risu/models/serverpreference.rb +26 -1
  33. data/lib/risu/models/servicedescription.rb +26 -1
  34. data/lib/risu/models/version.rb +26 -1
  35. data/lib/risu/parsers.rb +29 -0
  36. data/lib/risu/parsers/nessus/nessus_document.rb +47 -14
  37. data/lib/risu/parsers/nessus/nessus_sax_listener.rb +45 -16
  38. data/lib/risu/parsers/nexpose/nexpose_document.rb +91 -0
  39. data/lib/risu/parsers/nexpose/simple_nexpose.rb +108 -0
  40. data/lib/risu/renderers.rb +26 -0
  41. data/lib/risu/renderers/nilrenderer.rb +30 -4
  42. data/lib/risu/templates/assets.rb +36 -10
  43. data/lib/risu/templates/cover_sheet.rb +34 -8
  44. data/lib/risu/templates/exec_summary.rb +45 -19
  45. data/lib/risu/templates/executive_summary.rb +37 -11
  46. data/lib/risu/templates/finding_statistics.rb +33 -7
  47. data/lib/risu/templates/findings_host.rb +44 -18
  48. data/lib/risu/templates/findings_summary.rb +43 -17
  49. data/lib/risu/templates/findings_summary_with_pluginid.rb +60 -18
  50. data/lib/risu/templates/graphs.rb +30 -0
  51. data/lib/risu/templates/host_summary.rb +34 -8
  52. data/lib/risu/templates/ms_patch_summary.rb +35 -9
  53. data/lib/risu/templates/ms_update_summary.rb +34 -8
  54. data/lib/risu/templates/ms_wsus_findings.rb +99 -0
  55. data/lib/risu/templates/notable.rb +39 -13
  56. data/lib/risu/templates/notable_detailed.rb +42 -16
  57. data/lib/risu/templates/pci_compliance.rb +40 -14
  58. data/lib/risu/templates/stig_findings_summary.rb +62 -36
  59. data/lib/risu/templates/technical_findings.rb +29 -3
  60. data/lib/risu/templates/template.rb +35 -9
  61. data/risu.gemspec +28 -7
  62. metadata +94 -101
@@ -1,3 +1,29 @@
1
+ # Copyright (c) 2010-2012 Arxopia LLC.
2
+ # All rights reserved.
3
+
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+
7
+ # * Redistributions of source code must retain the above copyright
8
+ # notice, this list of conditions and the following disclaimer.
9
+ # * Redistributions in binary form must reproduce the above copyright
10
+ # notice, this list of conditions and the following disclaimer in the
11
+ # documentation and/or other materials provided with the distribution.
12
+ # * Neither the name of the Arxopia LLC nor the names of its contributors
13
+ # may be used to endorse or promote products derived from this software
14
+ # without specific prior written permission.
15
+
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ # DISCLAIMED. IN NO EVENT SHALL ARXOPIA LLC BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22
+ # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
24
+ #OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25
+ #OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
1
27
  module Risu
2
28
  module Renderers
3
29
  end
@@ -1,13 +1,39 @@
1
+ # Copyright (c) 2010-2012 Arxopia LLC.
2
+ # All rights reserved.
3
+
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+
7
+ # * Redistributions of source code must retain the above copyright
8
+ # notice, this list of conditions and the following disclaimer.
9
+ # * Redistributions in binary form must reproduce the above copyright
10
+ # notice, this list of conditions and the following disclaimer in the
11
+ # documentation and/or other materials provided with the distribution.
12
+ # * Neither the name of the Arxopia LLC nor the names of its contributors
13
+ # may be used to endorse or promote products derived from this software
14
+ # without specific prior written permission.
15
+
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ # DISCLAIMED. IN NO EVENT SHALL ARXOPIA LLC BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22
+ # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
24
+ #OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25
+ #OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
1
27
  module Risu
2
28
  module Renderers
3
29
  class NilRenderer
4
-
30
+
31
+ #
5
32
  #
6
- #
7
33
  def text text, *args
8
34
  true
9
35
  end
10
-
36
+
11
37
  #
12
38
  #
13
39
  def font_size x
@@ -19,7 +45,7 @@ module Risu
19
45
  def start_new_page
20
46
  true
21
47
  end
22
-
48
+
23
49
  end
24
50
  end
25
51
  end
@@ -1,32 +1,58 @@
1
+ # Copyright (c) 2010-2012 Arxopia LLC.
2
+ # All rights reserved.
3
+
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+
7
+ # * Redistributions of source code must retain the above copyright
8
+ # notice, this list of conditions and the following disclaimer.
9
+ # * Redistributions in binary form must reproduce the above copyright
10
+ # notice, this list of conditions and the following disclaimer in the
11
+ # documentation and/or other materials provided with the distribution.
12
+ # * Neither the name of the Arxopia LLC nor the names of its contributors
13
+ # may be used to endorse or promote products derived from this software
14
+ # without specific prior written permission.
15
+
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ # DISCLAIMED. IN NO EVENT SHALL ARXOPIA LLC BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22
+ # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
24
+ #OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25
+ #OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
1
27
  module Risu
2
28
  module Templates
3
29
  class Assets < Risu::Base::TemplateBase
4
-
30
+
5
31
  #
6
32
  #
7
33
  def initialize ()
8
- @template_info =
9
- {
10
- :name => "assets",
11
- :author => "hammackj",
12
- :version => "0.0.1",
34
+ @template_info =
35
+ {
36
+ :name => "assets",
37
+ :author => "hammackj",
38
+ :version => "0.0.1",
13
39
  :description => "Generates a Assets Summary Report"
14
40
  }
15
41
  end
16
-
42
+
17
43
  #undef :render if method_defined? :render
18
44
  #
19
45
  #
20
46
  def render(output)
21
47
  output.font_size 10
22
-
48
+
23
49
  output.text Report.classification.upcase, :align => :center
24
50
  output.text "\n"
25
51
 
26
52
  output.font_size(22) do
27
- output.text Report.title, :align => :center
53
+ output.text Report.title, :align => :center
28
54
  end
29
-
55
+
30
56
  output.font_size(18) do
31
57
  output.text "Networked Assets", :align => :center
32
58
  output.text "\n"
@@ -1,22 +1,48 @@
1
+ # Copyright (c) 2010-2012 Arxopia LLC.
2
+ # All rights reserved.
3
+
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+
7
+ # * Redistributions of source code must retain the above copyright
8
+ # notice, this list of conditions and the following disclaimer.
9
+ # * Redistributions in binary form must reproduce the above copyright
10
+ # notice, this list of conditions and the following disclaimer in the
11
+ # documentation and/or other materials provided with the distribution.
12
+ # * Neither the name of the Arxopia LLC nor the names of its contributors
13
+ # may be used to endorse or promote products derived from this software
14
+ # without specific prior written permission.
15
+
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ # DISCLAIMED. IN NO EVENT SHALL ARXOPIA LLC BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22
+ # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
24
+ #OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25
+ #OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
1
27
  module Risu
2
28
  module Templates
3
29
  class CoverSheet < Risu::Base::TemplateBase
4
-
30
+
5
31
  #
6
32
  #
7
33
  def initialize ()
8
- @template_info =
9
- {
10
- :name => "cover_sheet",
11
- :author => "hammackj",
12
- :version => "0.0.2",
34
+ @template_info =
35
+ {
36
+ :name => "cover_sheet",
37
+ :author => "hammackj",
38
+ :version => "0.0.2",
13
39
  :description => "Generates a coversheet with a logo (Example Template)"
14
40
  }
15
41
  end
16
-
42
+
17
43
  #
18
44
  #
19
- def render(output)
45
+ def render(output)
20
46
  output.image "#{File.expand_path(File.dirname(__FILE__))}/data/nessuslogo.jpg", :scale => 0.2, :position => :left, :vposition => :top
21
47
 
22
48
  output.text "\n"
@@ -1,19 +1,45 @@
1
+ # Copyright (c) 2010-2012 Arxopia LLC.
2
+ # All rights reserved.
3
+
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+
7
+ # * Redistributions of source code must retain the above copyright
8
+ # notice, this list of conditions and the following disclaimer.
9
+ # * Redistributions in binary form must reproduce the above copyright
10
+ # notice, this list of conditions and the following disclaimer in the
11
+ # documentation and/or other materials provided with the distribution.
12
+ # * Neither the name of the Arxopia LLC nor the names of its contributors
13
+ # may be used to endorse or promote products derived from this software
14
+ # without specific prior written permission.
15
+
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ # DISCLAIMED. IN NO EVENT SHALL ARXOPIA LLC BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22
+ # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
24
+ #OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25
+ #OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
1
27
  module Risu
2
28
  module Templates
3
29
  class ExecSummary < Risu::Base::TemplateBase
4
-
30
+
5
31
  #
6
32
  #
7
33
  def initialize ()
8
- @template_info =
9
- {
10
- :name => "exec_summary",
11
- :author => "hammackj",
12
- :version => "0.0.2",
34
+ @template_info =
35
+ {
36
+ :name => "exec_summary",
37
+ :author => "hammackj",
38
+ :version => "0.0.3",
13
39
  :description => "Generates a simple executive summary."
14
40
  }
15
41
  end
16
-
42
+
17
43
  #
18
44
  #
19
45
  def render(output)
@@ -21,9 +47,9 @@ module Risu
21
47
  output.text "\n"
22
48
 
23
49
  output.font_size(22) do
24
- output.text Report.title, :align => :center
50
+ output.text Report.title, :align => :center
25
51
  end
26
-
52
+
27
53
  output.font_size(18) do
28
54
  output.text "Executive Summary", :align => :center
29
55
  output.text "\n"
@@ -38,7 +64,7 @@ module Risu
38
64
 
39
65
  output.text "This report contains the results of a security audit performed on #{Report.scan_date}. It contains confidential information about the state of your network. Access to this information by unauthorized personnel may allow them to compromise your network.\n\n"
40
66
 
41
- output.text "A total of #{Host.count} hosts were found and scanned for vulnerabities.\n\n"
67
+ output.text "A total of #{Host.count} hosts were found and scanned for vulnerabilities.\n\n"
42
68
 
43
69
  output.text "There were #{Item.risks.count} vulnerabilities found during this scan. Of these, #{Item.critical_risks.count} were critical vulnerabilities,#{Item.high_risks.count} were high vulnerabilities, #{Item.medium_risks.count} were medium vulnerabilities, #{Item.low_risks.count} were low vulnerabilities and #{Item.info_risks.count} were information findings.\n\n"
44
70
 
@@ -46,21 +72,21 @@ module Risu
46
72
  output.text "\n"
47
73
 
48
74
  output.table([[
49
- "Number of hosts",
75
+ "Number of hosts",
50
76
  "Number of risks",
51
77
  "Critical Risks",
52
78
  "High Risks",
53
79
  "Medium Risks",
54
80
  "Low Risks",
55
- "Info Risks"],
81
+ "Info Risks"],
56
82
  [
57
- Host.count,
83
+ Host.count,
58
84
  Item.risks.count,
59
85
  Item.critical_risks.count,
60
- Item.high_risks.count,
61
- Item.medium_risks.count,
62
- Item.low_risks.count,
63
- Item.info_risks.count]],
86
+ Item.high_risks.count,
87
+ Item.medium_risks.count,
88
+ Item.low_risks.count,
89
+ Item.info_risks.count]],
64
90
  :cell_style => { :padding =>12 }, :width => output.bounds.width)
65
91
  output.text "\n\n\n"
66
92
 
@@ -71,7 +97,7 @@ module Risu
71
97
  output.image Item.risks_by_severity_graph, :width => 250, :at => [output.bounds.left, cury]
72
98
  output.image Host.top_vuln_graph(10), :width => 250, :at => [output.bounds.right - 250, cury]
73
99
  output.move_down 50
74
- if (output.y <= 300)
100
+ if (output.y <= 300)
75
101
  output.start_new_page
76
102
  output.move_down 75
77
103
  end
@@ -79,7 +105,7 @@ module Risu
79
105
  output.image Item.risks_by_service_graph(10), :width => 250, :at => [output.bounds.left, cury]
80
106
  output.image Host.other_os_graph, :width => 250, :at => [output.bounds.right - 250, cury]
81
107
  output.move_down 250
82
- #if (y <= 300)
108
+ #if (y <= 300)
83
109
  # output.start_new_page
84
110
  # cury = y
85
111
  #end
@@ -1,3 +1,29 @@
1
+ # Copyright (c) 2010-2012 Arxopia LLC.
2
+ # All rights reserved.
3
+
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+
7
+ # * Redistributions of source code must retain the above copyright
8
+ # notice, this list of conditions and the following disclaimer.
9
+ # * Redistributions in binary form must reproduce the above copyright
10
+ # notice, this list of conditions and the following disclaimer in the
11
+ # documentation and/or other materials provided with the distribution.
12
+ # * Neither the name of the Arxopia LLC nor the names of its contributors
13
+ # may be used to endorse or promote products derived from this software
14
+ # without specific prior written permission.
15
+
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ # DISCLAIMED. IN NO EVENT SHALL ARXOPIA LLC BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22
+ # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
24
+ #OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25
+ #OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
1
27
  module Risu
2
28
  module Templates
3
29
  class ExecutiveSummaryDetailed < Risu::Base::TemplateBase
@@ -9,7 +35,7 @@ module Risu
9
35
  {
10
36
  :name => "exec_summary_detailed",
11
37
  :author => "Ed Davison <EDavison@getmns.com>",
12
- :version => "0.0.3",
38
+ :version => "0.0.4",
13
39
  :description => "Generates a detailed executive summary report"
14
40
  }
15
41
  end
@@ -65,17 +91,17 @@ module Risu
65
91
  "Number of hosts",
66
92
  "Number of risks",
67
93
  "Critical Risks",
68
- "High Risks",
69
- "Medium Risks",
70
- "Low Risks",
94
+ "High Risks",
95
+ "Medium Risks",
96
+ "Low Risks",
71
97
  "Info Risks"]
72
98
  data = [[
73
- Host.count,
99
+ Host.count,
74
100
  Item.risks.count,
75
- Item.critical_risks.count,
76
- Item.high_risks.count,
77
- Item.medium_risks.count,
78
- Item.low_risks.count,
101
+ Item.critical_risks.count,
102
+ Item.high_risks.count,
103
+ Item.medium_risks.count,
104
+ Item.low_risks.count,
79
105
  Item.info_risks.count]]
80
106
 
81
107
  output.table([headers] + data, :header => true, :row_colors => ['ffffff', 'f0f0f0']) do
@@ -85,7 +111,7 @@ module Risu
85
111
 
86
112
  output.text "\n\n\n"
87
113
 
88
- output.text "A total of #{Host.count} hosts were found and scanned for vulnerabities.\n"
114
+ output.text "A total of #{Host.count} hosts were found and scanned for vulnerabilities.\n"
89
115
  output.text "\n"
90
116
 
91
117
  output.text "There were #{Item.risks.count} risks found during this scan. Of these, #{Item.high_risks.count} were High risk vulnerabilities. High risk vulnerabilities require immediate attention to handle as they are relatively easy for attackers to exploit frequently resulting in full access to affected systems. There were #{Item.medium_risks.count} findings which were Medium risk. High risk vulnerabilities are harder to exploit and may not result in full control of the affected system and should be addressed rapidly and with priority. There were #{Item.low_risks.count} findings which were Low risk vulnerabilities. These risks usually let attackers gain information about your network making it easier for launching more advanced attacks and should be handled in a timely manner. And #{Item.info_risks.count} findings which were information findings.\n"
@@ -100,7 +126,7 @@ module Risu
100
126
  output.text "There were #{crit_host_count} hosts with Critical risk vulnerabilities, #{high_host_count} hosts with High risk vulnerabilities, #{medium_host_count} hosts with Medium risk vulnerabilities, #{low_host_count} hosts with Low risk vulnerabilities and #{info_host_count} hosts with information findings."
101
127
  output.text "\n"
102
128
 
103
- output.text "The following output.table shows the top 5 vulnerabilities that were found. These are the most important vulnerabilities to address as they represent a sizeable footprint for an attacker to exploit in an attempt to compromise.\n"
129
+ output.text "The following output.table shows the top 5 vulnerabilities that were found. These are the most important vulnerabilities to address as they represent a sizable footprint for an attacker to exploit in an attempt to compromise.\n"
104
130
  output.text "\n"
105
131
 
106
132
  results = Array.new
@@ -1,19 +1,45 @@
1
+ # Copyright (c) 2010-2012 Arxopia LLC.
2
+ # All rights reserved.
3
+
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+
7
+ # * Redistributions of source code must retain the above copyright
8
+ # notice, this list of conditions and the following disclaimer.
9
+ # * Redistributions in binary form must reproduce the above copyright
10
+ # notice, this list of conditions and the following disclaimer in the
11
+ # documentation and/or other materials provided with the distribution.
12
+ # * Neither the name of the Arxopia LLC nor the names of its contributors
13
+ # may be used to endorse or promote products derived from this software
14
+ # without specific prior written permission.
15
+
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ # DISCLAIMED. IN NO EVENT SHALL ARXOPIA LLC BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22
+ # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
24
+ #OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25
+ #OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
1
27
  module Risu
2
28
  module Templates
3
29
  class FindingStatistics < Risu::Base::TemplateBase
4
-
30
+
5
31
  #
6
32
  #
7
33
  def initialize ()
8
- @template_info =
9
- {
10
- :name => "finding_statistics",
11
- :author => "hammackj",
12
- :version => "0.0.1",
34
+ @template_info =
35
+ {
36
+ :name => "finding_statistics",
37
+ :author => "hammackj",
38
+ :version => "0.0.1",
13
39
  :description => "Generates report finding statistics"
14
40
  }
15
41
  end
16
-
42
+
17
43
  #
18
44
  #
19
45
  def render(output)