inspec-core 4.24.8 → 4.26.4
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 +9 -14
- data/inspec-core.gemspec +9 -8
- data/lib/bundles/inspec-supermarket/api.rb +2 -2
- data/lib/bundles/inspec-supermarket/target.rb +1 -1
- data/lib/inspec/archive/tar.rb +1 -1
- data/lib/inspec/archive/zip.rb +3 -3
- data/lib/inspec/base_cli.rb +4 -2
- data/lib/inspec/cached_fetcher.rb +1 -1
- data/lib/inspec/cli.rb +1 -1
- data/lib/inspec/config.rb +19 -6
- data/lib/inspec/dependencies/cache.rb +1 -1
- data/lib/inspec/env_printer.rb +2 -2
- data/lib/inspec/fetcher/git.rb +3 -3
- data/lib/inspec/fetcher/local.rb +1 -1
- data/lib/inspec/fetcher/url.rb +4 -4
- data/lib/inspec/file_provider.rb +4 -4
- data/lib/inspec/input.rb +3 -0
- data/lib/inspec/input_registry.rb +5 -3
- data/lib/inspec/metadata.rb +1 -1
- data/lib/inspec/plugin/v1/plugins.rb +2 -2
- data/lib/inspec/plugin/v2.rb +5 -0
- data/lib/inspec/plugin/v2/config_file.rb +1 -1
- data/lib/inspec/plugin/v2/filter.rb +2 -2
- data/lib/inspec/plugin/v2/installer.rb +5 -5
- data/lib/inspec/plugin/v2/loader.rb +1 -1
- data/lib/inspec/plugin/v2/registry.rb +2 -2
- data/lib/inspec/profile.rb +3 -3
- data/lib/inspec/profile_context.rb +1 -1
- data/lib/inspec/reporters/automate.rb +2 -2
- data/lib/inspec/reporters/json.rb +1 -1
- data/lib/inspec/reporters/json_automate.rb +1 -1
- data/lib/inspec/resources.rb +5 -5
- data/lib/inspec/resources/apt.rb +1 -1
- data/lib/inspec/resources/auditd.rb +1 -1
- data/lib/inspec/resources/csv.rb +1 -1
- data/lib/inspec/resources/dh_params.rb +1 -1
- data/lib/inspec/resources/file.rb +1 -1
- data/lib/inspec/resources/http.rb +1 -1
- data/lib/inspec/resources/iis_website.rb +1 -1
- data/lib/inspec/resources/interfaces.rb +1 -1
- data/lib/inspec/resources/json.rb +2 -2
- data/lib/inspec/resources/key_rsa.rb +1 -1
- data/lib/inspec/resources/mssql_session.rb +5 -1
- data/lib/inspec/resources/mysql_session.rb +1 -1
- data/lib/inspec/resources/nginx.rb +1 -1
- data/lib/inspec/resources/nginx_conf.rb +40 -1
- data/lib/inspec/resources/npm.rb +1 -1
- data/lib/inspec/resources/oracledb_session.rb +2 -2
- data/lib/inspec/resources/parse_config.rb +5 -2
- data/lib/inspec/resources/port.rb +1 -1
- data/lib/inspec/resources/postgres_session.rb +1 -1
- data/lib/inspec/resources/ppa.rb +1 -1
- data/lib/inspec/resources/processes.rb +1 -1
- data/lib/inspec/resources/rabbitmq_conf.rb +1 -1
- data/lib/inspec/resources/registry_key.rb +1 -1
- data/lib/inspec/resources/ssh_config.rb +24 -2
- data/lib/inspec/resources/sshd_config.rb +1 -1
- data/lib/inspec/resources/ssl.rb +2 -2
- data/lib/inspec/resources/toml.rb +1 -1
- data/lib/inspec/resources/vbscript.rb +1 -1
- data/lib/inspec/resources/windows_registry_key.rb +1 -1
- data/lib/inspec/resources/wmi.rb +1 -1
- data/lib/inspec/resources/x509_certificate.rb +1 -1
- data/lib/inspec/resources/xml.rb +1 -1
- data/lib/inspec/runner.rb +2 -2
- data/lib/inspec/schema.rb +1 -1
- data/lib/inspec/schema/output_schema.rb +1 -1
- data/lib/inspec/schema/primitives.rb +1 -1
- data/lib/inspec/shell_detector.rb +2 -2
- data/lib/inspec/utils/command_wrapper.rb +1 -1
- data/lib/inspec/utils/deprecation/config_file.rb +2 -2
- data/lib/inspec/utils/json_log.rb +1 -1
- data/lib/inspec/utils/run_data_filters.rb +7 -5
- data/lib/inspec/utils/telemetry/collector.rb +1 -1
- data/lib/inspec/utils/telemetry/data_series.rb +1 -1
- data/lib/inspec/version.rb +1 -1
- data/lib/plugins/inspec-artifact/lib/inspec-artifact/base.rb +5 -5
- data/lib/plugins/inspec-compliance/README.md +1 -1
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb +3 -3
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/http.rb +2 -2
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/target.rb +2 -2
- data/lib/plugins/inspec-habitat/lib/inspec-habitat/profile.rb +3 -3
- data/lib/plugins/inspec-init/lib/inspec-init/cli.rb +1 -1
- data/lib/plugins/inspec-init/lib/inspec-init/cli_profile.rb +1 -1
- data/lib/plugins/inspec-init/lib/inspec-init/renderer.rb +2 -2
- data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +3 -3
- data/lib/plugins/inspec-reporter-html2/lib/inspec-reporter-html2/reporter.rb +1 -1
- data/lib/plugins/inspec-reporter-json-min/lib/inspec-reporter-json-min/reporter.rb +1 -1
- data/lib/plugins/inspec-reporter-junit/lib/inspec-reporter-junit/reporter.rb +1 -1
- data/lib/plugins/shared/core_plugin_test_helper.rb +6 -6
- metadata +63 -25
data/lib/inspec/resources/xml.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Inspec::Resources
|
|
|
13
13
|
EXAMPLE
|
|
14
14
|
|
|
15
15
|
def parse(content)
|
|
16
|
-
require "rexml/document"
|
|
16
|
+
require "rexml/document" unless defined?(REXML::Document)
|
|
17
17
|
REXML::Document.new(content)
|
|
18
18
|
rescue => e
|
|
19
19
|
raise Inspec::Exceptions::ResourceFailed, "Unable to parse XML: #{e.message}"
|
data/lib/inspec/runner.rb
CHANGED
data/lib/inspec/schema.rb
CHANGED
|
@@ -18,7 +18,7 @@ module Inspec
|
|
|
18
18
|
sort_controls
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
# Apply options such as message truncation and removal of backtraces
|
|
21
|
+
# Apply options such as message and code_desc truncation, and removal of backtraces
|
|
22
22
|
def apply_report_resize_options
|
|
23
23
|
runtime_config = @config[:runtime_config]
|
|
24
24
|
|
|
@@ -30,7 +30,7 @@ module Inspec
|
|
|
30
30
|
p[:controls].each do |c|
|
|
31
31
|
c[:results]&.map! do |r|
|
|
32
32
|
r.delete(:backtrace) unless include_backtrace
|
|
33
|
-
|
|
33
|
+
process_truncation(r)
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
end
|
|
@@ -93,9 +93,11 @@ module Inspec
|
|
|
93
93
|
|
|
94
94
|
private
|
|
95
95
|
|
|
96
|
-
def
|
|
97
|
-
|
|
98
|
-
result
|
|
96
|
+
def process_truncation(result)
|
|
97
|
+
%i{code_desc message}.each do |field|
|
|
98
|
+
if result.key?(field) && result[field] != "" && @trunc > -1 && result[field].length > @trunc
|
|
99
|
+
result[field] = result[field][0...@trunc] + "[Truncated to #{@trunc} characters]"
|
|
100
|
+
end
|
|
99
101
|
end
|
|
100
102
|
result
|
|
101
103
|
end
|
data/lib/inspec/version.rb
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
require "base64"
|
|
2
|
-
require "openssl"
|
|
3
|
-
require "pathname"
|
|
4
|
-
require "set"
|
|
5
|
-
require "tempfile"
|
|
1
|
+
require "base64" unless defined?(Base64)
|
|
2
|
+
require "openssl" unless defined?(OpenSSL)
|
|
3
|
+
require "pathname" unless defined?(Pathname)
|
|
4
|
+
require "set" unless defined?(Set)
|
|
5
|
+
require "tempfile" unless defined?(Tempfile)
|
|
6
6
|
require "yaml"
|
|
7
7
|
require "inspec/dist"
|
|
8
8
|
require "inspec/utils/json_profile_summary"
|
|
@@ -71,7 +71,7 @@ $ inspec compliance login https://automate.compliance.test --insecure --user 'ad
|
|
|
71
71
|
|
|
72
72
|
You will need an access token for authentication. You can retrieve one via:
|
|
73
73
|
|
|
74
|
-

