contrast-agent 4.2.0 → 4.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -0
  3. data/ext/cs__assess_marshal_module/cs__assess_marshal_module.c +22 -10
  4. data/ext/cs__assess_marshal_module/cs__assess_marshal_module.h +4 -3
  5. data/lib/contrast/agent.rb +5 -1
  6. data/lib/contrast/agent/assess.rb +0 -9
  7. data/lib/contrast/agent/assess/contrast_event.rb +49 -132
  8. data/lib/contrast/agent/assess/contrast_object.rb +54 -0
  9. data/lib/contrast/agent/assess/events/source_event.rb +4 -9
  10. data/lib/contrast/agent/assess/finalizers/hash.rb +7 -0
  11. data/lib/contrast/agent/assess/policy/dynamic_source_factory.rb +17 -3
  12. data/lib/contrast/agent/assess/policy/patcher.rb +4 -3
  13. data/lib/contrast/agent/assess/policy/policy_node.rb +31 -59
  14. data/lib/contrast/agent/assess/policy/preshift.rb +3 -3
  15. data/lib/contrast/agent/assess/policy/propagation_method.rb +41 -32
  16. data/lib/contrast/agent/assess/policy/propagation_node.rb +12 -24
  17. data/lib/contrast/agent/assess/policy/propagator/append.rb +29 -15
  18. data/lib/contrast/agent/assess/policy/propagator/center.rb +1 -2
  19. data/lib/contrast/agent/assess/policy/propagator/custom.rb +1 -1
  20. data/lib/contrast/agent/assess/policy/propagator/database_write.rb +21 -18
  21. data/lib/contrast/agent/assess/policy/propagator/insert.rb +1 -2
  22. data/lib/contrast/agent/assess/policy/propagator/keep.rb +1 -2
  23. data/lib/contrast/agent/assess/policy/propagator/match_data.rb +3 -2
  24. data/lib/contrast/agent/assess/policy/propagator/next.rb +1 -2
  25. data/lib/contrast/agent/assess/policy/propagator/prepend.rb +1 -2
  26. data/lib/contrast/agent/assess/policy/propagator/remove.rb +2 -4
  27. data/lib/contrast/agent/assess/policy/propagator/replace.rb +1 -2
  28. data/lib/contrast/agent/assess/policy/propagator/reverse.rb +1 -2
  29. data/lib/contrast/agent/assess/policy/propagator/select.rb +3 -4
  30. data/lib/contrast/agent/assess/policy/propagator/splat.rb +25 -17
  31. data/lib/contrast/agent/assess/policy/propagator/split.rb +83 -120
  32. data/lib/contrast/agent/assess/policy/propagator/substitution.rb +41 -25
  33. data/lib/contrast/agent/assess/policy/propagator/trim.rb +3 -7
  34. data/lib/contrast/agent/assess/policy/source_method.rb +2 -14
  35. data/lib/contrast/agent/assess/policy/trigger/reflected_xss.rb +5 -8
  36. data/lib/contrast/agent/assess/policy/trigger/xpath.rb +1 -1
  37. data/lib/contrast/agent/assess/policy/trigger_method.rb +13 -8
  38. data/lib/contrast/agent/assess/policy/trigger_node.rb +28 -7
  39. data/lib/contrast/agent/assess/policy/trigger_validation/redos_validator.rb +59 -0
  40. data/lib/contrast/agent/assess/policy/trigger_validation/ssrf_validator.rb +2 -3
  41. data/lib/contrast/agent/assess/policy/trigger_validation/trigger_validation.rb +6 -4
  42. data/lib/contrast/agent/assess/policy/trigger_validation/xss_validator.rb +2 -4
  43. data/lib/contrast/agent/assess/properties.rb +0 -2
  44. data/lib/contrast/agent/assess/property/tagged.rb +56 -32
  45. data/lib/contrast/agent/assess/tracker.rb +16 -18
  46. data/lib/contrast/agent/deadzone/policy/deadzone_node.rb +7 -0
  47. data/lib/contrast/agent/middleware.rb +134 -55
  48. data/lib/contrast/agent/patching/policy/after_load_patcher.rb +4 -0
  49. data/lib/contrast/agent/patching/policy/method_policy.rb +1 -1
  50. data/lib/contrast/agent/patching/policy/patch.rb +4 -4
  51. data/lib/contrast/agent/patching/policy/patch_status.rb +1 -1
  52. data/lib/contrast/agent/patching/policy/patcher.rb +51 -44
  53. data/lib/contrast/agent/patching/policy/trigger_node.rb +5 -2
  54. data/lib/contrast/agent/protect/policy/applies_deserialization_rule.rb +47 -1
  55. data/lib/contrast/agent/protect/policy/rule_applicator.rb +53 -0
  56. data/lib/contrast/agent/protect/rule/base.rb +63 -14
  57. data/lib/contrast/agent/protect/rule/cmd_injection.rb +3 -3
  58. data/lib/contrast/agent/protect/rule/default_scanner.rb +1 -4
  59. data/lib/contrast/agent/protect/rule/deserialization.rb +4 -1
  60. data/lib/contrast/agent/protect/rule/no_sqli.rb +3 -3
  61. data/lib/contrast/agent/protect/rule/sqli.rb +20 -14
  62. data/lib/contrast/agent/protect/rule/xxe.rb +32 -11
  63. data/lib/contrast/agent/protect/rule/xxe/entity_wrapper.rb +10 -6
  64. data/lib/contrast/agent/reaction_processor.rb +1 -1
  65. data/lib/contrast/agent/request_context.rb +12 -0
  66. data/lib/contrast/agent/response.rb +5 -5
  67. data/lib/contrast/agent/rewriter.rb +3 -3
  68. data/lib/contrast/agent/scope.rb +33 -13
  69. data/lib/contrast/agent/static_analysis.rb +13 -7
  70. data/lib/contrast/agent/thread.rb +1 -1
  71. data/lib/contrast/agent/thread_watcher.rb +20 -5
  72. data/lib/contrast/agent/version.rb +1 -1
  73. data/lib/contrast/api/communication/messaging_queue.rb +18 -21
  74. data/lib/contrast/api/communication/response_processor.rb +8 -1
  75. data/lib/contrast/api/communication/socket_client.rb +22 -14
  76. data/lib/contrast/api/decorators.rb +2 -0
  77. data/lib/contrast/api/decorators/agent_startup.rb +58 -0
  78. data/lib/contrast/api/decorators/application_startup.rb +51 -0
  79. data/lib/contrast/api/decorators/library.rb +1 -0
  80. data/lib/contrast/api/decorators/library_usage_update.rb +1 -0
  81. data/lib/contrast/api/decorators/route_coverage.rb +15 -5
  82. data/lib/contrast/api/decorators/trace_event.rb +58 -42
  83. data/lib/contrast/api/decorators/trace_event_object.rb +11 -3
  84. data/lib/contrast/api/decorators/trace_event_signature.rb +27 -5
  85. data/lib/contrast/api/decorators/user_input.rb +2 -1
  86. data/lib/contrast/common_agent_configuration.rb +1 -1
  87. data/lib/contrast/components/agent.rb +2 -0
  88. data/lib/contrast/components/app_context.rb +4 -22
  89. data/lib/contrast/components/assess.rb +36 -0
  90. data/lib/contrast/components/interface.rb +5 -3
  91. data/lib/contrast/components/sampling.rb +48 -6
  92. data/lib/contrast/components/scope.rb +23 -0
  93. data/lib/contrast/components/settings.rb +8 -7
  94. data/lib/contrast/config/assess_configuration.rb +2 -1
  95. data/lib/contrast/extension/assess/array.rb +1 -2
  96. data/lib/contrast/extension/assess/erb.rb +1 -3
  97. data/lib/contrast/extension/assess/exec_trigger.rb +1 -1
  98. data/lib/contrast/extension/assess/fiber.rb +2 -3
  99. data/lib/contrast/extension/assess/hash.rb +4 -2
  100. data/lib/contrast/extension/assess/kernel.rb +1 -2
  101. data/lib/contrast/extension/assess/marshal.rb +34 -26
  102. data/lib/contrast/extension/assess/regexp.rb +3 -8
  103. data/lib/contrast/extension/assess/string.rb +1 -2
  104. data/lib/contrast/framework/base_support.rb +51 -53
  105. data/lib/contrast/framework/manager.rb +16 -14
  106. data/lib/contrast/framework/rack/patch/session_cookie.rb +1 -1
  107. data/lib/contrast/framework/rack/support.rb +2 -1
  108. data/lib/contrast/framework/rails/patch/action_controller_live_buffer.rb +1 -1
  109. data/lib/contrast/framework/rails/patch/rails_application_configuration.rb +1 -1
  110. data/lib/contrast/framework/rails/rewrite/action_controller_railties_helper_inherited.rb +1 -1
  111. data/lib/contrast/framework/rails/rewrite/active_record_attribute_methods_read.rb +1 -1
  112. data/lib/contrast/framework/rails/rewrite/active_record_time_zone_inherited.rb +1 -1
  113. data/lib/contrast/framework/rails/support.rb +44 -44
  114. data/lib/contrast/framework/sinatra/support.rb +102 -42
  115. data/lib/contrast/logger/application.rb +0 -3
  116. data/lib/contrast/logger/log.rb +31 -15
  117. data/lib/contrast/utils/class_util.rb +3 -1
  118. data/lib/contrast/utils/duck_utils.rb +1 -1
  119. data/lib/contrast/utils/heap_dump_util.rb +103 -87
  120. data/lib/contrast/utils/invalid_configuration_util.rb +21 -12
  121. data/lib/contrast/utils/object_share.rb +3 -3
  122. data/lib/contrast/utils/preflight_util.rb +1 -1
  123. data/lib/contrast/utils/resource_loader.rb +1 -1
  124. data/lib/contrast/utils/sha256_builder.rb +2 -2
  125. data/lib/contrast/utils/string_utils.rb +1 -1
  126. data/lib/contrast/utils/tag_util.rb +9 -13
  127. data/resources/assess/policy.json +12 -18
  128. data/resources/deadzone/policy.json +150 -0
  129. data/resources/protect/policy.json +12 -0
  130. data/ruby-agent.gemspec +60 -19
  131. data/service_executables/VERSION +1 -1
  132. data/service_executables/linux/contrast-service +0 -0
  133. data/service_executables/mac/contrast-service +0 -0
  134. metadata +124 -112
  135. data/lib/contrast/agent/assess/rule.rb +0 -18
  136. data/lib/contrast/agent/assess/rule/base.rb +0 -52
  137. data/lib/contrast/agent/assess/rule/redos.rb +0 -67
  138. data/lib/contrast/framework/sinatra/patch/base.rb +0 -83
  139. data/lib/contrast/framework/sinatra/patch/support.rb +0 -27
  140. data/lib/contrast/utils/prevent_serialization.rb +0 -52
