ruby_acunetix 1.0.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 68db252e24469999a905b855574187af60b2abf6
4
- data.tar.gz: 57e9865b2e09a8509a67b6de660a3e2883dc94d4
3
+ metadata.gz: 6691b4fdb13df031e625733708284a6fcc4434bc
4
+ data.tar.gz: 35e125415dbee798c49c305c63874cebf55b1391
5
5
  SHA512:
6
- metadata.gz: 5d5d5b55655d5c5ce63e07015aed3263317cfb4eaaeb6c0483be31323be6cc724803e8e615a1e364437c1092e35f9b12cdce24bd2d6cccaf12de8b911d5b6eab
7
- data.tar.gz: fa110a943cf5c3184a7448408da02d480b9cdd92e20e82b22c916b0fb89d593f7d27039946f1e33c427ebc452eb01622f3a9d9fe3288bcf292fa5e8604936234
6
+ metadata.gz: b7558bce847137ce39f5f07aa6da55b8d374b0a9bc1ebab5d74b9bb35e2b9e512a439890dc10f7939b10feb2cada1663c999f77d989db7edf0779d9065afe0ac
7
+ data.tar.gz: 633cef8c577048aaf02af68e05f7df507ce92ae6762536a10cb4471b671db0ff15fdbae885e4d20a0e1bed807962566ff5797ec564253520ead3d908983e2b23
@@ -3,6 +3,8 @@ require 'nokogiri'
3
3
  require File.join(File.dirname(__FILE__), 'ruby_acunetix', 'version')
4
4
  require File.join(File.dirname(__FILE__), 'ruby_acunetix', 'ra_cvss')
5
5
  require File.join(File.dirname(__FILE__), 'ruby_acunetix', 'ra_cvss3')
6
+ require File.join(File.dirname(__FILE__), 'ruby_acunetix', 'ra_cve')
7
+ require File.join(File.dirname(__FILE__), 'ruby_acunetix', 'ra_cwe')
6
8
  require File.join(File.dirname(__FILE__), 'ruby_acunetix', 'ra_reference')
7
9
  require File.join(File.dirname(__FILE__), 'ruby_acunetix', 'ra_report_item')
8
10
 
@@ -19,10 +21,10 @@ module RubyAcunetix
19
21
  end
20
22
 
21
23
  cwe = xml_report_item.css('CWEList')
22
- report_item.send("cwe=", cwe.css('CWE').text) if !cwe.nil?
24
+ report_item.cwe = RaCwe.parse(cwe.css('CWE')) if !cwe.nil?
23
25
 
24
26
  cve = xml_report_item.css('CVEList')
25
- report_item.send("cve=", cwe.css('CVE').text) if !cwe.nil?
27
+ report_item.cve = RaCve.parse(cve.css('CVE')) if !cve.nil?
26
28
 
27
29
  cvss = xml_report_item.css('CVSS')
28
30
  report_item.cvss = RaCvss.parse(cvss) if !cvss.nil?
@@ -42,7 +44,7 @@ module RubyAcunetix
42
44
  report_items.push report_item
43
45
  end
44
46
 
45
- return report_items
47
+ report_items
46
48
  end
47
49
 
48
50
  def self.ra_underscore(value)
@@ -0,0 +1,22 @@
1
+ class RaCve
2
+ attr_accessor :id, :year, :text
3
+
4
+ def initialize(id, year, text)
5
+ self.id = id
6
+ self.year = year
7
+ self.text = text
8
+ end
9
+
10
+ class << self
11
+ def parse(cve)
12
+ return nil if cve.css('CVE').nil? || cve.css('CVE').text.strip == ''
13
+
14
+ id = cve.css('CVE').attribute('id').value
15
+ year = cve.css('CVE').attribute('year').value
16
+ text = cve.css('CVE').text
17
+
18
+ RaCve.new(id, year, text)
19
+ end
20
+ end
21
+
22
+ end
@@ -23,21 +23,21 @@ class RaCvss3
23
23
  def parse(cvss3)
24
24
  fields = {}
25
25
 
26
- fields[:descriptor] = cvss3.css(:Descriptor).text
27
- fields[:score] = cvss3.css(:Score).text
28
- fields[:temp_score] = cvss3.css(:TempScore).text
29
- fields[:env_score] = cvss3.css(:EnvScore).text
30
- fields[:av] = cvss3.css(:AV).text
31
- fields[:ac] = cvss3.css(:AC).text
32
- fields[:pr] = cvss3.css(:PR).text
33
- fields[:ui] = cvss3.css(:UI).text
34
- fields[:s] = cvss3.css(:S).text
35
- fields[:c] = cvss3.css(:C).text
36
- fields[:i] = cvss3.css(:I).text
37
- fields[:a] = cvss3.css(:A).text
38
- fields[:e] = cvss3.css(:E).text
39
- fields[:rl] = cvss3.css(:RL).text
40
- fields[:rc] = cvss3.css(:RC).text
26
+ fields[:descriptor] = cvss3.css('Descriptor').text
27
+ fields[:score] = cvss3.css('Score').text
28
+ fields[:temp_score] = cvss3.css('TempScore').text
29
+ fields[:env_score] = cvss3.css('EnvScore').text
30
+ fields[:av] = cvss3.css('AV').text
31
+ fields[:ac] = cvss3.css('AC').text
32
+ fields[:pr] = cvss3.css('PR').text
33
+ fields[:ui] = cvss3.css('UI').text
34
+ fields[:s] = cvss3.css('S').text
35
+ fields[:c] = cvss3.css('C').text
36
+ fields[:i] = cvss3.css('I').text
37
+ fields[:a] = cvss3.css('A').text
38
+ fields[:e] = cvss3.css('E').text
39
+ fields[:rl] = cvss3.css('RL').text
40
+ fields[:rc] = cvss3.css('RC').text
41
41
 
42
42
  RaCvss3.new(fields)
43
43
  end
@@ -0,0 +1,20 @@
1
+ class RaCwe
2
+ attr_accessor :id, :year, :text
3
+
4
+ def initialize(id, text)
5
+ self.id = id
6
+ self.text = text
7
+ end
8
+
9
+ class << self
10
+ def parse(cwe)
11
+ return nil if cwe.css('CWE').nil? || cwe.css('CWE').text.strip == ''
12
+
13
+ id = cwe.css('CWE').attribute('id').value
14
+ text = cwe.css('CWE').text
15
+
16
+ RaCwe.new(id, text)
17
+ end
18
+ end
19
+
20
+ end
@@ -1,3 +1,3 @@
1
1
  module RubyAcunetix
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_acunetix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adilson Chacon
@@ -18,8 +18,10 @@ extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - lib/ruby_acunetix.rb
21
+ - lib/ruby_acunetix/ra_cve.rb
21
22
  - lib/ruby_acunetix/ra_cvss.rb
22
23
  - lib/ruby_acunetix/ra_cvss3.rb
24
+ - lib/ruby_acunetix/ra_cwe.rb
23
25
  - lib/ruby_acunetix/ra_reference.rb
24
26
  - lib/ruby_acunetix/ra_report_item.rb
25
27
  - lib/ruby_acunetix/version.rb