risu 1.4.9 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/Gemfile.ci +18 -0
  2. data/LICENSE +3 -3
  3. data/NEWS.markdown +45 -0
  4. data/README.markdown +10 -2
  5. data/Rakefile +15 -5
  6. data/TODO.markdown +45 -19
  7. data/lib/risu.rb +2 -1
  8. data/lib/risu/base/schema.rb +3 -4
  9. data/lib/risu/base/template_base.rb +11 -11
  10. data/lib/risu/cli/application.rb +23 -15
  11. data/lib/risu/exceptions.rb +1 -3
  12. data/lib/risu/models/host.rb +1 -1
  13. data/lib/risu/models/item.rb +90 -18
  14. data/lib/risu/models/plugin.rb +2 -2
  15. data/lib/risu/models/reference.rb +93 -0
  16. data/lib/risu/parsers/nessus/nessus_sax_listener.rb +28 -30
  17. data/lib/risu/renderers.rb +6 -0
  18. data/lib/risu/renderers/nilrenderer.rb +25 -0
  19. data/lib/risu/templates/assets.rb +5 -2
  20. data/lib/risu/templates/cover_sheet.rb +1 -1
  21. data/lib/risu/templates/exec_summary.rb +19 -4
  22. data/lib/risu/templates/executive_summary.rb +20 -5
  23. data/lib/risu/templates/finding_statistics.rb +1 -1
  24. data/lib/risu/templates/findings_host.rb +27 -8
  25. data/lib/risu/templates/findings_summary.rb +14 -1
  26. data/lib/risu/templates/findings_summary_with_pluginid.rb +1 -1
  27. data/lib/risu/templates/graphs.rb +5 -1
  28. data/lib/risu/templates/host_summary.rb +8 -4
  29. data/lib/risu/templates/ms_patch_summary.rb +1 -1
  30. data/lib/risu/templates/ms_update_summary.rb +1 -1
  31. data/lib/risu/templates/notable.rb +1 -2
  32. data/lib/risu/templates/notable_detailed.rb +8 -8
  33. data/lib/risu/templates/pci_compliance.rb +1 -1
  34. data/lib/risu/templates/stig_findings_summary.rb +135 -0
  35. data/lib/risu/templates/technical_findings.rb +5 -17
  36. data/lib/risu/templates/template.rb +1 -1
  37. data/risu.gemspec +1 -2
  38. metadata +43 -28
@@ -1,5 +1,5 @@
1
1
  module Risu
2
- module Modules
2
+ module Templates
3
3
  class TechnicalFindings < Risu::Base::TemplateBase
4
4
 
5
5
  #
@@ -9,7 +9,7 @@ module Risu
9
9
  {
10
10
  :name => "technical_findings",
11
11
  :author => "hammackj",
12
- :version => "0.0.1",
12
+ :version => "0.0.2",
13
13
  :description => "Generates a Technical Findings Report"
14
14
  }
15
15
  end
@@ -22,21 +22,17 @@ module Risu
22
22
 
23
23
  output.font_size(22) { output.text Report.title, :align => :center }
24
24
  output.font_size(18) {
25
- output.text "High and Medium Findings", :align => :center
25
+ output.text "Critical and High Findings", :align => :center
26
26
  output.text "\n"
27
27
  output.text "This report was prepared by\n#{Report.author}", :align => :center
28
28
  }
29
29
 
30
30
  output.text "\n\n\n"
31
31
 
32
- #@todo Revamping blacklisting in 1.3
33
- #blacklist_ip = "-"
34
- #blacklist_host_id = Host.where(:ip => blacklist_ip)
35
- #.where("host_id != (?)", blacklist_host_id)
36
-
37
32
  unique_risks = Array.new
33
+ unique_risks << Hash[:title => "Criical Findings", :color => "9B30FF", :values => Item.critical_risks_unique]
38
34
  unique_risks << Hash[:title => "High Findings", :color => "FF0000", :values => Item.high_risks_unique]
39
- unique_risks << Hash[:title => "Medium Findings", :color => "FF8040", :values => Item.medium_risks_unique]
35
+ # unique_risks << Hash[:title => "Medium Findings", :color => "FF8040", :values => Item.medium_risks_unique]
40
36
 
41
37
  unique_risks.each do |h|
42
38
  if h[:values].length > 1
@@ -55,14 +51,6 @@ module Risu
55
51
  hosts = Item.where(:plugin_id => f.plugin_id)
56
52
  plugin = Plugin.find_by_id(f.plugin_id)
57
53
 
58
- #Check if vuln is just on the blacklisted
59
- #if hosts.count == 1
60
- # if hosts.first.host_id == blacklist_host_id.first.id
61
- # next
62
- # end
63
- #end
64
-
65
-
66
54
  references = Reference.where(:plugin_id => plugin.id).group(:value).order(:reference_name)
67
55
 
68
56
  output.font_size(16) do
@@ -1,5 +1,5 @@
1
1
  module Risu
2
- module Modules
2
+ module Templates
3
3
  class Template < Risu::Base::TemplateBase
4
4
 
5
5
  # Initializes the template loading metadata