|
|
74
|
+

|
|
75
75
|
|
|
76
76
|
You can choose the access token (`--token`) or the refresh token (`--refresh_token`)
|
|
77
77
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require "uri"
|
|
1
|
+
require "uri" unless defined?(URI)
|
|
2
2
|
require "inspec/fetcher"
|
|
3
3
|
require "inspec/errors"
|
|
4
4
|
require "inspec/dist"
|
|
@@ -85,7 +85,7 @@ module InspecPlugins
|
|
|
85
85
|
# If version was specified, it will be the first and only result.
|
|
86
86
|
# Note we are calling the sha256 as a string, not a symbol since
|
|
87
87
|
# it was returned as json from the Compliance API.
|
|
88
|
-
profile_info = profile_result.
|
|
88
|
+
profile_info = profile_result.min_by { |x| Gem::Version.new(x["version"]) }
|
|
89
89
|
profile_checksum = profile_info.key?("sha256") ? profile_info["sha256"] : ""
|
|
90
90
|
end
|
|
91
91
|
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require "inspec/profile_vendor"
|
|
2
|
-
require "mixlib/shellout"
|
|
3
|
-
require "tomlrb"
|
|
4
|
-
require "ostruct"
|
|
2
|
+
require "mixlib/shellout" unless defined?(Mixlib::ShellOut)
|
|
3
|
+
require "tomlrb" unless defined?(Tomlrb)
|
|
4
|
+
require "ostruct" unless defined?(OpenStruct)
|
|
5
5
|
require "inspec/dist"
|
|
6
6
|
|
|
7
7
|
module InspecPlugins
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require "pathname"
|
|
1
|
+
require "pathname" unless defined?(Pathname)
|
|
2
2
|
require "inspec/plugin/v2"
|
|
3
3
|
require "inspec/plugin/v2/installer"
|
|
4
4
|
require "inspec/dist"
|
|
@@ -505,8 +505,8 @@ module InspecPlugins
|
|
|
505
505
|
plugin_name = status.name.to_s
|
|
506
506
|
Inspec::Plugin::V2::Loader.list_installed_plugin_gems
|
|
507
507
|
.select { |spec| spec.name == plugin_name }
|
|
508
|
-
.
|
|
509
|
-
.
|
|
508
|
+
.max_by(&:version)
|
|
509
|
+
.version
|
|
510
510
|
end
|
|
511
511
|
when :path
|
|
512
512
|
"src"
|
|
@@ -3,14 +3,14 @@ require "minitest/autorun"
|
|
|
3
3
|
require "minitest/pride"
|
|
4
4
|
|
|
5
5
|
# Data formats commonly used in testing
|
|
6
|
-
require "json"
|
|
7
|
-
require "ostruct"
|
|
6
|
+
require "json" unless defined?(JSON)
|
|
7
|
+
require "ostruct" unless defined?(OpenStruct)
|
|
8
8
|
|
|
9
9
|
# Utilities often needed
|
|
10
|
-
require "fileutils"
|
|
11
|
-
require "tmpdir"
|
|
12
|
-
require "pathname"
|
|
13
|
-
require "forwardable"
|
|
10
|
+
require "fileutils" unless defined?(FileUtils)
|
|
11
|
+
require "tmpdir" unless defined?(Dir.mktmpdir)
|
|
12
|
+
require "pathname" unless defined?(Pathname)
|
|
13
|
+
require "forwardable" unless defined?(Forwardable)
|
|
14
14
|
|
|
15
15
|
require "functional/helper"
|
|
16
16
|
require "inspec/plugin/v2"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: inspec-core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.26.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chef InSpec Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-01-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: chef-telemetry
|
|
@@ -88,36 +88,42 @@ dependencies:
|
|
|
88
88
|
name: rubyzip
|
|
89
89
|
requirement: !ruby/object:Gem::Requirement
|
|
90
90
|
requirements:
|
|
91
|
-
- - "~>"
|
|
92
|
-
- !ruby/object:Gem::Version
|
|
93
|
-
version: '1.2'
|
|
94
91
|
- - ">="
|
|
95
92
|
- !ruby/object:Gem::Version
|
|
96
93
|
version: 1.2.2
|
|
94
|
+
- - "<"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '3.0'
|
|
97
97
|
type: :runtime
|
|
98
98
|
prerelease: false
|
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
|
-
- - "~>"
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '1.2'
|
|
104
101
|
- - ">="
|
|
105
102
|
- !ruby/object:Gem::Version
|
|
106
103
|
version: 1.2.2
|
|
104
|
+
- - "<"
|
|
105
|
+
- !ruby/object:Gem::Version
|
|
106
|
+
version: '3.0'
|
|
107
107
|
- !ruby/object:Gem::Dependency
|
|
108
108
|
name: rspec
|
|
109
109
|
requirement: !ruby/object:Gem::Requirement
|
|
110
110
|
requirements:
|
|
111
|
-
- - "
|
|
111
|
+
- - ">="
|
|
112
|
+
- !ruby/object:Gem::Version
|
|
113
|
+
version: '3.9'
|
|
114
|
+
- - "<"
|
|
112
115
|
- !ruby/object:Gem::Version
|
|
113
|
-
version: 3.
|
|
116
|
+
version: '3.11'
|
|
114
117
|
type: :runtime
|
|
115
118
|
prerelease: false
|
|
116
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
117
120
|
requirements:
|
|
118
|
-
- - "
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '3.9'
|
|
124
|
+
- - "<"
|
|
119
125
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: 3.
|
|
126
|
+
version: '3.11'
|
|
121
127
|
- !ruby/object:Gem::Dependency
|
|
122
128
|
name: rspec-its
|
|
123
129
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -150,16 +156,22 @@ dependencies:
|
|
|
150
156
|
name: hashie
|
|
151
157
|
requirement: !ruby/object:Gem::Requirement
|
|
152
158
|
requirements:
|
|
153
|
-
- - "
|
|
159
|
+
- - ">="
|
|
154
160
|
- !ruby/object:Gem::Version
|
|
155
161
|
version: '3.4'
|
|
162
|
+
- - "<"
|
|
163
|
+
- !ruby/object:Gem::Version
|
|
164
|
+
version: '5.0'
|
|
156
165
|
type: :runtime
|
|
157
166
|
prerelease: false
|
|
158
167
|
version_requirements: !ruby/object:Gem::Requirement
|
|
159
168
|
requirements:
|
|
160
|
-
- - "
|
|
169
|
+
- - ">="
|
|
161
170
|
- !ruby/object:Gem::Version
|
|
162
171
|
version: '3.4'
|
|
172
|
+
- - "<"
|
|
173
|
+
- !ruby/object:Gem::Version
|
|
174
|
+
version: '5.0'
|
|
163
175
|
- !ruby/object:Gem::Dependency
|
|
164
176
|
name: mixlib-log
|
|
165
177
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -211,7 +223,7 @@ dependencies:
|
|
|
211
223
|
version: 0.9.0
|
|
212
224
|
- - "<"
|
|
213
225
|
- !ruby/object:Gem::Version
|
|
214
|
-
version: '1.
|
|
226
|
+
version: '1.4'
|
|
215
227
|
type: :runtime
|
|
216
228
|
prerelease: false
|
|
217
229
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -221,7 +233,21 @@ dependencies:
|
|
|
221
233
|
version: 0.9.0
|
|
222
234
|
- - "<"
|
|
223
235
|
- !ruby/object:Gem::Version
|
|
224
|
-
version: '1.
|
|
236
|
+
version: '1.4'
|
|
237
|
+
- !ruby/object:Gem::Dependency
|
|
238
|
+
name: faraday_middleware
|
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
|
240
|
+
requirements:
|
|
241
|
+
- - "~>"
|
|
242
|
+
- !ruby/object:Gem::Version
|
|
243
|
+
version: '1.0'
|
|
244
|
+
type: :runtime
|
|
245
|
+
prerelease: false
|
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
247
|
+
requirements:
|
|
248
|
+
- - "~>"
|
|
249
|
+
- !ruby/object:Gem::Version
|
|
250
|
+
version: '1.0'
|
|
225
251
|
- !ruby/object:Gem::Dependency
|
|
226
252
|
name: tty-table
|
|
227
253
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -254,16 +280,22 @@ dependencies:
|
|
|
254
280
|
name: tomlrb
|
|
255
281
|
requirement: !ruby/object:Gem::Requirement
|
|
256
282
|
requirements:
|
|
257
|
-
- - "
|
|
283
|
+
- - ">="
|
|
258
284
|
- !ruby/object:Gem::Version
|
|
259
|
-
version: 1.2
|
|
285
|
+
version: '1.2'
|
|
286
|
+
- - "<"
|
|
287
|
+
- !ruby/object:Gem::Version
|
|
288
|
+
version: '2.1'
|
|
260
289
|
type: :runtime
|
|
261
290
|
prerelease: false
|
|
262
291
|
version_requirements: !ruby/object:Gem::Requirement
|
|
263
292
|
requirements:
|
|
264
|
-
- - "
|
|
293
|
+
- - ">="
|
|
294
|
+
- !ruby/object:Gem::Version
|
|
295
|
+
version: '1.2'
|
|
296
|
+
- - "<"
|
|
265
297
|
- !ruby/object:Gem::Version
|
|
266
|
-
version:
|
|
298
|
+
version: '2.1'
|
|
267
299
|
- !ruby/object:Gem::Dependency
|
|
268
300
|
name: addressable
|
|
269
301
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -282,16 +314,22 @@ dependencies:
|
|
|
282
314
|
name: parslet
|
|
283
315
|
requirement: !ruby/object:Gem::Requirement
|
|
284
316
|
requirements:
|
|
285
|
-
- - "
|
|
317
|
+
- - ">="
|
|
286
318
|
- !ruby/object:Gem::Version
|
|
287
319
|
version: '1.5'
|
|
320
|
+
- - "<"
|
|
321
|
+
- !ruby/object:Gem::Version
|
|
322
|
+
version: '2.0'
|
|
288
323
|
type: :runtime
|
|
289
324
|
prerelease: false
|
|
290
325
|
version_requirements: !ruby/object:Gem::Requirement
|
|
291
326
|
requirements:
|
|
292
|
-
- - "
|
|
327
|
+
- - ">="
|
|
293
328
|
- !ruby/object:Gem::Version
|
|
294
329
|
version: '1.5'
|
|
330
|
+
- - "<"
|
|
331
|
+
- !ruby/object:Gem::Version
|
|
332
|
+
version: '2.0'
|
|
295
333
|
- !ruby/object:Gem::Dependency
|
|
296
334
|
name: semverse
|
|
297
335
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -723,16 +761,16 @@ require_paths:
|
|
|
723
761
|
- lib
|
|
724
762
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
725
763
|
requirements:
|
|
726
|
-
- - "
|
|
764
|
+
- - ">="
|
|
727
765
|
- !ruby/object:Gem::Version
|
|
728
|
-
version: '2.
|
|
766
|
+
version: '2.5'
|
|
729
767
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
730
768
|
requirements:
|
|
731
769
|
- - ">="
|
|
732
770
|
- !ruby/object:Gem::Version
|
|
733
771
|
version: '0'
|
|
734
772
|
requirements: []
|
|
735
|
-
rubygems_version: 3.
|
|
773
|
+
rubygems_version: 3.1.4
|
|
736
774
|
signing_key:
|
|
737
775
|
specification_version: 4
|
|
738
776
|
summary: Infrastructure and compliance testing. Core library.
|