inspec_tools 2.0.2.pre5 → 2.0.2.pre6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f2c0eda1119a5560af3597e53f774190658d082a0e7e9828a9c186e77fe1e87
4
- data.tar.gz: 94d5810cddc50f292dff9014ef0aca1bdf651862aaf3e772b96435136bda38a3
3
+ metadata.gz: 87b6bbd0df65db41870f46c0b67579f6678cbddcbc430e84239809f495b3438f
4
+ data.tar.gz: 0f89d4f3cb90827083762b1ef0ee65c5321f1ee2bee03f84588f303854111cd3
5
5
  SHA512:
6
- metadata.gz: 3c649a11fbf1e44ab2f9012479254757f5f8c9183aa7e93042427fbfca659d3ff77058c8a9f5edded598c5b6ec77144fd142dc7a860cda04442bf15019414e83
7
- data.tar.gz: a95c81c8662de7fab071f26e751b03100bfb8d8535e6225a73d5913d66487542d59a120d598e89c044d4b32e4efb81664fceb723efdf0c420d15e6dbcb57f1d2
6
+ metadata.gz: 7bfe5ba90ce7a93dde6fdf48f9c0789592814ea568b3c191748882dc2630df4e52fcffebea71472615425b7f89fd4df5dd570c141ea70f6111474ffc27b86eea
7
+ data.tar.gz: 990e101238e1f5b9f66fd7af898386acc3e624d67e9c672189c1b1040efbe3b1774af4dab222a79596ee44872211d75cd9ea8d7101c67a15d00a69e9e750c882
data/CHANGELOG.md CHANGED
@@ -2,7 +2,29 @@
2
2
 
3
3
  ## [Unreleased](https://github.com/mitre/inspec_tools/tree/HEAD)
4
4
 
