contrast-agent 4.6.0 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +1 -1
  3. data/Rakefile +1 -2
  4. data/ext/build_funchook.rb +3 -3
  5. data/ext/extconf_common.rb +1 -5
  6. data/lib/contrast/agent/assess.rb +1 -1
  7. data/lib/contrast/agent/assess/contrast_object.rb +2 -2
  8. data/lib/contrast/agent/assess/events/event_factory.rb +2 -1
  9. data/lib/contrast/agent/assess/policy/dynamic_source_factory.rb +6 -3
  10. data/lib/contrast/agent/assess/policy/patcher.rb +10 -17
  11. data/lib/contrast/agent/assess/policy/policy_node.rb +25 -33
  12. data/lib/contrast/agent/assess/policy/preshift.rb +3 -1
  13. data/lib/contrast/agent/assess/policy/propagation_method.rb +6 -15
  14. data/lib/contrast/agent/assess/policy/propagation_node.rb +19 -8
  15. data/lib/contrast/agent/assess/policy/propagator/center.rb +2 -1
  16. data/lib/contrast/agent/assess/policy/propagator/insert.rb +3 -1
  17. data/lib/contrast/agent/assess/policy/propagator/match_data.rb +2 -1
  18. data/lib/contrast/agent/assess/policy/propagator/select.rb +2 -12
  19. data/lib/contrast/agent/assess/policy/propagator/split.rb +3 -7
  20. data/lib/contrast/agent/assess/policy/propagator/substitution.rb +1 -7
  21. data/lib/contrast/agent/assess/policy/propagator/trim.rb +3 -15
  22. data/lib/contrast/agent/assess/policy/rewriter_patch.rb +6 -3
  23. data/lib/contrast/agent/assess/policy/source_method.rb +6 -6
  24. data/lib/contrast/agent/assess/policy/source_validation/source_validation.rb +1 -3
  25. data/lib/contrast/agent/assess/policy/trigger/reflected_xss.rb +5 -1
  26. data/lib/contrast/agent/assess/policy/trigger_method.rb +6 -15
  27. data/lib/contrast/agent/assess/policy/trigger_node.rb +2 -1
  28. data/lib/contrast/agent/assess/policy/trigger_validation/redos_validator.rb +4 -3
  29. data/lib/contrast/agent/assess/policy/trigger_validation/ssrf_validator.rb +1 -2
  30. data/lib/contrast/agent/assess/policy/trigger_validation/xss_validator.rb +1 -8
  31. data/lib/contrast/agent/assess/property/evented.rb +8 -5
  32. data/lib/contrast/agent/assess/rule/provider/hardcoded_key.rb +11 -5
  33. data/lib/contrast/agent/assess/rule/provider/hardcoded_password.rb +4 -1
  34. data/lib/contrast/agent/assess/rule/provider/hardcoded_value_rule.rb +3 -5
  35. data/lib/contrast/agent/class_reopener.rb +3 -1
  36. data/lib/contrast/agent/disable_reaction.rb +1 -3
  37. data/lib/contrast/agent/exclusion_matcher.rb +5 -11
  38. data/lib/contrast/agent/inventory/dependencies.rb +2 -0
  39. data/lib/contrast/agent/middleware.rb +3 -5
  40. data/lib/contrast/agent/module_data.rb +3 -3
  41. data/lib/contrast/agent/patching/policy/after_load_patcher.rb +6 -5
  42. data/lib/contrast/agent/patching/policy/method_policy.rb +6 -2
  43. data/lib/contrast/agent/patching/policy/module_policy.rb +14 -7
  44. data/lib/contrast/agent/patching/policy/patch.rb +11 -16
  45. data/lib/contrast/agent/patching/policy/patch_status.rb +6 -7
  46. data/lib/contrast/agent/patching/policy/patcher.rb +15 -12
  47. data/lib/contrast/agent/patching/policy/policy_node.rb +14 -4
  48. data/lib/contrast/agent/patching/policy/trigger_node.rb +21 -8
  49. data/lib/contrast/agent/protect/policy/applies_command_injection_rule.rb +1 -1
  50. data/lib/contrast/agent/protect/policy/applies_deserialization_rule.rb +1 -1
  51. data/lib/contrast/agent/protect/policy/applies_no_sqli_rule.rb +1 -1
  52. data/lib/contrast/agent/protect/policy/applies_path_traversal_rule.rb +2 -3
  53. data/lib/contrast/agent/protect/policy/applies_sqli_rule.rb +1 -1
  54. data/lib/contrast/agent/protect/policy/applies_xxe_rule.rb +5 -9
  55. data/lib/contrast/agent/protect/policy/rule_applicator.rb +5 -5
  56. data/lib/contrast/agent/protect/rule/base.rb +13 -16
  57. data/lib/contrast/agent/protect/rule/base_service.rb +9 -5
  58. data/lib/contrast/agent/protect/rule/cmd_injection.rb +14 -18
  59. data/lib/contrast/agent/protect/rule/deserialization.rb +6 -13
  60. data/lib/contrast/agent/protect/rule/http_method_tampering.rb +3 -14
  61. data/lib/contrast/agent/protect/rule/no_sqli.rb +6 -2
  62. data/lib/contrast/agent/protect/rule/no_sqli/mongo_no_sql_scanner.rb +1 -3
  63. data/lib/contrast/agent/protect/rule/path_traversal.rb +5 -5
  64. data/lib/contrast/agent/protect/rule/sqli.rb +1 -1
  65. data/lib/contrast/agent/protect/rule/unsafe_file_upload.rb +1 -1
  66. data/lib/contrast/agent/protect/rule/xss.rb +1 -1
  67. data/lib/contrast/agent/protect/rule/xxe.rb +5 -12
  68. data/lib/contrast/agent/protect/rule/xxe/entity_wrapper.rb +1 -2
  69. data/lib/contrast/agent/reaction_processor.rb +11 -10
  70. data/lib/contrast/agent/request.rb +23 -23
  71. data/lib/contrast/agent/request_context.rb +9 -14
  72. data/lib/contrast/agent/rewriter.rb +5 -3
  73. data/lib/contrast/agent/service_heartbeat.rb +2 -3
  74. data/lib/contrast/agent/tracepoint_hook.rb +1 -1
  75. data/lib/contrast/agent/version.rb +1 -1
  76. data/lib/contrast/api/communication/response_processor.rb +2 -4
  77. data/lib/contrast/api/communication/service_lifecycle.rb +4 -2
  78. data/lib/contrast/api/communication/socket_client.rb +8 -21
  79. data/lib/contrast/api/communication/speedracer.rb +3 -7
  80. data/lib/contrast/api/decorators/application_startup.rb +6 -2
  81. data/lib/contrast/api/decorators/library.rb +8 -6
  82. data/lib/contrast/api/decorators/message.rb +3 -3
  83. data/lib/contrast/api/decorators/trace_event.rb +3 -1
  84. data/lib/contrast/api/decorators/trace_event_object.rb +1 -3
  85. data/lib/contrast/api/decorators/trace_taint_range_tags.rb +1 -6
  86. data/lib/contrast/components/agent.rb +9 -4
  87. data/lib/contrast/components/app_context.rb +6 -6
  88. data/lib/contrast/components/config.rb +2 -1
  89. data/lib/contrast/components/contrast_service.rb +7 -8
  90. data/lib/contrast/components/interface.rb +3 -2
  91. data/lib/contrast/components/sampling.rb +8 -2
  92. data/lib/contrast/components/settings.rb +4 -2
  93. data/lib/contrast/config/assess_rules_configuration.rb +1 -3
  94. data/lib/contrast/config/base_configuration.rb +4 -5
  95. data/lib/contrast/config/exception_configuration.rb +1 -5
  96. data/lib/contrast/config/heap_dump_configuration.rb +12 -6
  97. data/lib/contrast/config/logger_configuration.rb +1 -5
  98. data/lib/contrast/configuration.rb +3 -14
  99. data/lib/contrast/extension/assess/array.rb +1 -6
  100. data/lib/contrast/extension/assess/erb.rb +1 -7
  101. data/lib/contrast/extension/assess/eval_trigger.rb +2 -6
  102. data/lib/contrast/extension/assess/exec_trigger.rb +3 -9
  103. data/lib/contrast/extension/assess/fiber.rb +2 -12
  104. data/lib/contrast/extension/assess/kernel.rb +2 -9
  105. data/lib/contrast/extension/assess/marshal.rb +2 -6
  106. data/lib/contrast/extension/assess/regexp.rb +1 -6
  107. data/lib/contrast/extension/assess/string.rb +3 -1
  108. data/lib/contrast/extension/kernel.rb +4 -2
  109. data/lib/contrast/framework/manager.rb +1 -2
  110. data/lib/contrast/framework/rack/patch/session_cookie.rb +5 -18
  111. data/lib/contrast/framework/rack/patch/support.rb +6 -4
  112. data/lib/contrast/framework/rails/patch/assess_configuration.rb +7 -2
  113. data/lib/contrast/framework/rails/patch/support.rb +4 -2
  114. data/lib/contrast/framework/rails/rewrite/action_controller_railties_helper_inherited.rb +4 -1
  115. data/lib/contrast/framework/rails/rewrite/active_record_attribute_methods_read.rb +2 -0
  116. data/lib/contrast/framework/rails/rewrite/active_record_named.rb +2 -0
  117. data/lib/contrast/framework/rails/rewrite/active_record_time_zone_inherited.rb +2 -0
  118. data/lib/contrast/framework/rails/support.rb +2 -2
  119. data/lib/contrast/framework/sinatra/support.rb +3 -1
  120. data/lib/contrast/funchook/funchook.rb +1 -5
  121. data/lib/contrast/logger/application.rb +12 -9
  122. data/lib/contrast/logger/format.rb +2 -5
  123. data/lib/contrast/logger/log.rb +4 -3
  124. data/lib/contrast/logger/request.rb +1 -2
  125. data/lib/contrast/security_exception.rb +1 -1
  126. data/lib/contrast/tasks/service.rb +5 -1
  127. data/lib/contrast/utils/assess/tracking_util.rb +1 -2
  128. data/lib/contrast/utils/class_util.rb +0 -8
  129. data/lib/contrast/utils/hash_digest.rb +2 -5
  130. data/lib/contrast/utils/io_util.rb +1 -1
  131. data/lib/contrast/utils/job_servers_running.rb +9 -4
  132. data/lib/contrast/utils/os.rb +2 -1
  133. data/lib/contrast/utils/ruby_ast_rewriter.rb +2 -1
  134. data/ruby-agent.gemspec +13 -14
  135. data/sonar-project.properties +9 -0
  136. metadata +37 -36