data/risu.gemspec CHANGED
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  base = __FILE__
4
2
  $:.unshift(File.join(File.dirname(base), 'lib'))
5
3
 
@@ -41,4 +39,5 @@ Gem::Specification.new do |s|
41
39
  s.add_dependency('mysql', ['>= 2.8.1'])
42
40
  s.add_dependency('rmagick', [">= 2.13.1"])
43
41
  s.add_dependency('sqlite3', [">= 1.3.3"])
42
+ s.add_dependency('simplecov', [">= 0.5.4"])
44
43
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: risu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.9
4
+ version: 1.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-23 00:00:00.000000000Z
12
+ date: 2012-02-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70205101214600 !ruby/object:Gem::Requirement
16
+ requirement: &70112537871540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.5.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70205101214600
24
+ version_requirements: *70112537871540
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rcov
27
- requirement: &70205101211980 !ruby/object:Gem::Requirement
27
+ requirement: &70112537870960 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.9.9
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70205101211980
35
+ version_requirements: *70112537870960
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &70205101200020 !ruby/object:Gem::Requirement
38
+ requirement: &70112537870420 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.6.4
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70205101200020
46
+ version_requirements: *70112537870420
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: machinist
49
- requirement: &70205101197980 !ruby/object:Gem::Requirement
49
+ requirement: &70112537869780 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.6
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70205101197980
57
+ version_requirements: *70112537869780
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: sham
60
- requirement: &70205101196320 !ruby/object:Gem::Requirement
60
+ requirement: &70112537869080 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.4.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70205101196320
68
+ version_requirements: *70112537869080
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: faker
71
- requirement: &70205101194640 !ruby/object:Gem::Requirement
71
+ requirement: &70112537868440 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.9.5
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70205101194640
79
+ version_requirements: *70112537868440
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rails
82
- requirement: &70205101192620 !ruby/object:Gem::Requirement
82
+ requirement: &70112537867640 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 3.0.7
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70205101192620
90
+ version_requirements: *70112537867640
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: libxml-ruby
93
- requirement: &70205101190780 !ruby/object:Gem::Requirement
93
+ requirement: &70112537867020 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 1.1.4
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70205101190780
101
+ version_requirements: *70112537867020
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: prawn
104
- requirement: &70205101189420 !ruby/object:Gem::Requirement
104
+ requirement: &70112537866340 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 0.11.1
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *70205101189420
112
+ version_requirements: *70112537866340
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: gruff
115
- requirement: &70205101188640 !ruby/object:Gem::Requirement
115
+ requirement: &70112537865800 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 0.3.6
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *70205101188640
123
+ version_requirements: *70112537865800
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: mysql
126
- requirement: &70205101187680 !ruby/object:Gem::Requirement
126
+ requirement: &70112537864680 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 2.8.1
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *70205101187680
134
+ version_requirements: *70112537864680
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: rmagick
137
- requirement: &70205101186380 !ruby/object:Gem::Requirement
137
+ requirement: &70112537863500 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 2.13.1
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *70205101186380
145
+ version_requirements: *70112537863500
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: sqlite3
148
- requirement: &70205101185020 !ruby/object:Gem::Requirement
148
+ requirement: &70112537862980 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,7 +153,18 @@ dependencies:
153
153
  version: 1.3.3
154
154
  type: :runtime
155
155
  prerelease: false
156
- version_requirements: *70205101185020
156
+ version_requirements: *70112537862980
157
+ - !ruby/object:Gem::Dependency
158
+ name: simplecov
159
+ requirement: &70112537861860 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: 0.5.4
165
+ type: :runtime
166
+ prerelease: false
167
+ version_requirements: *70112537861860
157
168
  description: risu is a Nessus .nessus xml parser and report generation tool
158
169
  email: jacob.hammack@hammackj.com
159
170
  executables:
@@ -166,6 +177,7 @@ extra_rdoc_files:
166
177
  - TODO.markdown
167
178
  - KNOWNISSUES.markdown
168
179
  files:
180
+ - Gemfile.ci
169
181
  - KNOWNISSUES.markdown
170
182
  - LICENSE
171
183
  - NEWS.markdown
@@ -200,6 +212,8 @@ files:
200
212
  - lib/risu/parsers/nessus/nessus_document.rb
201
213
  - lib/risu/parsers/nessus/nessus_sax_listener.rb
202
214
  - lib/risu/parsers.rb
215
+ - lib/risu/renderers/nilrenderer.rb
216
+ - lib/risu/renderers.rb
203
217
  - lib/risu/templates/assets.rb
204
218
  - lib/risu/templates/cover_sheet.rb
205
219
  - lib/risu/templates/data/nessuslogo.jpg
@@ -216,6 +230,7 @@ files:
216
230
  - lib/risu/templates/notable.rb
217
231
  - lib/risu/templates/notable_detailed.rb
218
232
  - lib/risu/templates/pci_compliance.rb
233
+ - lib/risu/templates/stig_findings_summary.rb
219
234
  - lib/risu/templates/technical_findings.rb
220
235
  - lib/risu/templates/template.rb
221
236
  - lib/risu.rb