risu 1.7.6 → 1.7.7
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.
- checksums.yaml +4 -4
- data/Gemfile +0 -16
- data/README.markdown +1 -1
- data/Rakefile +10 -3
- data/{NEWS.markdown → docs/NEWS.markdown} +10 -0
- data/lib/risu/base.rb +1 -0
- data/lib/risu/base/graph_template_helper.rb +1 -1
- data/lib/risu/base/host_template_helper.rb +1 -1
- data/lib/risu/base/malware_template_helper.rb +62 -4
- data/lib/risu/base/post_process_manager.rb +1 -1
- data/lib/risu/base/scan_helper.rb +77 -0
- data/lib/risu/base/schema.rb +1 -3
- data/lib/risu/base/shares_template_helper.rb +47 -21
- data/lib/risu/base/template_helper.rb +3 -2
- data/lib/risu/base/template_manager.rb +3 -5
- data/lib/risu/cli/application.rb +2 -2
- data/lib/risu/cli/banner.rb +18 -0
- data/lib/risu/models/host.rb +58 -64
- data/lib/risu/models/item.rb +1 -0
- data/lib/risu/models/plugin.rb +7 -1
- data/lib/risu/models/report.rb +2 -2
- data/lib/risu/parsers/nessus/nessus_document.rb +1 -1
- data/lib/risu/parsers/nessus/nessus_sax_listener.rb +4 -2
- data/lib/risu/parsers/nessus/postprocess/adobe_acrobat.rb +4 -0
- data/lib/risu/parsers/nessus/postprocess/adobe_air.rb +10 -0
- data/lib/risu/parsers/nessus/postprocess/adobe_reader.rb +6 -1
- data/lib/risu/parsers/nessus/postprocess/apache_tomcat.rb +4 -0
- data/lib/risu/parsers/nessus/postprocess/apple_itunes.rb +58 -0
- data/lib/risu/parsers/nessus/postprocess/cisco_anyconnect.rb +63 -0
- data/lib/risu/parsers/nessus/postprocess/cisco_ios.rb +62 -0
- data/lib/risu/parsers/nessus/postprocess/downgrade_plugins.rb +1 -0
- data/lib/risu/parsers/nessus/postprocess/firefox.rb +11 -0
- data/lib/risu/parsers/nessus/postprocess/flash_player.rb +16 -1
- data/lib/risu/parsers/nessus/postprocess/google_chrome.rb +58 -0
- data/lib/risu/parsers/nessus/postprocess/hp_system_mgt_homepage.rb +3 -0
- data/lib/risu/parsers/nessus/postprocess/irfanview.rb +51 -0
- data/lib/risu/parsers/nessus/postprocess/java.rb +7 -0
- data/lib/risu/parsers/nessus/postprocess/libreoffice.rb +57 -0
- data/lib/risu/parsers/nessus/postprocess/openoffice.rb +56 -0
- data/lib/risu/parsers/nessus/postprocess/openssh.rb +10 -0
- data/lib/risu/parsers/nessus/postprocess/openssl.rb +2 -0
- data/lib/risu/parsers/nessus/postprocess/oracle_database.rb +9 -3
- data/lib/risu/parsers/nessus/postprocess/php.rb +8 -0
- data/lib/risu/parsers/nessus/postprocess/post_process.rb +2 -2
- data/lib/risu/parsers/nessus/postprocess/root_cause.rb +7 -1
- data/lib/risu/parsers/nessus/postprocess/shockwave.rb +3 -0
- data/lib/risu/parsers/nessus/postprocess/timbuktu.rb +53 -0
- data/lib/risu/parsers/nessus/postprocess/vmware_esxi.rb +15 -0
- data/lib/risu/parsers/nessus/postprocess/vmware_player.rb +8 -1
- data/lib/risu/parsers/nessus/postprocess/vmware_vcenter.rb +11 -0
- data/lib/risu/parsers/nessus/postprocess/vmware_vsphere_client.rb +2 -0
- data/lib/risu/parsers/nessus/postprocess/windows.rb +140 -3
- data/lib/risu/parsers/nessus/postprocess/wireshark.rb +11 -0
- data/lib/risu/parsers/nexpose/nexpose_document.rb +1 -1
- data/lib/risu/parsers/nexpose/simple_nexpose.rb +0 -3
- data/lib/risu/renderers/csvrenderer.rb +2 -1
- data/lib/risu/templates/authentication_summary.rb +95 -0
- data/lib/risu/templates/findings_summary.rb +7 -3
- data/lib/risu/templates/findings_summary_with_pluginid.rb +12 -6
- data/lib/risu/templates/host_findings_csv.rb +14 -5
- data/lib/risu/templates/malicious_process_detection.rb +1 -5
- data/lib/risu/templates/notable_detailed.rb +4 -9
- data/lib/risu/templates/technical_findings.rb +3 -3
- data/lib/risu/templates/top_25.rb +5 -4
- data/lib/risu/version.rb +2 -2
- data/risu.gemspec +11 -11
- metadata +41 -33
@@ -24,8 +24,6 @@
|
|
24
24
|
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
25
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
26
26
|
|
27
|
-
require 'risu'
|
28
|
-
|
29
27
|
ActiveRecord::Migration.verbose = false
|
30
28
|
|
31
29
|
module Risu
|
@@ -105,4 +103,3 @@ module Risu
|
|
105
103
|
end
|
106
104
|
end
|
107
105
|
end
|
108
|
-
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# Copyright (c) 2010-2016 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
|
+
|
27
|
+
module Risu
|
28
|
+
module Templates
|
29
|
+
class AuthenticationSummary < Risu::Base::TemplateBase
|
30
|
+
include TemplateHelper
|
31
|
+
|
32
|
+
#
|
33
|
+
def initialize ()
|
34
|
+
@template_info =
|
35
|
+
{
|
36
|
+
:name => "authentication_summary",
|
37
|
+
:author => "hammackj",
|
38
|
+
:version => "0.0.1",
|
39
|
+
:renderer => "PDF",
|
40
|
+
:description => "Generates a Authentication Summary Report"
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
#
|
45
|
+
#
|
46
|
+
def render(output)
|
47
|
+
@output.text Report.classification.upcase, :align => :center
|
48
|
+
@output.text "\n"
|
49
|
+
|
50
|
+
report_title Report.title
|
51
|
+
report_subtitle "Authentication Summary Report"
|
52
|
+
report_author "This report was prepared by\n#{Report.author}"
|
53
|
+
|
54
|
+
@output.text "\n\n\n"
|
55
|
+
|
56
|
+
@output.text "Scan Date:", :style => :bold
|
57
|
+
@output.text "#{Report.scan_date}"
|
58
|
+
@output.text "\n"
|
59
|
+
|
60
|
+
results = Array.new
|
61
|
+
|
62
|
+
headers = ["Hostname", "OS", "Authenticated"]
|
63
|
+
header_widths = {0 => 230, 1 => 138, 2 => 138}
|
64
|
+
|
65
|
+
Host.sorted.each do |host|
|
66
|
+
row = Array.new
|
67
|
+
|
68
|
+
authenticated = nil
|
69
|
+
|
70
|
+
if host.host_properties.where(:name => "Credentialed_Scan").first != nil
|
71
|
+
authenticated = host.host_properties.where(:name => "Credentialed_Scan").first.value
|
72
|
+
end
|
73
|
+
|
74
|
+
os = host.os
|
75
|
+
|
76
|
+
host_name = host.name
|
77
|
+
host_name = "#{host.name} (#{host.netbios})" if host.netbios != nil
|
78
|
+
|
79
|
+
row.push(host_name)
|
80
|
+
row.push(os)
|
81
|
+
row.push(authenticated)
|
82
|
+
|
83
|
+
results.push(row)
|
84
|
+
end
|
85
|
+
|
86
|
+
output.table([headers] + results, :header => true, :column_widths => header_widths, :row_colors => ['ffffff', 'E5E5E5']) do
|
87
|
+
row(0).style(:font_style => :bold, :background_color => 'D0D0D0')
|
88
|
+
cells.borders = [:top, :bottom, :left, :right]
|
89
|
+
end
|
90
|
+
|
91
|
+
output.number_pages "<page> of <total>", :at => [output.bounds.right - 75, 0], :width => 150, :page_filter => :all
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -34,25 +34,29 @@ module Risu
|
|
34
34
|
{
|
35
35
|
:name => "findings_summary",
|
36
36
|
:author => "hammackj",
|
37
|
-
:version => "0.0.
|
37
|
+
:version => "0.0.4",
|
38
38
|
:renderer => "PDF",
|
39
39
|
:description => "Generates a findings summary report"
|
40
40
|
}
|
41
41
|
end
|
42
42
|
|
43
|
-
def
|
43
|
+
def print_risk_title (text, color)
|
44
44
|
@output.font_size(20) do
|
45
45
|
@output.fill_color color.gsub('#', '')
|
46
46
|
@output.text text, :style => :bold
|
47
47
|
@output.fill_color "000000"
|
48
48
|
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def print_risk_summary(risks, text, color)
|
52
|
+
print_risk_title(text, color) if risks.length != 0
|
49
53
|
|
50
54
|
risks.each do |item|
|
51
55
|
name = Plugin.find_by_id(item.plugin_id).plugin_name
|
52
56
|
count = Item.where(:plugin_id => item.plugin_id).count
|
53
57
|
|
54
58
|
text "#{count} - #{name}"
|
55
|
-
end
|
59
|
+
end
|
56
60
|
end
|
57
61
|
|
58
62
|
def render(output)
|
@@ -36,30 +36,36 @@ module Risu
|
|
36
36
|
{
|
37
37
|
:name => "findings_summary_with_pluginid",
|
38
38
|
:author => "hammackj",
|
39
|
-
:version => "0.0.
|
39
|
+
:version => "0.0.6",
|
40
40
|
:renderer => "PDF",
|
41
41
|
:description => "Generates a Findings Summary with Nessus Plugin ID"
|
42
42
|
}
|
43
43
|
end
|
44
44
|
|
45
|
+
# TODO doc
|
45
46
|
#
|
46
|
-
|
47
|
-
def print_risk_summary_with_plugin_id(risks, text, color)
|
47
|
+
def print_risk_title (text, color)
|
48
48
|
@output.font_size(20) do
|
49
49
|
@output.fill_color color.gsub('#', '')
|
50
50
|
@output.text text, :style => :bold
|
51
51
|
@output.fill_color "000000"
|
52
52
|
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# TODO doc
|
56
|
+
#
|
57
|
+
def print_risk_summary_with_plugin_id(risks, text, color)
|
58
|
+
print_risk_title(text, color) if risks.length != 0
|
53
59
|
|
54
60
|
risks.each do |item|
|
55
61
|
name = Plugin.find_by_id(item.plugin_id).plugin_name
|
56
62
|
count = Item.where(:plugin_id => item.plugin_id).count
|
57
63
|
|
58
64
|
text "#{count} - #{name} - #{item.plugin_id}"
|
59
|
-
end
|
60
|
-
end
|
65
|
+
end
|
66
|
+
end
|
61
67
|
|
62
|
-
#
|
68
|
+
# TODO doc
|
63
69
|
#
|
64
70
|
def render(output)
|
65
71
|
text Report.classification.upcase, :align => :center
|
@@ -35,7 +35,7 @@ module Risu
|
|
35
35
|
{
|
36
36
|
:name => "host_findings_csv",
|
37
37
|
:author => "hammackj",
|
38
|
-
:version => "0.0.
|
38
|
+
:version => "0.0.3",
|
39
39
|
:renderer => "CSV",
|
40
40
|
:description => "Generates a findings report by host and outputs to CSV"
|
41
41
|
|
@@ -47,20 +47,29 @@ module Risu
|
|
47
47
|
#
|
48
48
|
def csv risks
|
49
49
|
risks.order(:cvss_base_score).each do |plugin|
|
50
|
-
items = Item.where(:plugin_id => plugin.id)
|
50
|
+
items = Item.where(:plugin_id => plugin.id).group(:host_id)
|
51
51
|
|
52
52
|
items.each do |item|
|
53
|
+
# Skip all PostProcssed Items
|
54
|
+
if item.severity == -1
|
55
|
+
next
|
56
|
+
end
|
57
|
+
|
53
58
|
host = Host.where(:id => item.host_id).first
|
54
59
|
|
55
|
-
|
60
|
+
solution = plugin.solution.gsub("\n", " ").gsub(",", "")
|
61
|
+
|
62
|
+
@output.text "#{host.ip}, #{host.fqdn}, #{host.netbios}, #{item.plugin_name}, #{plugin.risk_factor}, #{plugin.cvss_base_score}, #{solution}"
|
56
63
|
end
|
57
64
|
end
|
58
65
|
end
|
59
66
|
|
60
|
-
#
|
67
|
+
# TODO doc
|
61
68
|
#
|
62
69
|
def render(output)
|
63
|
-
|
70
|
+
@output.text "IP Address, FQDN, Netbios Name, Finding, Risk Factor, CVSS Base Score, Solution"
|
71
|
+
csv Plugin.critical_risks.order(cvss_base_score: :desc)
|
72
|
+
csv Plugin.high_risks.order(cvss_base_score: :desc)
|
64
73
|
end
|
65
74
|
end
|
66
75
|
end
|
@@ -105,11 +105,7 @@ module Risu
|
|
105
105
|
if plugin.exploit_available != nil
|
106
106
|
text "\nExploit Available", :style => :bold
|
107
107
|
|
108
|
-
|
109
|
-
text "Yes"
|
110
|
-
else
|
111
|
-
text "No"
|
112
|
-
end
|
108
|
+
plugin.exploit_available? ? "Yes" : "No"
|
113
109
|
end
|
114
110
|
|
115
111
|
if plugin.solution != nil
|
@@ -57,7 +57,7 @@ module Risu
|
|
57
57
|
@output.text "#{Report.scan_date}"
|
58
58
|
@output.text "\n"
|
59
59
|
|
60
|
-
data = Item.top_10_sorted_raw
|
60
|
+
#data = Item.top_10_sorted_raw
|
61
61
|
|
62
62
|
unique_risks = Array.new
|
63
63
|
unique_risks << Hash[:title => "Notable Findings", :color => "9B30FF", :values => Item.top_10_sorted_raw[0..9]]
|
@@ -71,7 +71,7 @@ module Risu
|
|
71
71
|
plugin_id = f[0]
|
72
72
|
|
73
73
|
hosts = Item.where(:plugin_id => plugin_id).group(:host_id)
|
74
|
-
item = Item.where(:plugin_id => plugin_id)
|
74
|
+
#item = Item.where(:plugin_id => plugin_id)
|
75
75
|
plugin = Plugin.find_by_id(plugin_id)
|
76
76
|
|
77
77
|
references = Reference.where(:plugin_id => plugin.id).group(:value).order(:reference_name)
|
@@ -79,7 +79,7 @@ module Risu
|
|
79
79
|
heading3 "#{counter}: #{Item.scrub_plugin_name(plugin.plugin_name)}\n"
|
80
80
|
|
81
81
|
if hosts.length > 1
|
82
|
-
@output.text "Hosts", :style => :bold
|
82
|
+
@output.text "Hosts (#{hosts.length})", :style => :bold
|
83
83
|
else
|
84
84
|
@output.text "Host", :style => :bold
|
85
85
|
end
|
@@ -117,11 +117,7 @@ module Risu
|
|
117
117
|
if plugin.exploit_available != nil
|
118
118
|
@output.text "\nExploit Available", :style => :bold
|
119
119
|
|
120
|
-
|
121
|
-
@output.text "Yes"
|
122
|
-
else
|
123
|
-
@output.text "No"
|
124
|
-
end
|
120
|
+
plugin.exploit_available? ? "Yes" : "No"
|
125
121
|
end
|
126
122
|
|
127
123
|
if plugin.solution != nil
|
@@ -150,4 +146,3 @@ module Risu
|
|
150
146
|
end
|
151
147
|
end
|
152
148
|
end
|
153
|
-
|
@@ -48,14 +48,14 @@ module Risu
|
|
48
48
|
hosts = Item.where(:plugin_id => f.plugin_id).group(:host_id)
|
49
49
|
plugin = Plugin.find_by_id(f.plugin_id)
|
50
50
|
|
51
|
-
references = Reference.where(:plugin_id => plugin.id).group(:value).order(:reference_name)
|
51
|
+
#references = Reference.where(:plugin_id => plugin.id).group(:value).order(:reference_name)
|
52
52
|
|
53
53
|
output.font_size(16) do
|
54
54
|
text "#{plugin.plugin_name}\n"
|
55
55
|
end
|
56
56
|
|
57
57
|
if hosts.length > 1
|
58
|
-
text "Hosts", :style => :bold
|
58
|
+
text "Hosts (#{hosts.length})", :style => :bold
|
59
59
|
else
|
60
60
|
text "Host", :style => :bold
|
61
61
|
end
|
@@ -74,7 +74,7 @@ module Risu
|
|
74
74
|
definition "Description", plugin.description.gsub(/[ ]{2,}/, " ") if plugin.description != nil
|
75
75
|
definition "Synopsis", plugin.synopsis
|
76
76
|
definition "CVSS Base Score", plugin.cvss_base_score
|
77
|
-
definition "Exploit Available",
|
77
|
+
definition "Exploit Available", plugin.exploit_available? ? "Yes" : "No"
|
78
78
|
definition "Solution", plugin.solution
|
79
79
|
definition "References", plugin.references.reference_string, :inline_format => true
|
80
80
|
|
@@ -36,7 +36,7 @@ module Risu
|
|
36
36
|
{
|
37
37
|
:name => "top_25",
|
38
38
|
:author => "hammackj",
|
39
|
-
:version => "0.0.
|
39
|
+
:version => "0.0.3",
|
40
40
|
:renderer => "PDF",
|
41
41
|
:description => "Generates a Top 25 Remediation report"
|
42
42
|
}
|
@@ -60,7 +60,8 @@ module Risu
|
|
60
60
|
page_width = output.bounds.width
|
61
61
|
|
62
62
|
#header_widths = {0 => 255, 1 => 56, 2 => 56, 3 => 56, 4 => 57}
|
63
|
-
header_widths =
|
63
|
+
header_widths =
|
64
|
+
{
|
64
65
|
0 => (page_width * 0.50),
|
65
66
|
1 => (page_width * 0.10),
|
66
67
|
2 => (page_width * 0.15),
|
@@ -68,13 +69,13 @@ module Risu
|
|
68
69
|
4 => (page_width * 0.15)
|
69
70
|
}
|
70
71
|
|
71
|
-
Plugin.where(:risk_factor => "Critical").order(:risk_score).limit(25).reverse_order.each do |plugin|
|
72
|
+
#Plugin.where(:risk_factor => "Critical").order(:risk_score).limit(25).reverse_order.each do |plugin|
|
73
|
+
Plugin.joins(:items).where(:items => {severity: 4}).order(:risk_score).group(:plugin_id).limit(25).reverse_order.each do |plugin|
|
72
74
|
row = Array.new
|
73
75
|
|
74
76
|
name = plugin.plugin_name
|
75
77
|
vulns = Item.where(:plugin_id => plugin.id).count
|
76
78
|
|
77
|
-
|
78
79
|
if plugin.exploitability_ease == "Exploits are available"
|
79
80
|
exploitability = "Yes"
|
80
81
|
else
|
data/lib/risu/version.rb
CHANGED
data/risu.gemspec
CHANGED
@@ -45,22 +45,22 @@ Gem::Specification.new do |s|
|
|
45
45
|
s.executables = "#{Risu::APP_NAME}"
|
46
46
|
s.require_paths = ["lib"]
|
47
47
|
s.has_rdoc = 'yard'
|
48
|
-
s.extra_rdoc_files = ["README.markdown", "LICENSE", "NEWS.markdown"]
|
48
|
+
s.extra_rdoc_files = ["README.markdown", "LICENSE", "docs/NEWS.markdown"]
|
49
49
|
|
50
50
|
s.rubyforge_project = "#{Risu::APP_NAME}"
|
51
51
|
|
52
|
-
s.add_runtime_dependency 'rails', '~> 4.2', '>= 4.2.
|
53
|
-
s.add_runtime_dependency 'libxml-ruby', '~> 2.
|
54
|
-
s.add_runtime_dependency 'prawn', '~> 2.0', '>= 2.0
|
52
|
+
s.add_runtime_dependency 'rails', '~> 4.2', '>= 4.2.6'
|
53
|
+
s.add_runtime_dependency 'libxml-ruby', '~> 2.9', '>= 2.9.0'
|
54
|
+
s.add_runtime_dependency 'prawn', '~> 2.0', '>= 2.1.0'
|
55
55
|
s.add_runtime_dependency 'prawn-table', '~> 0.2', '>= 0.2.2'
|
56
|
-
s.add_runtime_dependency 'gruff', '~> 0.
|
57
|
-
s.add_runtime_dependency 'mysql2', '~> 0.4', '>= 0.4.
|
56
|
+
s.add_runtime_dependency 'gruff', '~> 0.7', '>= 0.7.0'
|
57
|
+
s.add_runtime_dependency 'mysql2', '~> 0.4', '>= 0.4.4'
|
58
58
|
s.add_runtime_dependency 'rmagick', '~> 2.15', '>= 2.15.4'
|
59
59
|
s.add_runtime_dependency 'sqlite3', '~> 1.3', '>= 1.3.11'
|
60
|
-
s.add_runtime_dependency 'nokogiri', '~> 1.6', '>= 1.6.
|
60
|
+
s.add_runtime_dependency 'nokogiri', '~> 1.6', '>= 1.6.8'
|
61
61
|
|
62
|
-
s.add_development_dependency 'simplecov', '~> 0.11', '>= 0.11.
|
63
|
-
s.add_development_dependency 'yard', '~> 0.8', '>= 0.8.
|
64
|
-
s.add_development_dependency 'minitest', '~> 5.0', '>= 5.
|
65
|
-
s.add_development_dependency 'test-unit', '~> 3.
|
62
|
+
s.add_development_dependency 'simplecov', '~> 0.11', '>= 0.11.2'
|
63
|
+
s.add_development_dependency 'yard', '~> 0.8', '>= 0.8.7.6'
|
64
|
+
s.add_development_dependency 'minitest', '~> 5.0', '>= 5.9'
|
65
|
+
s.add_development_dependency 'test-unit', '~> 3.2', ">= 3.2"
|
66
66
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: risu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jacob Hammack
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '4.2'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 4.2.
|
22
|
+
version: 4.2.6
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,27 +29,27 @@ dependencies:
|
|
29
29
|
version: '4.2'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 4.2.
|
32
|
+
version: 4.2.6
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: libxml-ruby
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '2.
|
39
|
+
version: '2.9'
|
40
40
|
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 2.
|
42
|
+
version: 2.9.0
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: '2.
|
49
|
+
version: '2.9'
|
50
50
|
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: 2.
|
52
|
+
version: 2.9.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: prawn
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,7 +59,7 @@ dependencies:
|
|
59
59
|
version: '2.0'
|
60
60
|
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 2.0
|
62
|
+
version: 2.1.0
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -69,7 +69,7 @@ dependencies:
|
|
69
69
|
version: '2.0'
|
70
70
|
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: 2.0
|
72
|
+
version: 2.1.0
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: prawn-table
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,20 +96,20 @@ dependencies:
|
|
96
96
|
requirements:
|
97
97
|
- - "~>"
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version: '0.
|
99
|
+
version: '0.7'
|
100
100
|
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 0.
|
102
|
+
version: 0.7.0
|
103
103
|
type: :runtime
|
104
104
|
prerelease: false
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '0.
|
109
|
+
version: '0.7'
|
110
110
|
- - ">="
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: 0.
|
112
|
+
version: 0.7.0
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: mysql2
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,7 +119,7 @@ dependencies:
|
|
119
119
|
version: '0.4'
|
120
120
|
- - ">="
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: 0.4.
|
122
|
+
version: 0.4.4
|
123
123
|
type: :runtime
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -129,7 +129,7 @@ dependencies:
|
|
129
129
|
version: '0.4'
|
130
130
|
- - ">="
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 0.4.
|
132
|
+
version: 0.4.4
|
133
133
|
- !ruby/object:Gem::Dependency
|
134
134
|
name: rmagick
|
135
135
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,7 +179,7 @@ dependencies:
|
|
179
179
|
version: '1.6'
|
180
180
|
- - ">="
|
181
181
|
- !ruby/object:Gem::Version
|
182
|
-
version: 1.6.
|
182
|
+
version: 1.6.8
|
183
183
|
type: :runtime
|
184
184
|
prerelease: false
|
185
185
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -189,7 +189,7 @@ dependencies:
|
|
189
189
|
version: '1.6'
|
190
190
|
- - ">="
|
191
191
|
- !ruby/object:Gem::Version
|
192
|
-
version: 1.6.
|
192
|
+
version: 1.6.8
|
193
193
|
- !ruby/object:Gem::Dependency
|
194
194
|
name: simplecov
|
195
195
|
requirement: !ruby/object:Gem::Requirement
|
@@ -199,7 +199,7 @@ dependencies:
|
|
199
199
|
version: '0.11'
|
200
200
|
- - ">="
|
201
201
|
- !ruby/object:Gem::Version
|
202
|
-
version: 0.11.
|
202
|
+
version: 0.11.2
|
203
203
|
type: :development
|
204
204
|
prerelease: false
|
205
205
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -209,7 +209,7 @@ dependencies:
|
|
209
209
|
version: '0.11'
|
210
210
|
- - ">="
|
211
211
|
- !ruby/object:Gem::Version
|
212
|
-
version: 0.11.
|
212
|
+
version: 0.11.2
|
213
213
|
- !ruby/object:Gem::Dependency
|
214
214
|
name: yard
|
215
215
|
requirement: !ruby/object:Gem::Requirement
|
@@ -219,7 +219,7 @@ dependencies:
|
|
219
219
|
version: '0.8'
|
220
220
|
- - ">="
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0.8.
|
222
|
+
version: 0.8.7.6
|
223
223
|
type: :development
|
224
224
|
prerelease: false
|
225
225
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -229,7 +229,7 @@ dependencies:
|
|
229
229
|
version: '0.8'
|
230
230
|
- - ">="
|
231
231
|
- !ruby/object:Gem::Version
|
232
|
-
version: 0.8.
|
232
|
+
version: 0.8.7.6
|
233
233
|
- !ruby/object:Gem::Dependency
|
234
234
|
name: minitest
|
235
235
|
requirement: !ruby/object:Gem::Requirement
|
@@ -239,7 +239,7 @@ dependencies:
|
|
239
239
|
version: '5.0'
|
240
240
|
- - ">="
|
241
241
|
- !ruby/object:Gem::Version
|
242
|
-
version: 5.
|
242
|
+
version: '5.9'
|
243
243
|
type: :development
|
244
244
|
prerelease: false
|
245
245
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -249,44 +249,44 @@ dependencies:
|
|
249
249
|
version: '5.0'
|
250
250
|
- - ">="
|
251
251
|
- !ruby/object:Gem::Version
|
252
|
-
version: 5.
|
252
|
+
version: '5.9'
|
253
253
|
- !ruby/object:Gem::Dependency
|
254
254
|
name: test-unit
|
255
255
|
requirement: !ruby/object:Gem::Requirement
|
256
256
|
requirements:
|
257
257
|
- - "~>"
|
258
258
|
- !ruby/object:Gem::Version
|
259
|
-
version: '3.
|
259
|
+
version: '3.2'
|
260
260
|
- - ">="
|
261
261
|
- !ruby/object:Gem::Version
|
262
|
-
version: 3.
|
262
|
+
version: '3.2'
|
263
263
|
type: :development
|
264
264
|
prerelease: false
|
265
265
|
version_requirements: !ruby/object:Gem::Requirement
|
266
266
|
requirements:
|
267
267
|
- - "~>"
|
268
268
|
- !ruby/object:Gem::Version
|
269
|
-
version: '3.
|
269
|
+
version: '3.2'
|
270
270
|
- - ">="
|
271
271
|
- !ruby/object:Gem::Version
|
272
|
-
version: 3.
|
272
|
+
version: '3.2'
|
273
273
|
description: risu is a Nessus .nessus XML parser and report generation tool
|
274
|
-
email:
|
274
|
+
email: jacob.hammack@arxopia.com
|
275
275
|
executables:
|
276
276
|
- risu
|
277
277
|
extensions: []
|
278
278
|
extra_rdoc_files:
|
279
279
|
- README.markdown
|
280
280
|
- LICENSE
|
281
|
-
- NEWS.markdown
|
281
|
+
- docs/NEWS.markdown
|
282
282
|
files:
|
283
283
|
- Gemfile
|
284
284
|
- Gemfile.lock
|
285
285
|
- LICENSE
|
286
|
-
- NEWS.markdown
|
287
286
|
- README.markdown
|
288
287
|
- Rakefile
|
289
288
|
- bin/risu
|
289
|
+
- docs/NEWS.markdown
|
290
290
|
- lib/risu.rb
|
291
291
|
- lib/risu/base.rb
|
292
292
|
- lib/risu/base/graph_template_helper.rb
|
@@ -294,6 +294,7 @@ files:
|
|
294
294
|
- lib/risu/base/malware_template_helper.rb
|
295
295
|
- lib/risu/base/post_process_base.rb
|
296
296
|
- lib/risu/base/post_process_manager.rb
|
297
|
+
- lib/risu/base/scan_helper.rb
|
297
298
|
- lib/risu/base/schema.rb
|
298
299
|
- lib/risu/base/shares_template_helper.rb
|
299
300
|
- lib/risu/base/template_base.rb
|
@@ -333,9 +334,12 @@ files:
|
|
333
334
|
- lib/risu/parsers/nessus/postprocess/adobe_reader.rb
|
334
335
|
- lib/risu/parsers/nessus/postprocess/apache.rb
|
335
336
|
- lib/risu/parsers/nessus/postprocess/apache_tomcat.rb
|
337
|
+
- lib/risu/parsers/nessus/postprocess/apple_itunes.rb
|
336
338
|
- lib/risu/parsers/nessus/postprocess/apple_quicktime.rb
|
337
339
|
- lib/risu/parsers/nessus/postprocess/blackberry_enterprise_server.rb
|
338
340
|
- lib/risu/parsers/nessus/postprocess/ca_brightstor_arcserve.rb
|
341
|
+
- lib/risu/parsers/nessus/postprocess/cisco_anyconnect.rb
|
342
|
+
- lib/risu/parsers/nessus/postprocess/cisco_ios.rb
|
339
343
|
- lib/risu/parsers/nessus/postprocess/core_ftp.rb
|
340
344
|
- lib/risu/parsers/nessus/postprocess/db2.rb
|
341
345
|
- lib/risu/parsers/nessus/postprocess/downgrade_plugins.rb
|
@@ -346,7 +350,10 @@ files:
|
|
346
350
|
- lib/risu/parsers/nessus/postprocess/foxit_reader.rb
|
347
351
|
- lib/risu/parsers/nessus/postprocess/google_chrome.rb
|
348
352
|
- lib/risu/parsers/nessus/postprocess/hp_system_mgt_homepage.rb
|
353
|
+
- lib/risu/parsers/nessus/postprocess/irfanview.rb
|
349
354
|
- lib/risu/parsers/nessus/postprocess/java.rb
|
355
|
+
- lib/risu/parsers/nessus/postprocess/libreoffice.rb
|
356
|
+
- lib/risu/parsers/nessus/postprocess/openoffice.rb
|
350
357
|
- lib/risu/parsers/nessus/postprocess/openssh.rb
|
351
358
|
- lib/risu/parsers/nessus/postprocess/openssl.rb
|
352
359
|
- lib/risu/parsers/nessus/postprocess/oracle_database.rb
|
@@ -358,6 +365,7 @@ files:
|
|
358
365
|
- lib/risu/parsers/nessus/postprocess/shockwave.rb
|
359
366
|
- lib/risu/parsers/nessus/postprocess/sigplus_pro.rb
|
360
367
|
- lib/risu/parsers/nessus/postprocess/symantec_pcanywhere.rb
|
368
|
+
- lib/risu/parsers/nessus/postprocess/timbuktu.rb
|
361
369
|
- lib/risu/parsers/nessus/postprocess/vlc.rb
|
362
370
|
- lib/risu/parsers/nessus/postprocess/vmware_esxi.rb
|
363
371
|
- lib/risu/parsers/nessus/postprocess/vmware_player.rb
|
@@ -374,6 +382,7 @@ files:
|
|
374
382
|
- lib/risu/renderers/pdfrenderer.rb
|
375
383
|
- lib/risu/template_helpers.rb
|
376
384
|
- lib/risu/templates/assets.rb
|
385
|
+
- lib/risu/templates/authentication_summary.rb
|
377
386
|
- lib/risu/templates/cover_sheet.rb
|
378
387
|
- lib/risu/templates/data/nessuslogo.jpg
|
379
388
|
- lib/risu/templates/exec_summary.rb
|
@@ -422,9 +431,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
422
431
|
version: '0'
|
423
432
|
requirements: []
|
424
433
|
rubyforge_project: risu
|
425
|
-
rubygems_version: 2.
|
434
|
+
rubygems_version: 2.6.6
|
426
435
|
signing_key:
|
427
436
|
specification_version: 4
|
428
437
|
summary: risu
|
429
438
|
test_files: []
|
430
|
-
has_rdoc: yard
|