@@ -1 +1 @@
1
- 2.16.0
1
+ 2.17.4
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.2.0
4
+ version: 4.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - galen.palmer@contrastsecurity.com
@@ -13,10 +13,10 @@ authors:
13
13
  autorequire:
14
14
  bindir: exe
15
15
  cert_chain: []
16
- date: 2020-12-18 00:00:00.000000000 Z
16
+ date: 2021-03-10 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
- name: amazing_print
19
+ name: bundler
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - ">="
@@ -30,35 +30,35 @@ dependencies:
30
30
  - !ruby/object:Gem::Version
31
31
  version: '0'
32
32
  - !ruby/object:Gem::Dependency
33
- name: bundler
33
+ name: rake
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
- version: '0'
38
+ version: 12.3.3
39
39
  type: :development
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
42
42
  requirements:
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: '0'
45
+ version: 12.3.3
46
46
  - !ruby/object:Gem::Dependency
47
- name: climate_control
47
+ name: rake-compiler
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
- - - ">="
50
+ - - "~>"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '0'
53
53
  type: :development
54
54
  prerelease: false
55
55
  version_requirements: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ">="
57
+ - - "~>"
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
60
  - !ruby/object:Gem::Dependency
61
- name: debase
61
+ name: pry
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - ">="
@@ -72,7 +72,7 @@ dependencies:
72
72
  - !ruby/object:Gem::Version