5
- [Full Changelog](https://github.com/mitre/inspec_tools/compare/v2.0.1.pre4...HEAD)
5
+ [Full Changelog](https://github.com/mitre/inspec_tools/compare/v2.0.2.pre5...HEAD)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - Remove tag with NIST revision [\#139](https://github.com/mitre/inspec_tools/issues/139)
10
+
11
+ **Fixed bugs:**
12
+
13
+ - CCE- data seems to be coming into the CCI references in some XCCDF files [\#151](https://github.com/mitre/inspec_tools/issues/151)
14
+ - small fix to resolve issues with CCE data in the XCCDF [\#156](https://github.com/mitre/inspec_tools/pull/156) ([aaronlippold](https://github.com/aaronlippold))
15
+
16
+ **Closed issues:**
17
+
18
+ - update inspec2ckl schema to the newest CKL Schema in the stig viewer 2.10 [\#149](https://github.com/mitre/inspec_tools/issues/149)
19
+ - Categorize all errors the same [\#145](https://github.com/mitre/inspec_tools/issues/145)
20
+
21
+ **Merged pull requests:**
22
+
23
+ - Apply fixes from CodeFactor [\#153](https://github.com/mitre/inspec_tools/pull/153) ([aaronlippold](https://github.com/aaronlippold))
24
+
25
+ ## [v2.0.2.pre5](https://github.com/mitre/inspec_tools/tree/v2.0.2.pre5) (2020-04-15)
26
+
27
+ [Full Changelog](https://github.com/mitre/inspec_tools/compare/v2.0.1.pre4...v2.0.2.pre5)
6
28
 
7
29
  **Implemented enhancements:**
8
30
 
@@ -430,6 +452,7 @@
430
452
 
431
453
  - Updated rake version [\#69](https://github.com/mitre/inspec_tools/pull/69) ([robthew](https://github.com/robthew))
432
454
  - Add in 'inspec' and 'fileutils' require statements [\#65](https://github.com/mitre/inspec_tools/pull/65) ([samcornwell](https://github.com/samcornwell))
455
+ - Metadata docs and tools [\#55](https://github.com/mitre/inspec_tools/pull/55) ([samcornwell](https://github.com/samcornwell))
433
456
 
434
457
  ## [v1.4.1](https://github.com/mitre/inspec_tools/tree/v1.4.1) (2019-06-20)
435
458
 
@@ -472,7 +495,6 @@
472
495
 
473
496
  **Merged pull requests:**
474
497
 
475
- - Metadata docs and tools [\#55](https://github.com/mitre/inspec_tools/pull/55) ([samcornwell](https://github.com/samcornwell))
476
498
  - Fix bugs introduced by \#51 \(STIGViewer PR\) [\#52](https://github.com/mitre/inspec_tools/pull/52) ([samcornwell](https://github.com/samcornwell))
477
499
  - Enhancements to meet working with STIGViewer as well as tracking some custom metadata when converting from xccdf2inspec and inspec2ckl [\#51](https://github.com/mitre/inspec_tools/pull/51) ([kevin-j-smith](https://github.com/kevin-j-smith))
478
500
  - Add modules summary, compliance [\#45](https://github.com/mitre/inspec_tools/pull/45) ([rx294](https://github.com/rx294))
@@ -3,7 +3,7 @@
3
3
  require 'happymapper'
4
4
  require 'nokogiri'
5
5
 
6
- # rubocop: disable Naming/ClassAndModuleCamelCase
6
+ # rubocop:disable Naming/ClassAndModuleCamelCase
7
7
 
8
8
  module HappyMapperTools
9
9
  module CCIAttributes
@@ -18,13 +18,6 @@ module HappyMapperTools
18
18
  attribute :index, String, tag: 'index'
19
19
  end
20
20
 
21
- class References
22
- include HappyMapper
23
- tag 'references'
24
-
25
- has_many :references, Reference, tag: 'reference'
26
- end
27
-
28
21
  class CCI_Item
29
22
  include HappyMapper
30
23
  tag 'cci_item'
@@ -35,14 +28,7 @@ module HappyMapperTools
35
28
  element :contributor, String, tag: 'contributor'
36
29
  element :definition, String, tag: 'definition'
37
30
  element :type, String, tag: 'type'
38
- has_one :references, References, tag: 'references'
39
- end
40
-
41
- class CCI_Items
42
- include HappyMapper
43
- tag 'cci_items'
44
-
45
- has_many :cci_item, CCI_Item, tag: 'cci_item'
31
+ has_many :references, Reference, xpath: 'xmlns:references'
46
32
  end
47
33
 
48
34
  class Metadata
@@ -60,17 +46,21 @@ module HappyMapperTools
60
46
  attribute :xsi, String, tag: 'xsi', namespace: 'xmlns'
61
47
  attribute :schemaLocation, String, tag: 'schemaLocation', namespace: 'xmlns'
62
48
  has_one :metadata, Metadata, tag: 'metadata'
63
- has_many :cci_items, CCI_Items, tag: 'cci_items'
49
+ has_many :cci_items, CCI_Item, xpath: 'xmlns:cci_items'
64
50
 
65
51
  def fetch_nists(ccis)
66
52
  ccis = [ccis] unless ccis.is_a?(Array)
67
- nists = []
68
- nist_ver = cci_items[0].cci_item[0].references.references.max_by(&:version).version
69
- ccis.each do |cci|
70
- nists << cci_items[0].cci_item.select { |item| item.id == cci }.first.references.references.max_by(&:version).index
53
+
54
+ # some of the XCCDF files were having CCE- tags show up which
55
+ # we don't support, not sure if this is a typo on their part or
56
+ # we need to see about supporting CCE tags but ... for now
57
+ filtered_ccis = ccis.select { |f| /CCI-/.match(f) }
58
+ filtered_ccis.map do |cci|
59
+ cci_items.find { |item| item.id == cci }.references.max_by(&:version).index
71
60
  end
72
- nists << ('Rev_' + nist_ver)
73
61
  end
74
62
  end
75
63
  end
76
64
  end
65
+
66
+ # rubocop:enable Naming/ClassAndModuleCamelCase
@@ -84,7 +84,7 @@ module InspecTools
84
84
  inspec_json['controls'].each do |json_control|
85
85
  control = []
86
86
  headers.each do |key, _|
87
- control.push(json_control[key] || json_control['tags'][key] || (json_control['results']&.collect { |result| result[key] }&.join(",\n")) || nil)
87
+ control.push(json_control[key] || json_control['tags'][key] || json_control['results']&.collect { |result| result[key] }&.join(",\n") || nil)
88
88
  end
89
89
  data.push(control)
90
90
  end
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  libdir = File.dirname(__FILE__)
4
4
  $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
@@ -24,11 +24,11 @@ module Utils
24
24
  DATA_NOT_FOUND_MESSAGE = 'N/A'.freeze
25
25
  WIDTH = 80
26
26
  IMPACT_SCORES = {
27
- "none" => 0.0,
28
- "low" => 0.1,
29
- "medium" => 0.4,
30
- "high" => 0.7,
31
- "critical" => 0.9,
27
+ 'none' => 0.0,
28
+ 'low' => 0.1,
29
+ 'medium' => 0.4,
30
+ 'high' => 0.7,
31
+ 'critical' => 0.9
32
32
  }.freeze
33
33
 
34
34
  def self.parse_data_for_xccdf(json)
@@ -197,7 +197,7 @@ module Utils
197
197
 
198
198
  private_class_method def self.float_to_impact(severity)
199
199
  raise SeverityInputError, "'#{severity}' is not a valid severity value. It should be a Float between 0.0 and " \
200
- '1.0 or one of the approved keywords.' unless severity.between?(0,1)
200
+ '1.0 or one of the approved keywords.' unless severity.between?(0, 1)
201
201
 
202
202
  if severity <= 0.01
203
203
  0.0 # Informative
@@ -233,7 +233,7 @@ module Utils
233
233
  return if impact.nil?
234
234
 
235
235
  value = impact.to_f
236
- unless value.between?(0,1)
236
+ unless value.between?(0, 1)
237
237
  raise ImpactInputError, "'#{value}' is not a valid impact score. Valid impact scores: [0.0 - 1.0]."
238
238
  end
239
239
 
@@ -277,9 +277,9 @@ module Utils
277
277
  control.title = json_control['title']
278
278
  control.impact = get_impact(json_control['impact'])
279
279
 
280
- #json_control['tags'].each do |tag|
280
+ # json_control['tags'].each do |tag|
281
281
  # control.add_tag(Inspec::Object::Tag.new(tag.key, tag.value)
282
- #end
282
+ # end
283
283
 
284
284
  control.add_tag(::Inspec::Object::Tag.new('severity', json_control['tags']['severity']))
285
285
  control.add_tag(::Inspec::Object::Tag.new('gtitle', json_control['tags']['gtitle']))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inspec_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2.pre5
4
+ version: 2.0.2.pre6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Thew
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2020-04-15 00:00:00.000000000 Z
14
+ date: 2020-04-28 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: colorize