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.
- data/Gemfile.ci +2 -5
- data/KNOWNISSUES.markdown +12 -11
- data/LICENSE +11 -11
- data/NEWS.markdown +43 -8
- data/README.markdown +36 -32
- data/Rakefile +29 -9
- data/TODO.markdown +150 -77
- data/bin/risu +26 -0
- data/lib/risu.rb +27 -1
- data/lib/risu/base.rb +26 -0
- data/lib/risu/base/prawn_templater.rb +36 -8
- data/lib/risu/base/schema.rb +199 -163
- data/lib/risu/base/template_base.rb +34 -7
- data/lib/risu/base/template_manager.rb +37 -37
- data/lib/risu/base/templater.rb +36 -9
- data/lib/risu/cli.rb +26 -0
- data/lib/risu/cli/application.rb +72 -39
- data/lib/risu/cli/banner.rb +47 -21
- data/lib/risu/exceptions.rb +26 -0
- data/lib/risu/exceptions/invaliddocument.rb +30 -1
- data/lib/risu/models.rb +26 -0
- data/lib/risu/models/familyselection.rb +28 -2
- data/lib/risu/models/host.rb +59 -2
- data/lib/risu/models/individualpluginselection.rb +26 -1
- data/lib/risu/models/item.rb +132 -79
- data/lib/risu/models/patch.rb +26 -1
- data/lib/risu/models/plugin.rb +28 -2
- data/lib/risu/models/pluginspreference.rb +26 -2
- data/lib/risu/models/policy.rb +27 -2
- data/lib/risu/models/reference.rb +81 -20
- data/lib/risu/models/report.rb +33 -8
- data/lib/risu/models/serverpreference.rb +26 -1
- data/lib/risu/models/servicedescription.rb +26 -1
- data/lib/risu/models/version.rb +26 -1
- data/lib/risu/parsers.rb +29 -0
- data/lib/risu/parsers/nessus/nessus_document.rb +47 -14
- data/lib/risu/parsers/nessus/nessus_sax_listener.rb +45 -16
- data/lib/risu/parsers/nexpose/nexpose_document.rb +91 -0
- data/lib/risu/parsers/nexpose/simple_nexpose.rb +108 -0
- data/lib/risu/renderers.rb +26 -0
- data/lib/risu/renderers/nilrenderer.rb +30 -4
- data/lib/risu/templates/assets.rb +36 -10
- data/lib/risu/templates/cover_sheet.rb +34 -8
- data/lib/risu/templates/exec_summary.rb +45 -19
- data/lib/risu/templates/executive_summary.rb +37 -11
- data/lib/risu/templates/finding_statistics.rb +33 -7
- data/lib/risu/templates/findings_host.rb +44 -18
- data/lib/risu/templates/findings_summary.rb +43 -17
- data/lib/risu/templates/findings_summary_with_pluginid.rb +60 -18
- data/lib/risu/templates/graphs.rb +30 -0
- data/lib/risu/templates/host_summary.rb +34 -8
- data/lib/risu/templates/ms_patch_summary.rb +35 -9
- data/lib/risu/templates/ms_update_summary.rb +34 -8
- data/lib/risu/templates/ms_wsus_findings.rb +99 -0
- data/lib/risu/templates/notable.rb +39 -13
- data/lib/risu/templates/notable_detailed.rb +42 -16
- data/lib/risu/templates/pci_compliance.rb +40 -14
- data/lib/risu/templates/stig_findings_summary.rb +62 -36
- data/lib/risu/templates/technical_findings.rb +29 -3
- data/lib/risu/templates/template.rb +35 -9
- data/risu.gemspec +28 -7
- metadata +94 -101
@@ -1,18 +1,44 @@
|
|
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 StigFindingsSummary < Risu::Base::TemplateBase
|
4
|
-
|
30
|
+
|
5
31
|
# Initializes the template loading metadata
|
6
32
|
#
|
7
33
|
def initialize ()
|
8
|
-
@template_info =
|
9
|
-
{
|
10
|
-
:name => "stig_findings_summary",
|
11
|
-
:author => "hammackj",
|
12
|
-
:version => "0.0.
|
34
|
+
@template_info =
|
35
|
+
{
|
36
|
+
:name => "stig_findings_summary",
|
37
|
+
:author => "hammackj",
|
38
|
+
:version => "0.0.2",
|
13
39
|
:description => "DISA Stig findings summary report"
|
14
40
|
}
|
15
|
-
|
41
|
+
|
16
42
|
@output = nil
|
17
43
|
end
|
18
44
|
|
@@ -22,10 +48,10 @@ module Risu
|
|
22
48
|
@output.text Report.classification.upcase, :align => :center
|
23
49
|
@output.text "\n"
|
24
50
|
|
25
|
-
@output.font_size(22) do
|
51
|
+
@output.font_size(22) do
|
26
52
|
@output.text Report.title, :align => :center
|
27
53
|
end
|
28
|
-
|
54
|
+
|
29
55
|
@output.font_size(18) do
|
30
56
|
@output.text "Stig Findings Summary", :align => :center
|
31
57
|
@output.text "\n"
|
@@ -34,14 +60,14 @@ module Risu
|
|
34
60
|
|
35
61
|
@output.text "\n\n\n"
|
36
62
|
end
|
37
|
-
|
38
|
-
# Creates a list of hosts from an list of Items
|
63
|
+
|
64
|
+
# Creates a list of hosts from an list of Items
|
39
65
|
#
|
40
66
|
# @param items
|
41
67
|
def host_list_from_plugin_id(plugin_id)
|
42
68
|
Host.where('id IN (:hosts)', :hosts => Item.where(:plugin_id => plugin_id).select(:host_id).select('host_id AS id'))
|
43
69
|
end
|
44
|
-
|
70
|
+
|
45
71
|
def host_list_text(hosts)
|
46
72
|
host_string = ""
|
47
73
|
hosts.all.each do |host|
|
@@ -52,54 +78,54 @@ module Risu
|
|
52
78
|
|
53
79
|
return host_string.chomp!(", ")
|
54
80
|
end
|
55
|
-
|
56
|
-
# Generates stig finding text for
|
81
|
+
|
82
|
+
# Generates stig finding text for
|
57
83
|
#
|
58
|
-
# @param
|
59
|
-
def stig_findings_text(
|
60
|
-
if
|
84
|
+
# @param category I/II/III for each stig severity
|
85
|
+
def stig_findings_text(category="I")
|
86
|
+
if category != "I" || category != "II" || category != "III"
|
61
87
|
return
|
62
88
|
end
|
63
|
-
|
64
|
-
stigs = Item.stig_findings(
|
65
|
-
|
66
|
-
stigs.each do |stig|
|
89
|
+
|
90
|
+
stigs = Item.stig_findings(category).group(:plugin_id)
|
91
|
+
|
92
|
+
stigs.each do |stig|
|
67
93
|
@output.text "#{stig.plugin_name}", :size => 16
|
68
94
|
hosts = host_list_from_plugin_id(stig.plugin_id)
|
69
95
|
hosts_string = host_list_text(hosts)
|
70
|
-
|
96
|
+
|
71
97
|
if hosts.count > 1
|
72
98
|
@output.text "<b>Hosts</b>: #{hosts_string}", :inline_format => true
|
73
99
|
else
|
74
100
|
@output.text "<b>Host</b>: #{hosts_string}", :inline_format => true
|
75
101
|
end
|
76
|
-
|
102
|
+
|
77
103
|
@output.text "<b>Risk</b>: #{stig.plugin.risk_factor}", :inline_format => true
|
78
104
|
@output.text "<b>CVE Reference</b>: #{ref_string(stig.plugin.references.cve)}", :inline_format => true
|
79
105
|
@output.text "<b>IAVA Reference</b>: #{ref_string(stig.plugin.references.iava)}", :inline_format => true
|
80
|
-
|
106
|
+
|
81
107
|
if stig.plugin.description != nil
|
82
108
|
@output.text "\nDescription:", :style => :bold
|
83
109
|
@output.text stig.plugin.description
|
84
110
|
end
|
85
|
-
|
111
|
+
|
86
112
|
@output.text "\n"
|
87
113
|
end
|
88
114
|
end
|
89
|
-
|
115
|
+
|
90
116
|
#
|
91
117
|
#
|
92
118
|
def ref_string ref
|
93
119
|
return "" if ref == nil
|
94
|
-
|
120
|
+
|
95
121
|
ref_string = ""
|
96
122
|
ref.each do |r|
|
97
123
|
ref_string << r.value + ", "
|
98
124
|
end
|
99
|
-
|
125
|
+
|
100
126
|
ref_string.chomp!(", ")
|
101
127
|
end
|
102
|
-
|
128
|
+
|
103
129
|
# Called during the rendering process
|
104
130
|
#
|
105
131
|
def render(output)
|
@@ -108,26 +134,26 @@ module Risu
|
|
108
134
|
@output.font_size 10
|
109
135
|
|
110
136
|
header
|
111
|
-
|
137
|
+
|
112
138
|
if Item.stig_findings("I").count > 0
|
113
139
|
@output.text "<color rgb='551A8B'>Category I Findings</color>", :size => 18, :style => :bold, :inline_format => true
|
114
140
|
stig_findings_text("I")
|
115
|
-
end
|
116
|
-
|
141
|
+
end
|
142
|
+
|
117
143
|
if Item.stig_findings("II").count > 0
|
118
144
|
@output.start_new_page
|
119
145
|
@output.text "<color rgb='FF0000'>Category II Findings</color>", :size => 18, :style => :bold, :inline_format => true
|
120
146
|
stig_findings_text("II")
|
121
|
-
end
|
122
|
-
|
147
|
+
end
|
148
|
+
|
123
149
|
if Item.stig_findings("III").count > 0
|
124
150
|
@output.start_new_page
|
125
151
|
@output.text "<color rgb='FF8040'>Category III Findings</color>", :size => 18, :style => :bold, :inline_format => true
|
126
152
|
stig_findings_text("III")
|
127
153
|
end
|
128
|
-
|
154
|
+
|
129
155
|
@output.number_pages "<page> of <total>", :at => [@output.bounds.right - 75, 0], :width => 150, :page_filter => :all
|
130
|
-
|
156
|
+
|
131
157
|
end
|
132
158
|
end
|
133
159
|
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 TechnicalFindings < Risu::Base::TemplateBase
|
@@ -9,7 +35,7 @@ module Risu
|
|
9
35
|
{
|
10
36
|
:name => "technical_findings",
|
11
37
|
:author => "hammackj",
|
12
|
-
:version => "0.0.
|
38
|
+
:version => "0.0.3",
|
13
39
|
:description => "Generates a Technical Findings Report"
|
14
40
|
}
|
15
41
|
end
|
@@ -30,7 +56,7 @@ module Risu
|
|
30
56
|
output.text "\n\n\n"
|
31
57
|
|
32
58
|
unique_risks = Array.new
|
33
|
-
unique_risks << Hash[:title => "
|
59
|
+
unique_risks << Hash[:title => "Critical Findings", :color => "9B30FF", :values => Item.critical_risks_unique]
|
34
60
|
unique_risks << Hash[:title => "High Findings", :color => "FF0000", :values => Item.high_risks_unique]
|
35
61
|
# unique_risks << Hash[:title => "Medium Findings", :color => "FF8040", :values => Item.medium_risks_unique]
|
36
62
|
|
@@ -41,7 +67,7 @@ module Risu
|
|
41
67
|
output.text h[:title], :style => :bold
|
42
68
|
output.fill_color "000000"
|
43
69
|
end
|
44
|
-
|
70
|
+
|
45
71
|
output.font_size(10)
|
46
72
|
|
47
73
|
output.text "\n"
|
@@ -1,25 +1,51 @@
|
|
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 Template < Risu::Base::TemplateBase
|
4
|
-
|
5
|
-
# Initializes the template loading
|
30
|
+
|
31
|
+
# Initializes the template loading meta data
|
6
32
|
#
|
7
33
|
def initialize ()
|
8
|
-
@template_info =
|
9
|
-
{
|
10
|
-
:name => "template",
|
11
|
-
:author => "hammackj",
|
12
|
-
:version => "0.0.
|
34
|
+
@template_info =
|
35
|
+
{
|
36
|
+
:name => "template",
|
37
|
+
:author => "hammackj",
|
38
|
+
:version => "0.0.2",
|
13
39
|
:description => "template"
|
14
40
|
}
|
15
41
|
end
|
16
|
-
|
42
|
+
|
17
43
|
# Called during the rendering process
|
18
44
|
#
|
19
45
|
def render(output)
|
20
46
|
output.text "Template"
|
47
|
+
output.start_new_page
|
21
48
|
end
|
22
49
|
end
|
23
50
|
end
|
24
51
|
end
|
25
|
-
|
data/risu.gemspec
CHANGED
@@ -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
|
base = __FILE__
|
2
28
|
$:.unshift(File.join(File.dirname(base), 'lib'))
|
3
29
|
|
@@ -9,7 +35,7 @@ Gem::Specification.new do |s|
|
|
9
35
|
s.version = Risu::VERSION
|
10
36
|
s.homepage = "http://www.hammackj.com/projects/risu"
|
11
37
|
s.summary = "#{Risu::APP_NAME}"
|
12
|
-
s.description = "#{Risu::APP_NAME} is a Nessus .nessus
|
38
|
+
s.description = "#{Risu::APP_NAME} is a Nessus .nessus XML parser and report generation tool"
|
13
39
|
s.license = "BSD"
|
14
40
|
|
15
41
|
s.author = "Jacob Hammack"
|
@@ -25,12 +51,8 @@ Gem::Specification.new do |s|
|
|
25
51
|
s.required_rubygems_version = ">= 1.6.0"
|
26
52
|
s.rubyforge_project = "#{Risu::APP_NAME}"
|
27
53
|
|
28
|
-
s.add_development_dependency("
|
29
|
-
s.add_development_dependency("rcov", [">= 0.9.9"])
|
54
|
+
s.add_development_dependency("simplecov", [">= 0.9.9"])
|
30
55
|
s.add_development_dependency("yard", [">= 0.6.4"])
|
31
|
-
s.add_development_dependency("machinist", [">= 1.0.6"])
|
32
|
-
s.add_development_dependency("sham", [">= 0.4.0"])
|
33
|
-
s.add_development_dependency("faker", [">= 0.9.5"])
|
34
56
|
|
35
57
|
s.add_dependency('rails', ['>= 3.0.7'])
|
36
58
|
s.add_dependency('libxml-ruby', ['>= 1.1.4'])
|
@@ -39,5 +61,4 @@ Gem::Specification.new do |s|
|
|
39
61
|
s.add_dependency('mysql', ['>= 2.8.1'])
|
40
62
|
s.add_dependency('rmagick', [">= 2.13.1"])
|
41
63
|
s.add_dependency('sqlite3', [">= 1.3.3"])
|
42
|
-
s.add_dependency('simplecov', [">= 0.5.4"])
|
43
64
|
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.5.
|
4
|
+
version: 1.5.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,33 +9,27 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
requirement:
|
15
|
+
name: simplecov
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 0.9.9
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: rcov
|
27
|
-
requirement: &70112537870960 !ruby/object:Gem::Requirement
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
25
|
none: false
|
29
26
|
requirements:
|
30
27
|
- - ! '>='
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: 0.9.9
|
33
|
-
type: :development
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *70112537870960
|
36
30
|
- !ruby/object:Gem::Dependency
|
37
31
|
name: yard
|
38
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
39
33
|
none: false
|
40
34
|
requirements:
|
41
35
|
- - ! '>='
|
@@ -43,65 +37,47 @@ dependencies:
|
|
43
37
|
version: 0.6.4
|
44
38
|
type: :development
|
45
39
|
prerelease: false
|
46
|
-
version_requirements:
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: machinist
|
49
|
-
requirement: &70112537869780 !ruby/object:Gem::Requirement
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
41
|
none: false
|
51
42
|
requirements:
|
52
43
|
- - ! '>='
|
53
44
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
type: :development
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: *70112537869780
|
45
|
+
version: 0.6.4
|
58
46
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement:
|
47
|
+
name: rails
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
61
49
|
none: false
|
62
50
|
requirements:
|
63
51
|
- - ! '>='
|
64
52
|
- !ruby/object:Gem::Version
|
65
|
-
version: 0.
|
66
|
-
type: :
|
53
|
+
version: 3.0.7
|
54
|
+
type: :runtime
|
67
55
|
prerelease: false
|
68
|
-
version_requirements:
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: faker
|
71
|
-
requirement: &70112537868440 !ruby/object:Gem::Requirement
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
57
|
none: false
|
73
58
|
requirements:
|
74
59
|
- - ! '>='
|
75
60
|
- !ruby/object:Gem::Version
|
76
|
-
version: 0.
|
77
|
-
type: :development
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: *70112537868440
|
61
|
+
version: 3.0.7
|
80
62
|
- !ruby/object:Gem::Dependency
|
81
|
-
name:
|
82
|
-
requirement:
|
63
|
+
name: libxml-ruby
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
83
65
|
none: false
|
84
66
|
requirements:
|
85
67
|
- - ! '>='
|
86
68
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
69
|
+
version: 1.1.4
|
88
70
|
type: :runtime
|
89
71
|
prerelease: false
|
90
|
-
version_requirements:
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: libxml-ruby
|
93
|
-
requirement: &70112537867020 !ruby/object:Gem::Requirement
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
73
|
none: false
|
95
74
|
requirements:
|
96
75
|
- - ! '>='
|
97
76
|
- !ruby/object:Gem::Version
|
98
77
|
version: 1.1.4
|
99
|
-
type: :runtime
|
100
|
-
prerelease: false
|
101
|
-
version_requirements: *70112537867020
|
102
78
|
- !ruby/object:Gem::Dependency
|
103
79
|
name: prawn
|
104
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
105
81
|
none: false
|
106
82
|
requirements:
|
107
83
|
- - ! '>='
|
@@ -109,10 +85,15 @@ dependencies:
|
|
109
85
|
version: 0.11.1
|
110
86
|
type: :runtime
|
111
87
|
prerelease: false
|
112
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 0.11.1
|
113
94
|
- !ruby/object:Gem::Dependency
|
114
95
|
name: gruff
|
115
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
116
97
|
none: false
|
117
98
|
requirements:
|
118
99
|
- - ! '>='
|
@@ -120,10 +101,15 @@ dependencies:
|
|
120
101
|
version: 0.3.6
|
121
102
|
type: :runtime
|
122
103
|
prerelease: false
|
123
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.3.6
|
124
110
|
- !ruby/object:Gem::Dependency
|
125
111
|
name: mysql
|
126
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
127
113
|
none: false
|
128
114
|
requirements:
|
129
115
|
- - ! '>='
|
@@ -131,10 +117,15 @@ dependencies:
|
|
131
117
|
version: 2.8.1
|
132
118
|
type: :runtime
|
133
119
|
prerelease: false
|
134
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 2.8.1
|
135
126
|
- !ruby/object:Gem::Dependency
|
136
127
|
name: rmagick
|
137
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
138
129
|
none: false
|
139
130
|
requirements:
|
140
131
|
- - ! '>='
|
@@ -142,10 +133,15 @@ dependencies:
|
|
142
133
|
version: 2.13.1
|
143
134
|
type: :runtime
|
144
135
|
prerelease: false
|
145
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 2.13.1
|
146
142
|
- !ruby/object:Gem::Dependency
|
147
143
|
name: sqlite3
|
148
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
149
145
|
none: false
|
150
146
|
requirements:
|
151
147
|
- - ! '>='
|
@@ -153,19 +149,13 @@ dependencies:
|
|
153
149
|
version: 1.3.3
|
154
150
|
type: :runtime
|
155
151
|
prerelease: false
|
156
|
-
version_requirements:
|
157
|
-
- !ruby/object:Gem::Dependency
|
158
|
-
name: simplecov
|
159
|
-
requirement: &70112537861860 !ruby/object:Gem::Requirement
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
160
153
|
none: false
|
161
154
|
requirements:
|
162
155
|
- - ! '>='
|
163
156
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
165
|
-
|
166
|
-
prerelease: false
|
167
|
-
version_requirements: *70112537861860
|
168
|
-
description: risu is a Nessus .nessus xml parser and report generation tool
|
157
|
+
version: 1.3.3
|
158
|
+
description: risu is a Nessus .nessus XML parser and report generation tool
|
169
159
|
email: jacob.hammack@hammackj.com
|
170
160
|
executables:
|
171
161
|
- risu
|
@@ -177,62 +167,65 @@ extra_rdoc_files:
|
|
177
167
|
- TODO.markdown
|
178
168
|
- KNOWNISSUES.markdown
|
179
169
|
files:
|
180
|
-
- Gemfile.ci
|
181
|
-
- KNOWNISSUES.markdown
|
182
|
-
- LICENSE
|
183
170
|
- NEWS.markdown
|
171
|
+
- TODO.markdown
|
184
172
|
- Rakefile
|
185
173
|
- README.markdown
|
186
|
-
-
|
187
|
-
-
|
188
|
-
-
|
189
|
-
- lib/risu/base/template_base.rb
|
190
|
-
- lib/risu/base/template_manager.rb
|
191
|
-
- lib/risu/base/templater.rb
|
174
|
+
- LICENSE
|
175
|
+
- KNOWNISSUES.markdown
|
176
|
+
- Gemfile.ci
|
192
177
|
- lib/risu/base.rb
|
193
|
-
- lib/risu/cli/application.rb
|
194
|
-
- lib/risu/cli/banner.rb
|
195
178
|
- lib/risu/cli.rb
|
196
|
-
- lib/risu/
|
179
|
+
- lib/risu/cli/banner.rb
|
180
|
+
- lib/risu/cli/application.rb
|
197
181
|
- lib/risu/exceptions.rb
|
198
|
-
- lib/risu/
|
199
|
-
- lib/risu/
|
200
|
-
- lib/risu/
|
201
|
-
- lib/risu/
|
202
|
-
- lib/risu/models/
|
182
|
+
- lib/risu/parsers/nexpose/nexpose_document.rb
|
183
|
+
- lib/risu/parsers/nexpose/simple_nexpose.rb
|
184
|
+
- lib/risu/parsers/nessus/nessus_document.rb
|
185
|
+
- lib/risu/parsers/nessus/nessus_sax_listener.rb
|
186
|
+
- lib/risu/models/reference.rb
|
203
187
|
- lib/risu/models/plugin.rb
|
204
|
-
- lib/risu/models/pluginspreference.rb
|
205
188
|
- lib/risu/models/policy.rb
|
206
|
-
- lib/risu/models/
|
189
|
+
- lib/risu/models/host.rb
|
190
|
+
- lib/risu/models/item.rb
|
191
|
+
- lib/risu/models/version.rb
|
207
192
|
- lib/risu/models/report.rb
|
208
193
|
- lib/risu/models/serverpreference.rb
|
209
194
|
- lib/risu/models/servicedescription.rb
|
210
|
-
- lib/risu/models/
|
211
|
-
- lib/risu/models.rb
|
212
|
-
- lib/risu/
|
213
|
-
- lib/risu/
|
195
|
+
- lib/risu/models/pluginspreference.rb
|
196
|
+
- lib/risu/models/familyselection.rb
|
197
|
+
- lib/risu/models/patch.rb
|
198
|
+
- lib/risu/models/individualpluginselection.rb
|
199
|
+
- lib/risu/exceptions/invaliddocument.rb
|
200
|
+
- lib/risu/base/prawn_templater.rb
|
201
|
+
- lib/risu/base/template_manager.rb
|
202
|
+
- lib/risu/base/schema.rb
|
203
|
+
- lib/risu/base/template_base.rb
|
204
|
+
- lib/risu/base/templater.rb
|
214
205
|
- lib/risu/parsers.rb
|
215
|
-
- lib/risu/renderers/nilrenderer.rb
|
216
|
-
- lib/risu/renderers.rb
|
217
|
-
- lib/risu/templates/assets.rb
|
218
|
-
- lib/risu/templates/cover_sheet.rb
|
219
|
-
- lib/risu/templates/data/nessuslogo.jpg
|
220
|
-
- lib/risu/templates/exec_summary.rb
|
221
|
-
- lib/risu/templates/executive_summary.rb
|
222
|
-
- lib/risu/templates/finding_statistics.rb
|
223
206
|
- lib/risu/templates/findings_host.rb
|
224
|
-
- lib/risu/templates/
|
207
|
+
- lib/risu/templates/assets.rb
|
225
208
|
- lib/risu/templates/findings_summary_with_pluginid.rb
|
226
|
-
- lib/risu/templates/
|
209
|
+
- lib/risu/templates/findings_summary.rb
|
210
|
+
- lib/risu/templates/ms_wsus_findings.rb
|
211
|
+
- lib/risu/templates/template.rb
|
212
|
+
- lib/risu/templates/notable_detailed.rb
|
213
|
+
- lib/risu/templates/executive_summary.rb
|
214
|
+
- lib/risu/templates/data/nessuslogo.jpg
|
227
215
|
- lib/risu/templates/host_summary.rb
|
228
216
|
- lib/risu/templates/ms_patch_summary.rb
|
229
|
-
- lib/risu/templates/
|
230
|
-
- lib/risu/templates/notable.rb
|
231
|
-
- lib/risu/templates/notable_detailed.rb
|
232
|
-
- lib/risu/templates/pci_compliance.rb
|
217
|
+
- lib/risu/templates/cover_sheet.rb
|
233
218
|
- lib/risu/templates/stig_findings_summary.rb
|
219
|
+
- lib/risu/templates/pci_compliance.rb
|
220
|
+
- lib/risu/templates/notable.rb
|
234
221
|
- lib/risu/templates/technical_findings.rb
|
235
|
-
- lib/risu/templates/
|
222
|
+
- lib/risu/templates/graphs.rb
|
223
|
+
- lib/risu/templates/ms_update_summary.rb
|
224
|
+
- lib/risu/templates/finding_statistics.rb
|
225
|
+
- lib/risu/templates/exec_summary.rb
|
226
|
+
- lib/risu/renderers.rb
|
227
|
+
- lib/risu/models.rb
|
228
|
+
- lib/risu/renderers/nilrenderer.rb
|
236
229
|
- lib/risu.rb
|
237
230
|
- risu.gemspec
|
238
231
|
- bin/risu
|
@@ -257,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
257
250
|
version: 1.6.0
|
258
251
|
requirements: []
|
259
252
|
rubyforge_project: risu
|
260
|
-
rubygems_version: 1.8.
|
253
|
+
rubygems_version: 1.8.24
|
261
254
|
signing_key:
|
262
255
|
specification_version: 3
|
263
256
|
summary: risu
|