contrast-agent 4.6.0 → 4.7.0

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.
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)