73
73
  version: '0'
74
74
  - !ruby/object:Gem::Dependency
75
- name: debride
75
+ name: ruby-debug-ide
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - ">="
@@ -86,7 +86,7 @@ dependencies:
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
88
  - !ruby/object:Gem::Dependency
89
- name: execjs
89
+ name: debride
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - ">="
@@ -100,7 +100,7 @@ dependencies:
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  - !ruby/object:Gem::Dependency
103
- name: factory_bot
103
+ name: fasterer
104
104
  requirement: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - ">="
@@ -114,7 +114,7 @@ dependencies:
114
114
  - !ruby/object:Gem::Version
115
115
  version: '0'
116
116
  - !ruby/object:Gem::Dependency
117
- name: fake_ftp
117
+ name: flay
118
118
  requirement: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ">="
@@ -128,133 +128,133 @@ dependencies:
128
128
  - !ruby/object:Gem::Version
129
129
  version: '0'
130
130
  - !ruby/object:Gem::Dependency
131
- name: fasterer
131
+ name: rubocop
132
132
  requirement: !ruby/object:Gem::Requirement
133
133
  requirements:
134
- - - ">="
134
+ - - '='
135
135
  - !ruby/object:Gem::Version
136
- version: '0'
136
+ version: 1.6.1
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: '0'
143
+ version: 1.6.1
144
144
  - !ruby/object:Gem::Dependency