@@ -20,7 +20,7 @@ module Contrast
20
20
 
21
21
  should_rewind_io?(potential_io)
22
22
  rescue StandardError => e
23
- logger.debug('Encountered an issue determining if rewindable', e, module: potential_io.cs__class.name)
23
+ logger.debug('Encountered an issue determining if rewindable', e, module: potential_io.cs__class.cs__name)
24
24
  false
25
25
  end
26
26
 
@@ -24,12 +24,17 @@ module Contrast
24
24
  end
25
25
 
26
26
  def rake_running?
27
- return unless defined?(Rake) &&
28
- Rake.cs__respond_to?(:application) &&
29
- Rake.application.cs__respond_to?(:top_level_tasks)
27
+ unless defined?(Rake) &&
28
+ Rake.cs__respond_to?(:application) &&
29
+ Rake.application.cs__respond_to?(:top_level_tasks)
30
+
31
+ return
32
+ end
30
33
 
31
34
  disabled_rake_tasks = APP_CONTEXT.disabled_agent_rake_tasks
32
- has_disabled_task = Rake.application.top_level_tasks.any? { |top_level_task| disabled_rake_tasks.include?(top_level_task) }
35
+ has_disabled_task = Rake.application.top_level_tasks.any? do |top_level_task|
36
+ disabled_rake_tasks.include?(top_level_task)
37
+ end
33
38
  return false unless has_disabled_task