145
- name: flay
145
+ name: rubocop-performance
146
146
  requirement: !ruby/object:Gem::Requirement
147
147
  requirements:
148
- - - ">="
148
+ - - '='
149
149
  - !ruby/object:Gem::Version
150
- version: '0'
150
+ version: 1.9.1
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: '0'
157
+ version: 1.9.1
158
158
  - !ruby/object:Gem::Dependency
159
- name: openssl
159
+ name: rubocop-rails
160
160
  requirement: !ruby/object:Gem::Requirement
161
161
  requirements:
162
- - - ">="
162
+ - - '='
163
163
  - !ruby/object:Gem::Version
164
- version: '0'
164
+ version: 2.9.1
165
165
  type: :development
166
166
  prerelease: false
167
167
  version_requirements: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - ">="
169
+ - - '='
170
170
  - !ruby/object:Gem::Version
171
- version: '0'
171
+ version: 2.9.1
172
172
  - !ruby/object:Gem::Dependency
173
- name: parser
173
+ name: rubocop-rake
174
174
  requirement: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - "~>"
176
+ - - '='
177
177
  - !ruby/object:Gem::Version
178
- version: '2.6'
178
+ version: 0.5.1
179
179
  type: :development
180
180
  prerelease: false
181
181
  version_requirements: !ruby/object:Gem::Requirement
182
182
  requirements:
183
- - - "~>"
183
+ - - '='
184
184
  - !ruby/object:Gem::Version
185
- version: '2.6'
185
+ version: 0.5.1
186
186
  - !ruby/object:Gem::Dependency
187
- name: pry
187
+ name: rubocop-rspec
188
188
  requirement: !ruby/object:Gem::Requirement
189
189
  requirements:
190
- - - ">="
190
+ - - '='
191
191
  - !ruby/object:Gem::Version
192
- version: '0'
192
+ version: 2.1.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: '0'
199
+ version: 2.1.0
200
200
  - !ruby/object:Gem::Dependency
201
- name: rails
201
+ name: codecov
202
202
  requirement: !ruby/object:Gem::Requirement
203
203
  requirements:
204
204
  - - ">="
205
205
  - !ruby/object:Gem::Version
206
- version: '3'
206
+ version: '0'
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: '3'
213
+ version: '0'
214
214
  - !ruby/object:Gem::Dependency
215
- name: rake
215
+ name: simplecov
216
216
  requirement: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - "~>"
218
+ - - '='
219
219
  - !ruby/object:Gem::Version
220
- version: '10.0'
220
+ version: 0.20.0
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: '10.0'
227
+ version: 0.20.0
228
228
  - !ruby/object:Gem::Dependency
229
- name: rake-compiler
229
+ name: rails
230
230
  requirement: !ruby/object:Gem::Requirement
231
231
  requirements:
232
- - - "~>"
232
+ - - ">="
233
233
  - !ruby/object:Gem::Version
234
- version: '0'
234
+ version: '3'
235
235
  type: :development
236
236
  prerelease: false
237
237
  version_requirements: !ruby/object:Gem::Requirement
238
238
  requirements:
239
- - - "~>"
239
+ - - ">="
240
240
  - !ruby/object:Gem::Version
241
- version: '0'
241
+ version: '3'
242
242
  - !ruby/object:Gem::Dependency
243
- name: rspec
243
+ name: sinatra
244
244
  requirement: !ruby/object:Gem::Requirement
245
245
  requirements:
246
- - - "~>"
246
+ - - ">="
247
247
  - !ruby/object:Gem::Version
248
- version: '3.0'
248
+ version: '2'
249
249
  type: :development
250
250
  prerelease: false
251
251
  version_requirements: !ruby/object:Gem::Requirement
252
252
  requirements:
253
- - - "~>"
253
+ - - ">="
254
254
  - !ruby/object:Gem::Version
255
- version: '3.0'
255
+ version: '2'
256
256
  - !ruby/object:Gem::Dependency
257
- name: rspec-benchmark
257
+ name: debase
258
258
  requirement: !ruby/object:Gem::Requirement
259
259
  requirements:
260
260
  - - ">="
@@ -268,63 +268,63 @@ dependencies:
268
268
  - !ruby/object:Gem::Version
269
269
  version: '0'
270
270
  - !ruby/object:Gem::Dependency
271
- name: rspec_junit_formatter
271
+ name: execjs
272
272
  requirement: !ruby/object:Gem::Requirement
273
273
  requirements:
274
- - - '='
274
+ - - ">="
275
275
  - !ruby/object:Gem::Version
276
- version: 0.3.0
276
+ version: '0'
277
277
  type: :development
278
278
  prerelease: false
279
279
  version_requirements: !ruby/object:Gem::Requirement
280
280
  requirements:
281
- - - '='
281
+ - - ">="
282
282
  - !ruby/object:Gem::Version
283
- version: 0.3.0
283
+ version: '0'
284
284
  - !ruby/object:Gem::Dependency
285
- name: rubocop
285
+ name: sqlite3
286
286
  requirement: !ruby/object:Gem::Requirement
287
287
  requirements:
288
288
  - - '='
289
289
  - !ruby/object:Gem::Version
290
- version: 0.93.1
290
+ version: 1.3.9
291
291
  type: :development
292
292
  prerelease: false
293
293
  version_requirements: !ruby/object:Gem::Requirement
294
294
  requirements:
295
295
  - - '='
296
296
  - !ruby/object:Gem::Version