34
39
 
35
40
  logger.trace('Detected startup within Rake task')
@@ -27,7 +27,8 @@ module Contrast
27
27
  # returns an array of zombie process PIDs as strings; empty array if there are none
28
28
  def zombie_pids
29
29
  with_contrast_scope do
30
- zombie_pid_list = `ps aux | grep contrast-servic[e] | grep Z | awk '{print $2}'` # retrieve pid of service processes
30
+ # retrieve pid of service processes
31
+ zombie_pid_list = `ps aux | grep contrast-servic[e] | grep Z | awk '{print $2}'`
31
32
  zombie_pid_list.split("\n")
32
33
  end
33
34
  end
@@ -1,8 +1,9 @@
1
1
  # Copyright (c) 2021 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'parser/current'
4
+ return unless RUBY_VERSION < '2.6.0' # TODO: RUBY-714 remove guard w/ EOL of 2.5
5
5
 
6
+ require 'parser/current'
6
7
  module Contrast
7
8
  module Utils
8
9
  # This utility allows us to parse and rewrite the AST in Ruby 2.5,
data/ruby-agent.gemspec CHANGED
@@ -22,7 +22,7 @@ end
22
22
  def self.add_dev_dependencies spec
23
23
  add_builders(spec)
24
24
  add_debuggers(spec)
25
- add_linters(spec)
25
+ add_linters(spec) # if RUBY_VERSION >= '2.6.0' # TODO: RUBY-714 remove guard w/ EOL of 2.5
26
26
  add_specs(spec)
27
27
  end
28
28
 
@@ -47,9 +47,9 @@ end
47
47
 
48
48
  # Dependencies used for linting prior to commit.
49
49
  def self.add_linters spec
50
- spec.add_development_dependency 'debride'
51
- spec.add_development_dependency 'fasterer'
52
- spec.add_development_dependency 'flay'
50
+ spec.add_development_dependency 'debride', '1.8.2'
51
+ spec.add_development_dependency 'fasterer', '0.9.0'
52
+ spec.add_development_dependency 'flay', '2.12.1'
53
53
  add_rubocop(spec)
54
54
  end
55
55
 
@@ -72,17 +72,17 @@ def self.add_specs spec
72
72
  end
73
73
 
74
74
  def self.add_coverage spec
75
- spec.add_development_dependency 'codecov'
76
- spec.add_development_dependency 'simplecov', '0.20.0'
75
+ spec.add_development_dependency 'codecov', '0.5.2'
76
+ spec.add_development_dependency 'simplecov', '0.21.2'
77
77
  end
78
78
 
79
79
  # Dependencies used to run all of our Rubocop during the linting phase.
80
80
  def self.add_rubocop spec
81
- spec.add_development_dependency 'rubocop', '1.6.1'
82
- spec.add_development_dependency 'rubocop-performance', '1.9.1'
81
+ spec.add_development_dependency 'rubocop', '1.13.0'
82
+ spec.add_development_dependency 'rubocop-performance', '1.11.0'
83
83
  spec.add_development_dependency 'rubocop-rails', '2.9.1'
84
84
  spec.add_development_dependency 'rubocop-rake', '0.5.1'
85
- spec.add_development_dependency 'rubocop-rspec', '2.1.0'
85
+ spec.add_development_dependency 'rubocop-rspec', '2.2.0'
86
86
  end
87
87
 
88
88
  # Dependencies not mocked out during RSpec that we test real code of, beyond just frameworks.
@@ -102,7 +102,7 @@ end
102
102
  # corresponding update to the fake gem server data in TeamServer.
103
103
  def self.add_dependencies spec
104
104
  spec.add_dependency 'ougai', '~> 1.8'
105
- spec.add_dependency 'parser', '~> 2.6' # TODO: RUBY-714 remove w/ EOL of 2.5
105
+ spec.add_dependency 'parser', '>= 2.6' # if RUBY_VERSION < '2.6.0' # TODO: RUBY-714 remove guard w/ EOL of 2.5
106
106
  spec.add_dependency 'protobuf', '~> 3.10'
107
107
  spec.add_dependency 'rack', '~> 2.0'
108
108
  end
@@ -154,9 +154,7 @@ Gem::Specification.new do |spec|
154
154
  spec.name = 'contrast-agent'
155
155
  spec.version = Contrast::Agent::VERSION
156
156
 
157
- spec.email = %w[
158
- ruby@contrastsecurity.com
159
- ]
157
+ spec.email = %w[ruby@contrastsecurity.com]
160
158
 
161
159
  spec.summary = 'Contrast Security\'s agent for rack-based applications.'