297
- version: 0.93.1
297
+ version: 1.3.9
298
298
  - !ruby/object:Gem::Dependency
299
- name: rubocop-performance
299
+ name: therubyracer
300
300
  requirement: !ruby/object:Gem::Requirement
301
301
  requirements:
302
- - - '='
302
+ - - ">="
303
303
  - !ruby/object:Gem::Version
304
- version: 1.8.1
304
+ version: '0'
305
305
  type: :development
306
306
  prerelease: false
307
307
  version_requirements: !ruby/object:Gem::Requirement
308
308
  requirements:
309
- - - '='
309
+ - - ">="
310
310
  - !ruby/object:Gem::Version
311
- version: 1.8.1
311
+ version: '0'
312
312
  - !ruby/object:Gem::Dependency
313
- name: rubocop-rspec
313
+ name: tilt
314
314
  requirement: !ruby/object:Gem::Requirement
315
315
  requirements:
316
- - - '='
316
+ - - ">="
317
317
  - !ruby/object:Gem::Version
318
- version: 1.43.2
318
+ version: '0'
319
319
  type: :development
320
320
  prerelease: false
321
321
  version_requirements: !ruby/object:Gem::Requirement
322
322
  requirements:
323
- - - '='
323
+ - - ">="
324
324
  - !ruby/object:Gem::Version
325
- version: 1.43.2
325
+ version: '0'
326
326
  - !ruby/object:Gem::Dependency
327
- name: ruby-debug-ide
327
+ name: xpath
328
328
  requirement: !ruby/object:Gem::Requirement
329
329
  requirements:
330
330
  - - ">="
@@ -338,49 +338,49 @@ dependencies:
338
338
  - !ruby/object:Gem::Version
339
339
  version: '0'
340
340
  - !ruby/object:Gem::Dependency
341
- name: simplecov
341
+ name: benchmark-ips
342
342
  requirement: !ruby/object:Gem::Requirement
343
343
  requirements:
344
- - - "~>"
344
+ - - ">="
345
345
  - !ruby/object:Gem::Version
346
- version: '0.18'
346
+ version: '0'
347
347
  type: :development
348
348
  prerelease: false
349
349
  version_requirements: !ruby/object:Gem::Requirement
350
350
  requirements:
351
- - - "~>"
351
+ - - ">="
352
352
  - !ruby/object:Gem::Version
353
- version: '0.18'
353
+ version: '0'
354
354
  - !ruby/object:Gem::Dependency
355
- name: sinatra
355
+ name: climate_control
356
356
  requirement: !ruby/object:Gem::Requirement
357
357
  requirements:
358
358
  - - ">="
359
359
  - !ruby/object:Gem::Version
360
- version: '2'
360
+ version: '0'
361
361
  type: :development
362
362
  prerelease: false
363
363
  version_requirements: !ruby/object:Gem::Requirement
364
364
  requirements:
365
365
  - - ">="
366
366
  - !ruby/object:Gem::Version
367
- version: '2'
367
+ version: '0'
368
368
  - !ruby/object:Gem::Dependency
369
- name: sqlite3
369
+ name: factory_bot
370
370
  requirement: !ruby/object:Gem::Requirement
371
371
  requirements:
372
- - - '='
372
+ - - ">="
373
373
  - !ruby/object:Gem::Version
374
- version: 1.3.9
374
+ version: '0'
375
375
  type: :development
376
376
  prerelease: false
377
377
  version_requirements: !ruby/object:Gem::Requirement
378
378
  requirements:
379
- - - '='
379
+ - - ">="
380
380
  - !ruby/object:Gem::Version
381
- version: 1.3.9
381
+ version: '0'
382
382
  - !ruby/object:Gem::Dependency
383
- name: therubyracer
383
+ name: fake_ftp
384
384
  requirement: !ruby/object:Gem::Requirement
385
385
  requirements:
386
386
  - - ">="
@@ -394,7 +394,7 @@ dependencies:
394
394
  - !ruby/object:Gem::Version
395
395
  version: '0'
396
396
  - !ruby/object:Gem::Dependency
397
- name: tilt
397
+ name: openssl
398
398
  requirement: !ruby/object:Gem::Requirement
399
399
  requirements:
400
400
  - - ">="
@@ -408,7 +408,21 @@ dependencies:
408
408
  - !ruby/object:Gem::Version
409
409
  version: '0'
410
410
  - !ruby/object:Gem::Dependency
411
- name: xpath
411
+ name: rspec
412
+ requirement: !ruby/object:Gem::Requirement
413
+ requirements:
414
+ - - "~>"
415
+ - !ruby/object:Gem::Version
416
+ version: '3.0'
417
+ type: :development
418
+ prerelease: false
419
+ version_requirements: !ruby/object:Gem::Requirement
420
+ requirements:
421
+ - - "~>"
422
+ - !ruby/object:Gem::Version
423
+ version: '3.0'
424
+ - !ruby/object:Gem::Dependency
425
+ name: rspec-benchmark
412
426
  requirement: !ruby/object:Gem::Requirement
413
427
  requirements:
414
428
  - - ">="
@@ -422,19 +436,19 @@ dependencies:
422
436
  - !ruby/object:Gem::Version
423
437
  version: '0'
424
438
  - !ruby/object:Gem::Dependency
425
- name: yarjuf
439
+ name: rspec_junit_formatter
426
440
  requirement: !ruby/object:Gem::Requirement
427
441
  requirements:
428
- - - "~>"
442
+ - - '='
429
443
  - !ruby/object:Gem::Version
430
- version: '2.0'
444
+ version: 0.3.0
431
445
  type: :development
432
446
  prerelease: false
433
447
  version_requirements: !ruby/object:Gem::Requirement
434
448
  requirements:
435
- - - "~>"
449
+ - - '='
436
450
  - !ruby/object:Gem::Version
437
- version: '2.0'
451
+ version: 0.3.0
438
452
  - !ruby/object:Gem::Dependency
439
453
  name: ougai
440
454
  requirement: !ruby/object:Gem::Requirement
@@ -499,20 +513,20 @@ executables:
499
513
  - contrast_service
500
514
  extensions:
501
515
  - ext/cs__common/extconf.rb
502
- - ext/cs__assess_active_record_named/extconf.rb
503
- - ext/cs__assess_fiber_track/extconf.rb
504
516
  - ext/cs__assess_basic_object/extconf.rb
505
- - ext/cs__contrast_patch/extconf.rb
517
+ - ext/cs__assess_string_interpolation26/extconf.rb
506
518
  - ext/cs__assess_array/extconf.rb
507
519
  - ext/cs__protect_kernel/extconf.rb
508
520
  - ext/cs__assess_kernel/extconf.rb
509
- - ext/cs__assess_regexp/extconf.rb
510
- - ext/cs__assess_hash/extconf.rb
511
521
  - ext/cs__assess_module/extconf.rb
512
- - ext/cs__assess_string_interpolation26/extconf.rb
513
- - ext/cs__assess_marshal_module/extconf.rb
514
- - ext/cs__assess_yield_track/extconf.rb
515
522
  - ext/cs__assess_string/extconf.rb
523
+ - ext/cs__assess_active_record_named/extconf.rb
524
+ - ext/cs__assess_yield_track/extconf.rb
525
+ - ext/cs__contrast_patch/extconf.rb
526
+ - ext/cs__assess_hash/extconf.rb
527
+ - ext/cs__assess_regexp/extconf.rb
528
+ - ext/cs__assess_marshal_module/extconf.rb
529
+ - ext/cs__assess_fiber_track/extconf.rb
516
530
  extra_rdoc_files: []
517
531
  files:
518
532
  - ".clang-format"