162
160
  spec.description = 'This gem instantiates a Rack middleware for rack-based ' \
@@ -173,7 +171,8 @@ Gem::Specification.new do |spec|
173
171
  spec.require_paths = ['lib']
174
172
 
175
173
  unless File.exist?(File.join(Dir.pwd, 'contrast_security.yaml'))
176
- spec.post_install_message = 'To generate the required contrast_security.yaml file you can run: bundle exec rake contrast:config:create'
174
+ spec.post_install_message = 'To generate the required contrast_security.yaml file you can run: '\
175
+ 'bundle exec rake contrast:config:create'
177
176
  end
178
177
 
179
178
  add_authors(spec)
@@ -0,0 +1,9 @@
1
+ sonar.projectKey=Contrast-Security-Inc_ruby-agent
2
+ sonar.organization=contrast-security-inc
3
+
4
+ # Ignore C/CPP/ObjC files
5
+ sonar.c.file.suffixes=-
6
+ sonar.cpp.file.suffixes=-
7
+ sonar.objc.file.suffixes=-
8
+
9
+ sonar.ruby.coverage.reportPaths=coverage/coverage-formatted.json
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contrast-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.0
4
+ version: 4.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - galen.palmer@contrastsecurity.com
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: exe
15
15
  cert_chain: []
16
- date: 2021-04-22 00:00:00.000000000 Z
16
+ date: 2021-05-10 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: bundler
@@ -89,72 +89,72 @@ dependencies:
89
89
  name: debride
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - ">="
92
+ - - '='
93
93
  - !ruby/object:Gem::Version
94
- version: '0'
94
+ version: 1.8.2
95
95
  type: :development
96
96
  prerelease: false
97
97
  version_requirements: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - ">="
99
+ - - '='
100
100
  - !ruby/object:Gem::Version
101
- version: '0'
101
+ version: 1.8.2
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: fasterer
104
104
  requirement: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - ">="
106
+ - - '='
107
107
  - !ruby/object:Gem::Version
108
- version: '0'
108
+ version: 0.9.0
109
109
  type: :development
110
110
  prerelease: false
111
111
  version_requirements: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - ">="
113
+ - - '='
114
114
  - !ruby/object:Gem::Version
115
- version: '0'
115
+ version: 0.9.0
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: flay
118
118
  requirement: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - ">="
120
+ - - '='
121
121
  - !ruby/object:Gem::Version
122
- version: '0'
122
+ version: 2.12.1
123
123
  type: :development
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - ">="
127
+ - - '='
128
128
  - !ruby/object:Gem::Version
129
- version: '0'
129
+ version: 2.12.1
130
130
  - !ruby/object:Gem::Dependency
131
131
  name: rubocop
132
132
  requirement: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - '='
135
135
  - !ruby/object:Gem::Version
136
- version: 1.6.1
136
+ version: 1.13.0
137
137
  type: :development
138
138
  prerelease: false
139
139
  version_requirements: !ruby/object:Gem::Requirement
140
140
  requirements:
141
141
  - - '='
142
142
  - !ruby/object:Gem::Version
143
- version: 1.6.1
143
+ version: 1.13.0
144
144
  - !ruby/object:Gem::Dependency
145
145
  name: rubocop-performance
146
146
  requirement: !ruby/object:Gem::Requirement
147
147
  requirements:
148
148
  - - '='
149
149
  - !ruby/object:Gem::Version
150
- version: 1.9.1
150
+ version: 1.11.0
151
151
  type: :development
152
152
  prerelease: false
153
153
  version_requirements: !ruby/object:Gem::Requirement
154
154
  requirements:
155
155
  - - '='
156
156
  - !ruby/object:Gem::Version
157
- version: 1.9.1
157
+ version: 1.11.0
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: rubocop-rails
160
160
  requirement: !ruby/object:Gem::Requirement
@@ -189,42 +189,42 @@ dependencies:
189
189
  requirements:
190
190
  - - '='
191
191
  - !ruby/object:Gem::Version
192
- version: 2.1.0
192
+ version: 2.2.0
193
193
  type: :development
194
194
  prerelease: false
195
195
  version_requirements: !ruby/object:Gem::Requirement
196
196
  requirements:
197
197
  - - '='
198
198
  - !ruby/object:Gem::Version
199
- version: 2.1.0
199
+ version: 2.2.0
200
200
  - !ruby/object:Gem::Dependency
201
201
  name: codecov
202
202
  requirement: !ruby/object:Gem::Requirement
203
203
  requirements:
204
- - - ">="
204
+ - - '='
205
205
  - !ruby/object:Gem::Version
206
- version: '0'
206
+ version: 0.5.2
207
207
  type: :development
208
208
  prerelease: false
209
209
  version_requirements: !ruby/object:Gem::Requirement
210
210
  requirements:
211
- - - ">="
211
+ - - '='
212
212
  - !ruby/object:Gem::Version
213
- version: '0'
213
+ version: 0.5.2
214
214
  - !ruby/object:Gem::Dependency
215
215
  name: simplecov
216
216
  requirement: !ruby/object:Gem::Requirement
217
217
  requirements:
218
218
  - - '='
219
219
  - !ruby/object:Gem::Version
220
- version: 0.20.0
220
+ version: 0.21.2
221
221
  type: :development
222
222
  prerelease: false
223
223
  version_requirements: !ruby/object:Gem::Requirement
224
224
  requirements:
225
225
  - - '='
226
226
  - !ruby/object:Gem::Version
227
- version: 0.20.0
227
+ version: 0.21.2
228
228
  - !ruby/object:Gem::Dependency
229
229
  name: rails
230
230
  requirement: !ruby/object:Gem::Requirement
@@ -495,14 +495,14 @@ dependencies:
495
495
  name: parser
496
496
  requirement: !ruby/object:Gem::Requirement
497
497
  requirements:
498
- - - "~>"
498
+ - - ">="
499
499
  - !ruby/object:Gem::Version
500
500
  version: '2.6'
501
501
  type: :runtime
502
502
  prerelease: false
503
503
  version_requirements: !ruby/object:Gem::Requirement
504
504
  requirements:
505
- - - "~>"
505
+ - - ">="
506
506
  - !ruby/object:Gem::Version
507
507
  version: '2.6'
508
508
  - !ruby/object:Gem::Dependency
@@ -541,20 +541,20 @@ executables:
541
541
  - contrast_service
542
542
  extensions:
543
543
  - ext/cs__common/extconf.rb
544
- - ext/cs__assess_array/extconf.rb
545
- - ext/cs__assess_string_interpolation26/extconf.rb
546
- - ext/cs__assess_marshal_module/extconf.rb
547
- - ext/cs__assess_hash/extconf.rb
548
- - ext/cs__assess_yield_track/extconf.rb
549
544
  - ext/cs__assess_string/extconf.rb
550
545
  - ext/cs__protect_kernel/extconf.rb
551
- - ext/cs__assess_basic_object/extconf.rb
552
- - ext/cs__contrast_patch/extconf.rb
553
546
  - ext/cs__assess_regexp/extconf.rb
547
+ - ext/cs__contrast_patch/extconf.rb
548
+ - ext/cs__assess_array/extconf.rb
549
+ - ext/cs__assess_yield_track/extconf.rb
554
550
  - ext/cs__assess_fiber_track/extconf.rb
551
+ - ext/cs__assess_marshal_module/extconf.rb
552
+ - ext/cs__assess_basic_object/extconf.rb
553
+ - ext/cs__assess_module/extconf.rb
555
554
  - ext/cs__assess_kernel/extconf.rb
555
+ - ext/cs__assess_hash/extconf.rb
556
556
  - ext/cs__assess_active_record_named/extconf.rb
557
- - ext/cs__assess_module/extconf.rb
557
+ - ext/cs__assess_string_interpolation26/extconf.rb
558
558
  extra_rdoc_files: []
559
559
  files:
560
560
  - ".clang-format"
@@ -1021,6 +1021,7 @@ files:
1021
1021
  - service_executables/linux/contrast-service
1022
1022
  - service_executables/mac/contrast-service
1023
1023
  - shared_libraries/.gitkeep
1024
+ - sonar-project.properties
1024
1025
  homepage: https://www.contrastsecurity.com
1025
1026
  licenses:
1026
1027
  - CONTRAST SECURITY (see license file)