@@ -709,6 +723,7 @@ files:
709
723
  - lib/contrast/agent.rb
710
724
  - lib/contrast/agent/assess.rb
711
725
  - lib/contrast/agent/assess/contrast_event.rb
726
+ - lib/contrast/agent/assess/contrast_object.rb
712
727
  - lib/contrast/agent/assess/events/event_factory.rb
713
728
  - lib/contrast/agent/assess/events/source_event.rb
714
729
  - lib/contrast/agent/assess/finalizers/freeze.rb
@@ -749,6 +764,7 @@ files:
749
764
  - lib/contrast/agent/assess/policy/trigger/xpath.rb
750
765
  - lib/contrast/agent/assess/policy/trigger_method.rb
751
766
  - lib/contrast/agent/assess/policy/trigger_node.rb
767
+ - lib/contrast/agent/assess/policy/trigger_validation/redos_validator.rb
752
768
  - lib/contrast/agent/assess/policy/trigger_validation/ssrf_validator.rb
753
769
  - lib/contrast/agent/assess/policy/trigger_validation/trigger_validation.rb
754
770
  - lib/contrast/agent/assess/policy/trigger_validation/xss_validator.rb
@@ -756,13 +772,10 @@ files:
756
772
  - lib/contrast/agent/assess/property/evented.rb
757
773
  - lib/contrast/agent/assess/property/tagged.rb
758
774
  - lib/contrast/agent/assess/property/updated.rb
759
- - lib/contrast/agent/assess/rule.rb
760
- - lib/contrast/agent/assess/rule/base.rb
761
775
  - lib/contrast/agent/assess/rule/provider.rb
762
776
  - lib/contrast/agent/assess/rule/provider/hardcoded_key.rb
763
777
  - lib/contrast/agent/assess/rule/provider/hardcoded_password.rb
764
778
  - lib/contrast/agent/assess/rule/provider/hardcoded_value_rule.rb
765
- - lib/contrast/agent/assess/rule/redos.rb
766
779
  - lib/contrast/agent/assess/tag.rb
767
780
  - lib/contrast/agent/assess/tracker.rb
768
781
  - lib/contrast/agent/at_exit_hook.rb
@@ -849,7 +862,9 @@ files:
849
862
  - lib/contrast/api/communication/unix_socket.rb
850
863
  - lib/contrast/api/decorators.rb
851
864
  - lib/contrast/api/decorators/address.rb
865
+ - lib/contrast/api/decorators/agent_startup.rb
852
866
  - lib/contrast/api/decorators/application_settings.rb
867
+ - lib/contrast/api/decorators/application_startup.rb
853
868
  - lib/contrast/api/decorators/application_update.rb
854
869
  - lib/contrast/api/decorators/http_request.rb
855
870
  - lib/contrast/api/decorators/input_analysis.rb
@@ -935,8 +950,6 @@ files:
935
950
  - lib/contrast/framework/rails/rewrite/active_record_named.rb
936
951
  - lib/contrast/framework/rails/rewrite/active_record_time_zone_inherited.rb
937
952
  - lib/contrast/framework/rails/support.rb
938
- - lib/contrast/framework/sinatra/patch/base.rb
939
- - lib/contrast/framework/sinatra/patch/support.rb
940
953
  - lib/contrast/framework/sinatra/support.rb
941
954
  - lib/contrast/funchook/funchook.rb
942
955
  - lib/contrast/logger/application.rb
@@ -961,7 +974,6 @@ files:
961
974
  - lib/contrast/utils/object_share.rb
962
975
  - lib/contrast/utils/os.rb
963
976
  - lib/contrast/utils/preflight_util.rb
964
- - lib/contrast/utils/prevent_serialization.rb
965
977
  - lib/contrast/utils/resource_loader.rb
966
978
  - lib/contrast/utils/ruby_ast_rewriter.rb
967
979
  - lib/contrast/utils/sha256_builder.rb