contrast-agent 6.11.0 → 6.12.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 (470) hide show
  1. checksums.yaml +4 -4
  2. data/.simplecov +1 -1
  3. data/Gemfile +1 -1
  4. data/Rakefile +1 -1
  5. data/ext/build_funchook.rb +1 -1
  6. data/ext/cs__assess_array/cs__assess_array.c +24 -18
  7. data/ext/cs__assess_array/extconf.rb +1 -1
  8. data/ext/cs__assess_basic_object/cs__assess_basic_object.c +1 -1
  9. data/ext/cs__assess_basic_object/extconf.rb +1 -1
  10. data/ext/cs__assess_fiber_track/cs__assess_fiber_track.c +1 -1
  11. data/ext/cs__assess_fiber_track/extconf.rb +1 -1
  12. data/ext/cs__assess_hash/cs__assess_hash.c +1 -1
  13. data/ext/cs__assess_hash/extconf.rb +1 -1
  14. data/ext/cs__assess_kernel/cs__assess_kernel.c +1 -1
  15. data/ext/cs__assess_kernel/extconf.rb +1 -1
  16. data/ext/cs__assess_marshal_module/cs__assess_marshal_module.c +7 -5
  17. data/ext/cs__assess_marshal_module/extconf.rb +1 -1
  18. data/ext/cs__assess_module/cs__assess_module.c +1 -1
  19. data/ext/cs__assess_module/extconf.rb +1 -1
  20. data/ext/cs__assess_regexp/cs__assess_regexp.c +1 -1
  21. data/ext/cs__assess_regexp/extconf.rb +1 -1
  22. data/ext/cs__assess_string/cs__assess_string.c +1 -1
  23. data/ext/cs__assess_string/extconf.rb +1 -1
  24. data/ext/cs__assess_string_interpolation/cs__assess_string_interpolation.c +1 -1
  25. data/ext/cs__assess_string_interpolation/extconf.rb +1 -1
  26. data/ext/cs__assess_test/extconf.rb +1 -1
  27. data/ext/cs__assess_yield_track/cs__assess_yield_track.c +1 -1
  28. data/ext/cs__assess_yield_track/extconf.rb +1 -1
  29. data/ext/cs__common/cs__common.c +1 -1
  30. data/ext/cs__common/extconf.rb +1 -1
  31. data/ext/cs__contrast_patch/cs__contrast_patch.c +12 -10
  32. data/ext/cs__contrast_patch/extconf.rb +1 -1
  33. data/ext/cs__os_information/cs__os_information.c +1 -1
  34. data/ext/cs__os_information/extconf.rb +1 -1
  35. data/ext/cs__scope/cs__scope.c +390 -207
  36. data/ext/cs__scope/cs__scope.h +3 -1
  37. data/ext/cs__scope/extconf.rb +1 -1
  38. data/ext/cs__tests/cs__tests.c +1 -1
  39. data/ext/cs__tests/extconf.rb +1 -1
  40. data/ext/extconf_common.rb +1 -1
  41. data/lib/contrast/agent/assess/contrast_object.rb +1 -1
  42. data/lib/contrast/agent/assess/events/event_data.rb +1 -1
  43. data/lib/contrast/agent/assess/finalizers/freeze.rb +1 -1
  44. data/lib/contrast/agent/assess/finalizers/hash.rb +1 -1
  45. data/lib/contrast/agent/assess/policy/dynamic_source_factory.rb +1 -1
  46. data/lib/contrast/agent/assess/policy/patcher.rb +1 -1
  47. data/lib/contrast/agent/assess/policy/policy.rb +1 -1
  48. data/lib/contrast/agent/assess/policy/policy_node.rb +1 -1
  49. data/lib/contrast/agent/assess/policy/policy_node_utils.rb +1 -1
  50. data/lib/contrast/agent/assess/policy/policy_scanner.rb +1 -1
  51. data/lib/contrast/agent/assess/policy/preshift.rb +1 -1
  52. data/lib/contrast/agent/assess/policy/propagation_method.rb +1 -1
  53. data/lib/contrast/agent/assess/policy/propagation_node.rb +1 -1
  54. data/lib/contrast/agent/assess/policy/propagator/append.rb +1 -1
  55. data/lib/contrast/agent/assess/policy/propagator/base.rb +1 -1
  56. data/lib/contrast/agent/assess/policy/propagator/buffer.rb +1 -1
  57. data/lib/contrast/agent/assess/policy/propagator/center.rb +1 -1
  58. data/lib/contrast/agent/assess/policy/propagator/custom.rb +1 -1
  59. data/lib/contrast/agent/assess/policy/propagator/database_write.rb +1 -1
  60. data/lib/contrast/agent/assess/policy/propagator/insert.rb +1 -1
  61. data/lib/contrast/agent/assess/policy/propagator/keep.rb +1 -1
  62. data/lib/contrast/agent/assess/policy/propagator/match_data.rb +1 -1
  63. data/lib/contrast/agent/assess/policy/propagator/next.rb +1 -1
  64. data/lib/contrast/agent/assess/policy/propagator/prepend.rb +1 -1
  65. data/lib/contrast/agent/assess/policy/propagator/rack_protection.rb +1 -1
  66. data/lib/contrast/agent/assess/policy/propagator/remove.rb +1 -1
  67. data/lib/contrast/agent/assess/policy/propagator/replace.rb +1 -1
  68. data/lib/contrast/agent/assess/policy/propagator/reverse.rb +1 -1
  69. data/lib/contrast/agent/assess/policy/propagator/select.rb +1 -1
  70. data/lib/contrast/agent/assess/policy/propagator/splat.rb +1 -1
  71. data/lib/contrast/agent/assess/policy/propagator/split.rb +1 -1
  72. data/lib/contrast/agent/assess/policy/propagator/substitution.rb +1 -1
  73. data/lib/contrast/agent/assess/policy/propagator/substitution_utils.rb +1 -1
  74. data/lib/contrast/agent/assess/policy/propagator/trim.rb +1 -1
  75. data/lib/contrast/agent/assess/policy/propagator.rb +1 -1
  76. data/lib/contrast/agent/assess/policy/source_method.rb +1 -3
  77. data/lib/contrast/agent/assess/policy/source_node.rb +1 -1
  78. data/lib/contrast/agent/assess/policy/source_validation/cross_site_validator.rb +1 -1
  79. data/lib/contrast/agent/assess/policy/source_validation/source_validation.rb +1 -1
  80. data/lib/contrast/agent/assess/policy/trigger/reflected_xss.rb +2 -1
  81. data/lib/contrast/agent/assess/policy/trigger/xpath.rb +1 -1
  82. data/lib/contrast/agent/assess/policy/trigger_method.rb +1 -1
  83. data/lib/contrast/agent/assess/policy/trigger_node.rb +1 -1
  84. data/lib/contrast/agent/assess/policy/trigger_validation/redos_validator.rb +1 -1
  85. data/lib/contrast/agent/assess/policy/trigger_validation/ssrf_validator.rb +1 -1
  86. data/lib/contrast/agent/assess/policy/trigger_validation/trigger_validation.rb +1 -1
  87. data/lib/contrast/agent/assess/policy/trigger_validation/xss_validator.rb +1 -1
  88. data/lib/contrast/agent/assess/properties.rb +1 -1
  89. data/lib/contrast/agent/assess/property/evented.rb +1 -1
  90. data/lib/contrast/agent/assess/property/tagged.rb +1 -1
  91. data/lib/contrast/agent/assess/property/updated.rb +1 -1
  92. data/lib/contrast/agent/assess/rule/provider/hardcoded_key.rb +1 -1
  93. data/lib/contrast/agent/assess/rule/provider/hardcoded_password.rb +1 -1
  94. data/lib/contrast/agent/assess/rule/provider/hardcoded_value_rule.rb +1 -1
  95. data/lib/contrast/agent/assess/rule/provider.rb +1 -1
  96. data/lib/contrast/agent/assess/rule/response/auto_complete_rule.rb +1 -1
  97. data/lib/contrast/agent/assess/rule/response/base_rule.rb +1 -1
  98. data/lib/contrast/agent/assess/rule/response/body_rule.rb +1 -1
  99. data/lib/contrast/agent/assess/rule/response/cache_control_header_rule.rb +1 -1
  100. data/lib/contrast/agent/assess/rule/response/click_jacking_header_rule.rb +1 -1
  101. data/lib/contrast/agent/assess/rule/response/csp_header_insecure_rule.rb +1 -1
  102. data/lib/contrast/agent/assess/rule/response/csp_header_missing_rule.rb +1 -1
  103. data/lib/contrast/agent/assess/rule/response/framework/rails_support.rb +1 -1
  104. data/lib/contrast/agent/assess/rule/response/header_rule.rb +1 -1
  105. data/lib/contrast/agent/assess/rule/response/hsts_header_rule.rb +1 -1
  106. data/lib/contrast/agent/assess/rule/response/parameters_pollution_rule.rb +1 -1
  107. data/lib/contrast/agent/assess/rule/response/x_content_type_header_rule.rb +1 -1
  108. data/lib/contrast/agent/assess/rule/response/x_xss_protection_header_rule.rb +1 -1
  109. data/lib/contrast/agent/assess/tag.rb +1 -1
  110. data/lib/contrast/agent/assess/tracker.rb +1 -1
  111. data/lib/contrast/agent/assess.rb +1 -1
  112. data/lib/contrast/agent/at_exit_hook.rb +1 -1
  113. data/lib/contrast/agent/deadzone/policy/deadzone_node.rb +1 -1
  114. data/lib/contrast/agent/deadzone/policy/policy.rb +1 -1
  115. data/lib/contrast/agent/disable_reaction.rb +1 -1
  116. data/lib/contrast/agent/excluder.rb +125 -43
  117. data/lib/contrast/agent/exclusion_matcher.rb +11 -55
  118. data/lib/contrast/agent/inventory/database_config.rb +1 -1
  119. data/lib/contrast/agent/inventory/dependencies.rb +1 -1
  120. data/lib/contrast/agent/inventory/dependency_analysis.rb +1 -1
  121. data/lib/contrast/agent/inventory/dependency_usage_analysis.rb +1 -1
  122. data/lib/contrast/agent/inventory/policy/datastores.rb +1 -1
  123. data/lib/contrast/agent/inventory/policy/policy.rb +1 -1
  124. data/lib/contrast/agent/inventory/policy/trigger_node.rb +1 -1
  125. data/lib/contrast/agent/inventory.rb +1 -1
  126. data/lib/contrast/agent/middleware.rb +21 -8
  127. data/lib/contrast/agent/module_data.rb +1 -1
  128. data/lib/contrast/agent/patching/policy/after_load_patch.rb +1 -1
  129. data/lib/contrast/agent/patching/policy/after_load_patcher.rb +1 -1
  130. data/lib/contrast/agent/patching/policy/method_policy.rb +1 -1
  131. data/lib/contrast/agent/patching/policy/method_policy_extend.rb +1 -1
  132. data/lib/contrast/agent/patching/policy/module_policy.rb +1 -1
  133. data/lib/contrast/agent/patching/policy/patch.rb +1 -1
  134. data/lib/contrast/agent/patching/policy/patch_status.rb +1 -1
  135. data/lib/contrast/agent/patching/policy/patcher.rb +1 -1
  136. data/lib/contrast/agent/patching/policy/policy.rb +1 -1
  137. data/lib/contrast/agent/patching/policy/policy_node.rb +1 -1
  138. data/lib/contrast/agent/patching/policy/trigger_node.rb +1 -1
  139. data/lib/contrast/agent/protect/exploitable_collection.rb +1 -1
  140. data/lib/contrast/agent/protect/input_analyzer/input_analyzer.rb +4 -2
  141. data/lib/contrast/agent/protect/input_analyzer/worth_watching_analyzer.rb +12 -11
  142. data/lib/contrast/agent/protect/policy/applies_command_injection_rule.rb +1 -1
  143. data/lib/contrast/agent/protect/policy/applies_deserialization_rule.rb +1 -1
  144. data/lib/contrast/agent/protect/policy/applies_no_sqli_rule.rb +1 -1
  145. data/lib/contrast/agent/protect/policy/applies_path_traversal_rule.rb +1 -1
  146. data/lib/contrast/agent/protect/policy/applies_sqli_rule.rb +1 -1
  147. data/lib/contrast/agent/protect/policy/applies_xxe_rule.rb +1 -1
  148. data/lib/contrast/agent/protect/policy/policy.rb +1 -1
  149. data/lib/contrast/agent/protect/policy/rule_applicator.rb +6 -1
  150. data/lib/contrast/agent/protect/policy/trigger_node.rb +1 -1
  151. data/lib/contrast/agent/protect/rule/base.rb +9 -19
  152. data/lib/contrast/agent/protect/rule/base_service.rb +33 -10
  153. data/lib/contrast/agent/protect/rule/bot_blocker/bot_blocker_input_classification.rb +1 -1
  154. data/lib/contrast/agent/protect/rule/bot_blocker.rb +1 -1
  155. data/lib/contrast/agent/protect/rule/cmd_injection.rb +1 -1
  156. data/lib/contrast/agent/protect/rule/cmdi/cmdi_backdoors.rb +8 -50
  157. data/lib/contrast/agent/protect/rule/cmdi/cmdi_base_rule.rb +11 -18
  158. data/lib/contrast/agent/protect/rule/cmdi/cmdi_chained_command.rb +10 -11
  159. data/lib/contrast/agent/protect/rule/cmdi/cmdi_dangerous_path.rb +10 -11
  160. data/lib/contrast/agent/protect/rule/cmdi/cmdi_input_classification.rb +1 -1
  161. data/lib/contrast/agent/protect/rule/default_scanner.rb +1 -1
  162. data/lib/contrast/agent/protect/rule/deserialization.rb +2 -3
  163. data/lib/contrast/agent/protect/rule/no_sqli/mongo_no_sql_scanner.rb +1 -1
  164. data/lib/contrast/agent/protect/rule/no_sqli/no_sqli_input_classification.rb +1 -1
  165. data/lib/contrast/agent/protect/rule/no_sqli.rb +1 -13
  166. data/lib/contrast/agent/protect/rule/path_traversal/path_traversal_input_classification.rb +1 -1
  167. data/lib/contrast/agent/protect/rule/path_traversal/path_traversal_semantic_security_bypass.rb +34 -9
  168. data/lib/contrast/agent/protect/rule/path_traversal.rb +1 -47
  169. data/lib/contrast/agent/protect/rule/sql_sample_builder.rb +1 -1
  170. data/lib/contrast/agent/protect/rule/sqli/default_sql_scanner.rb +1 -1
  171. data/lib/contrast/agent/protect/rule/sqli/mysql_sql_scanner.rb +1 -1
  172. data/lib/contrast/agent/protect/rule/sqli/postgres_sql_scanner.rb +2 -2
  173. data/lib/contrast/agent/protect/rule/sqli/sqli_base_rule.rb +1 -1
  174. data/lib/contrast/agent/protect/rule/sqli/sqli_input_classification.rb +1 -1
  175. data/lib/contrast/agent/protect/rule/sqli/sqli_semantic/sqli_dangerous_functions.rb +5 -5
  176. data/lib/contrast/agent/protect/rule/sqli/sqlite_sql_scanner.rb +1 -1
  177. data/lib/contrast/agent/protect/rule/sqli.rb +1 -13
  178. data/lib/contrast/agent/protect/rule/unsafe_file_upload/unsafe_file_upload_input_classification.rb +1 -1
  179. data/lib/contrast/agent/protect/rule/unsafe_file_upload.rb +1 -2
  180. data/lib/contrast/agent/protect/rule/xss/reflected_xss_input_classification.rb +1 -1
  181. data/lib/contrast/agent/protect/rule/xss.rb +1 -1
  182. data/lib/contrast/agent/protect/rule/xxe/entity_wrapper.rb +1 -1
  183. data/lib/contrast/agent/protect/rule/xxe.rb +2 -3
  184. data/lib/contrast/agent/protect/rule.rb +1 -1
  185. data/lib/contrast/agent/reporting/attack_result/attack_result.rb +1 -1
  186. data/lib/contrast/agent/reporting/attack_result/rasp_rule_sample.rb +1 -1
  187. data/lib/contrast/agent/reporting/attack_result/response_type.rb +1 -1
  188. data/lib/contrast/agent/reporting/attack_result/user_input.rb +1 -1
  189. data/lib/contrast/{api/communication → agent/reporting}/connection_status.rb +3 -17
  190. data/lib/contrast/agent/reporting/details/bot_blocker_details.rb +1 -1
  191. data/lib/contrast/agent/reporting/details/cmd_injection_details.rb +1 -1
  192. data/lib/contrast/agent/reporting/details/details.rb +1 -1
  193. data/lib/contrast/agent/reporting/details/ip_denylist_details.rb +1 -1
  194. data/lib/contrast/agent/reporting/details/no_sqli_details.rb +1 -1
  195. data/lib/contrast/agent/reporting/details/path_traversal_details.rb +1 -1
  196. data/lib/contrast/agent/reporting/details/path_traversal_semantic_analysis_details.rb +1 -1
  197. data/lib/contrast/agent/reporting/details/protect_rule_details.rb +1 -1
  198. data/lib/contrast/agent/reporting/details/sqli_dangerous_functions.rb +1 -1
  199. data/lib/contrast/agent/reporting/details/sqli_details.rb +1 -1
  200. data/lib/contrast/agent/reporting/details/untrusted_deserialization_details.rb +1 -1
  201. data/lib/contrast/agent/reporting/details/virtual_patch_details.rb +1 -1
  202. data/lib/contrast/agent/reporting/details/xss_details.rb +1 -1
  203. data/lib/contrast/agent/reporting/details/xss_match.rb +1 -1
  204. data/lib/contrast/agent/reporting/details/xxe_details.rb +1 -1
  205. data/lib/contrast/agent/reporting/details/xxe_match.rb +1 -1
  206. data/lib/contrast/agent/reporting/details/xxe_wrapper.rb +1 -1
  207. data/lib/contrast/agent/reporting/input_analysis/details/bot_blocker_details.rb +1 -1
  208. data/lib/contrast/agent/reporting/input_analysis/details/protect_rule_details.rb +1 -1
  209. data/lib/contrast/agent/reporting/input_analysis/input_analysis.rb +1 -1
  210. data/lib/contrast/agent/reporting/input_analysis/input_analysis_result.rb +1 -1
  211. data/lib/contrast/agent/reporting/input_analysis/input_type.rb +1 -1
  212. data/lib/contrast/agent/reporting/input_analysis/score_level.rb +1 -1
  213. data/lib/contrast/agent/reporting/masker/masker.rb +1 -1
  214. data/lib/contrast/agent/reporting/masker/masker_utils.rb +1 -1
  215. data/lib/contrast/agent/reporting/report.rb +1 -1
  216. data/lib/contrast/agent/reporting/reporter.rb +10 -9
  217. data/lib/contrast/agent/reporting/reporting_events/agent_startup.rb +2 -2
  218. data/lib/contrast/agent/reporting/reporting_events/application_activity.rb +5 -4
  219. data/lib/contrast/agent/reporting/reporting_events/application_defend_activity.rb +13 -9
  220. data/lib/contrast/agent/reporting/reporting_events/application_defend_attack_activity.rb +5 -6
  221. data/lib/contrast/agent/reporting/reporting_events/application_defend_attack_sample.rb +1 -1
  222. data/lib/contrast/agent/reporting/reporting_events/application_defend_attack_sample_activity.rb +4 -3
  223. data/lib/contrast/agent/reporting/reporting_events/application_defend_attack_sample_stack.rb +1 -1
  224. data/lib/contrast/agent/reporting/reporting_events/application_defend_attacker_activity.rb +19 -12
  225. data/lib/contrast/agent/reporting/reporting_events/application_inventory.rb +2 -2
  226. data/lib/contrast/agent/reporting/reporting_events/application_inventory_activity.rb +2 -2
  227. data/lib/contrast/agent/reporting/reporting_events/application_reporting_event.rb +1 -1
  228. data/lib/contrast/agent/reporting/reporting_events/application_settings.rb +2 -2
  229. data/lib/contrast/agent/reporting/reporting_events/application_startup.rb +2 -2
  230. data/lib/contrast/agent/reporting/reporting_events/application_startup_instrumentation.rb +1 -1
  231. data/lib/contrast/agent/reporting/reporting_events/application_update.rb +2 -3
  232. data/lib/contrast/agent/reporting/reporting_events/architecture_component.rb +4 -10
  233. data/lib/contrast/agent/reporting/reporting_events/discovered_route.rb +3 -11
  234. data/lib/contrast/agent/reporting/reporting_events/finding.rb +2 -11
  235. data/lib/contrast/agent/reporting/reporting_events/finding_event.rb +5 -12
  236. data/lib/contrast/agent/reporting/reporting_events/finding_event_object.rb +4 -12
  237. data/lib/contrast/agent/reporting/reporting_events/finding_event_parent_object.rb +9 -13
  238. data/lib/contrast/agent/reporting/reporting_events/finding_event_property.rb +9 -13
  239. data/lib/contrast/agent/reporting/reporting_events/finding_event_signature.rb +5 -12
  240. data/lib/contrast/agent/reporting/reporting_events/finding_event_source.rb +10 -21
  241. data/lib/contrast/agent/reporting/reporting_events/finding_event_stack.rb +9 -12
  242. data/lib/contrast/agent/reporting/reporting_events/finding_event_taint_range.rb +10 -14
  243. data/lib/contrast/agent/reporting/reporting_events/finding_event_taint_range_tags.rb +1 -1
  244. data/lib/contrast/agent/reporting/reporting_events/finding_request.rb +4 -12
  245. data/lib/contrast/agent/reporting/reporting_events/library_discovery.rb +14 -14
  246. data/lib/contrast/agent/reporting/reporting_events/library_usage_observation.rb +14 -14
  247. data/lib/contrast/agent/reporting/reporting_events/observed_library_usage.rb +3 -11
  248. data/lib/contrast/agent/reporting/reporting_events/observed_route.rb +2 -11
  249. data/lib/contrast/agent/reporting/reporting_events/poll.rb +2 -2
  250. data/lib/contrast/agent/reporting/reporting_events/preflight.rb +13 -2
  251. data/lib/contrast/agent/reporting/reporting_events/preflight_message.rb +5 -13
  252. data/lib/contrast/agent/reporting/reporting_events/reportable_hash.rb +47 -0
  253. data/lib/contrast/agent/reporting/reporting_events/reporting_event.rb +4 -35
  254. data/lib/contrast/agent/reporting/reporting_events/route_coverage.rb +1 -3
  255. data/lib/contrast/agent/reporting/reporting_events/route_discovery.rb +9 -13
  256. data/lib/contrast/agent/reporting/reporting_events/route_discovery_observation.rb +9 -13
  257. data/lib/contrast/agent/reporting/reporting_events/server_reporting_event.rb +1 -1
  258. data/lib/contrast/agent/reporting/reporting_events/server_settings.rb +2 -2
  259. data/lib/contrast/agent/reporting/reporting_utilities/audit.rb +5 -2
  260. data/lib/contrast/agent/reporting/reporting_utilities/build_preflight.rb +5 -2
  261. data/lib/contrast/agent/reporting/reporting_utilities/endpoints.rb +1 -1
  262. data/lib/contrast/agent/reporting/reporting_utilities/headers.rb +6 -3
  263. data/lib/contrast/agent/reporting/reporting_utilities/ng_response_extractor.rb +4 -4
  264. data/lib/contrast/agent/reporting/reporting_utilities/reporter_client.rb +6 -19
  265. data/lib/contrast/agent/reporting/reporting_utilities/reporter_client_utils.rb +20 -3
  266. data/lib/contrast/agent/reporting/reporting_utilities/reporting_storage.rb +1 -1
  267. data/lib/contrast/agent/reporting/reporting_utilities/response.rb +1 -1
  268. data/lib/contrast/agent/reporting/reporting_utilities/response_extractor.rb +2 -22
  269. data/lib/contrast/agent/reporting/reporting_utilities/response_handler.rb +1 -1
  270. data/lib/contrast/agent/reporting/reporting_utilities/response_handler_mode.rb +1 -1
  271. data/lib/contrast/agent/reporting/reporting_utilities/response_handler_utils.rb +22 -5
  272. data/lib/contrast/agent/reporting/reporting_workers/application_server_worker.rb +1 -1
  273. data/lib/contrast/agent/reporting/reporting_workers/reporter_heartbeat.rb +1 -1
  274. data/lib/contrast/agent/reporting/reporting_workers/reporting_workers.rb +1 -1
  275. data/lib/contrast/agent/reporting/reporting_workers/server_settings_worker.rb +1 -1
  276. data/lib/contrast/agent/reporting/settings/application_settings.rb +1 -1
  277. data/lib/contrast/agent/reporting/settings/assess.rb +1 -1
  278. data/lib/contrast/agent/reporting/settings/assess_rule.rb +1 -1
  279. data/lib/contrast/agent/reporting/settings/assess_server_feature.rb +1 -1
  280. data/lib/contrast/agent/reporting/settings/bot_blocker.rb +1 -1
  281. data/lib/contrast/agent/reporting/settings/exclusion_base.rb +90 -12
  282. data/lib/contrast/agent/reporting/settings/exclusions.rb +11 -31
  283. data/lib/contrast/agent/reporting/settings/helpers.rb +41 -5
  284. data/lib/contrast/agent/reporting/settings/input_exclusion.rb +54 -10
  285. data/lib/contrast/agent/reporting/settings/ip_filter.rb +1 -1
  286. data/lib/contrast/agent/reporting/settings/keyword.rb +1 -1
  287. data/lib/contrast/agent/reporting/settings/log_enhancer.rb +1 -1
  288. data/lib/contrast/agent/reporting/settings/protect.rb +1 -1
  289. data/lib/contrast/agent/reporting/settings/protect_rule.rb +1 -1
  290. data/lib/contrast/agent/reporting/settings/protect_server_feature.rb +1 -1
  291. data/lib/contrast/agent/reporting/settings/reaction.rb +1 -1
  292. data/lib/contrast/agent/reporting/settings/rule_definition.rb +1 -1
  293. data/lib/contrast/agent/reporting/settings/sampling.rb +1 -1
  294. data/lib/contrast/agent/reporting/settings/sanitizer.rb +1 -1
  295. data/lib/contrast/agent/reporting/settings/security_logger.rb +1 -1
  296. data/lib/contrast/agent/reporting/settings/sensitive_data_masking.rb +1 -1
  297. data/lib/contrast/agent/reporting/settings/sensitive_data_masking_rule.rb +1 -1
  298. data/lib/contrast/agent/reporting/settings/server_features.rb +1 -1
  299. data/lib/contrast/agent/reporting/settings/syslog.rb +1 -1
  300. data/lib/contrast/agent/reporting/settings/url_exclusion.rb +2 -26
  301. data/lib/contrast/agent/reporting/settings/validator.rb +1 -1
  302. data/lib/contrast/agent/reporting/settings/virtual_patch.rb +1 -1
  303. data/lib/contrast/agent/reporting/settings/virtual_patch_condition.rb +1 -1
  304. data/lib/contrast/agent/request.rb +1 -1
  305. data/lib/contrast/agent/request_context.rb +1 -1
  306. data/lib/contrast/agent/request_context_extend.rb +1 -1
  307. data/lib/contrast/agent/request_handler.rb +1 -1
  308. data/lib/contrast/agent/response.rb +1 -1
  309. data/lib/contrast/agent/rule_set.rb +1 -1
  310. data/lib/contrast/agent/scope.rb +9 -1
  311. data/lib/contrast/agent/static_analysis.rb +1 -1
  312. data/lib/contrast/agent/telemetry/base.rb +21 -12
  313. data/lib/contrast/agent/telemetry/client.rb +109 -0
  314. data/lib/contrast/agent/telemetry/{events/event.rb → event.rb} +1 -1
  315. data/lib/contrast/agent/telemetry/{events/exceptions/telemetry_exception_base.rb → exception/base.rb} +2 -2
  316. data/lib/contrast/agent/telemetry/{events/exceptions/telemetry_exception_event.rb → exception/event.rb} +10 -10
  317. data/lib/contrast/agent/telemetry/{events/exceptions/telemetry_exception_message.rb → exception/message.rb} +9 -9
  318. data/lib/contrast/agent/telemetry/{events/exceptions/telemetry_exception_message_exception.rb → exception/message_exception.rb} +9 -9
  319. data/lib/contrast/agent/telemetry/{events/exceptions/telemetry_exception_stack_frame.rb → exception/stack_frame.rb} +4 -4
  320. data/lib/contrast/agent/telemetry/exception.rb +19 -0
  321. data/lib/contrast/agent/telemetry/hash.rb +71 -0
  322. data/lib/contrast/{utils/telemetry_identifier.rb → agent/telemetry/identifier.rb} +5 -5
  323. data/lib/contrast/agent/telemetry/{events/metric_event.rb → metric_event.rb} +2 -2
  324. data/lib/contrast/agent/telemetry/{events/startup_metrics_event.rb → startup_metrics_event.rb} +2 -2
  325. data/lib/contrast/{utils → agent}/telemetry.rb +3 -3
  326. data/lib/contrast/agent/thread.rb +1 -1
  327. data/lib/contrast/agent/thread_watcher.rb +28 -31
  328. data/lib/contrast/agent/tracepoint_hook.rb +1 -1
  329. data/lib/contrast/agent/version.rb +2 -2
  330. data/lib/contrast/agent/worker_thread.rb +1 -1
  331. data/lib/contrast/agent.rb +6 -2
  332. data/lib/contrast/agent_lib/api/command_injection.rb +1 -1
  333. data/lib/contrast/agent_lib/api/init.rb +1 -1
  334. data/lib/contrast/agent_lib/api/input_tracing.rb +1 -1
  335. data/lib/contrast/agent_lib/api/panic.rb +1 -1
  336. data/lib/contrast/agent_lib/api/path_semantic_file_security_bypass.rb +1 -1
  337. data/lib/contrast/agent_lib/interface.rb +1 -1
  338. data/lib/contrast/agent_lib/interface_base.rb +2 -2
  339. data/lib/contrast/agent_lib/return_types/eval_result.rb +1 -1
  340. data/lib/contrast/agent_lib/test.rb +1 -1
  341. data/lib/contrast/components/agent.rb +1 -1
  342. data/lib/contrast/components/api.rb +1 -1
  343. data/lib/contrast/components/app_context.rb +1 -1
  344. data/lib/contrast/components/app_context_extend.rb +1 -1
  345. data/lib/contrast/components/assess.rb +1 -1
  346. data/lib/contrast/components/assess_rules.rb +1 -1
  347. data/lib/contrast/components/base.rb +1 -1
  348. data/lib/contrast/components/config/sources.rb +1 -1
  349. data/lib/contrast/components/config.rb +1 -1
  350. data/lib/contrast/components/heap_dump.rb +1 -1
  351. data/lib/contrast/components/inventory.rb +1 -1
  352. data/lib/contrast/components/logger.rb +1 -1
  353. data/lib/contrast/components/polling.rb +4 -4
  354. data/lib/contrast/components/protect.rb +1 -1
  355. data/lib/contrast/components/ruby_component.rb +45 -6
  356. data/lib/contrast/components/sampling.rb +6 -6
  357. data/lib/contrast/components/scope.rb +9 -1
  358. data/lib/contrast/components/security_logger.rb +1 -1
  359. data/lib/contrast/components/settings.rb +13 -12
  360. data/lib/contrast/config/api_proxy_configuration.rb +1 -1
  361. data/lib/contrast/config/base_configuration.rb +1 -1
  362. data/lib/contrast/config/certification_configuration.rb +1 -1
  363. data/lib/contrast/config/config.rb +14 -12
  364. data/lib/contrast/config/diagnostics.rb +12 -3
  365. data/lib/contrast/config/diagnostics_tools.rb +2 -1
  366. data/lib/contrast/config/effective_config.rb +81 -15
  367. data/lib/contrast/config/effective_config_value.rb +4 -4
  368. data/lib/contrast/config/env_variables.rb +1 -1
  369. data/lib/contrast/config/exception_configuration.rb +1 -1
  370. data/lib/contrast/config/protect_rule_configuration.rb +1 -1
  371. data/lib/contrast/config/protect_rules_configuration.rb +1 -1
  372. data/lib/contrast/config/request_audit_configuration.rb +1 -1
  373. data/lib/contrast/config/server_configuration.rb +2 -2
  374. data/lib/contrast/config.rb +1 -1
  375. data/lib/contrast/configuration.rb +1 -1
  376. data/lib/contrast/extension/assess/array.rb +1 -1
  377. data/lib/contrast/extension/assess/erb.rb +1 -1
  378. data/lib/contrast/extension/assess/eval_trigger.rb +1 -1
  379. data/lib/contrast/extension/assess/exec_trigger.rb +1 -1
  380. data/lib/contrast/extension/assess/fiber.rb +1 -1
  381. data/lib/contrast/extension/assess/hash.rb +1 -1
  382. data/lib/contrast/extension/assess/kernel.rb +1 -1
  383. data/lib/contrast/extension/assess/marshal.rb +1 -1
  384. data/lib/contrast/extension/assess/regexp.rb +1 -1
  385. data/lib/contrast/extension/assess/string.rb +1 -1
  386. data/lib/contrast/extension/assess.rb +1 -1
  387. data/lib/contrast/extension/delegator.rb +1 -1
  388. data/lib/contrast/extension/extension.rb +1 -1
  389. data/lib/contrast/extension/inventory.rb +1 -1
  390. data/lib/contrast/extension/module.rb +1 -1
  391. data/lib/contrast/extension/object.rb +1 -1
  392. data/lib/contrast/extension/protect/psych.rb +1 -1
  393. data/lib/contrast/extension/protect.rb +1 -1
  394. data/lib/contrast/extension/thread.rb +1 -1
  395. data/lib/contrast/framework/base_support.rb +1 -1
  396. data/lib/contrast/framework/grape/support.rb +1 -1
  397. data/lib/contrast/framework/manager.rb +1 -1
  398. data/lib/contrast/framework/manager_extend.rb +1 -1
  399. data/lib/contrast/framework/rack/patch/session_cookie.rb +1 -1
  400. data/lib/contrast/framework/rack/patch/support.rb +1 -1
  401. data/lib/contrast/framework/rack/support.rb +1 -1
  402. data/lib/contrast/framework/rails/patch/action_controller_live_buffer.rb +1 -1
  403. data/lib/contrast/framework/rails/patch/assess_configuration.rb +1 -1
  404. data/lib/contrast/framework/rails/patch/rails_application_configuration.rb +1 -1
  405. data/lib/contrast/framework/rails/patch/support.rb +1 -1
  406. data/lib/contrast/framework/rails/railtie.rb +1 -1
  407. data/lib/contrast/framework/rails/support.rb +1 -1
  408. data/lib/contrast/framework/sinatra/patch/encrypted_session_cookie.rb +39 -0
  409. data/lib/contrast/framework/sinatra/support.rb +14 -1
  410. data/lib/contrast/funchook/funchook.rb +1 -1
  411. data/lib/contrast/logger/aliased_logging.rb +12 -14
  412. data/lib/contrast/logger/application.rb +1 -1
  413. data/lib/contrast/logger/cef_log.rb +1 -1
  414. data/lib/contrast/logger/format.rb +1 -1
  415. data/lib/contrast/logger/log.rb +1 -1
  416. data/lib/contrast/logger/request.rb +1 -1
  417. data/lib/contrast/logger/time.rb +1 -1
  418. data/lib/contrast/security_exception.rb +1 -1
  419. data/lib/contrast/tasks/config.rb +1 -1
  420. data/lib/contrast/utils/assess/event_limit_utils.rb +1 -1
  421. data/lib/contrast/utils/assess/object_store.rb +1 -1
  422. data/lib/contrast/utils/assess/propagation_method_utils.rb +1 -1
  423. data/lib/contrast/utils/assess/property/tagged_utils.rb +1 -1
  424. data/lib/contrast/utils/assess/sampling_util.rb +1 -1
  425. data/lib/contrast/utils/assess/source_method_utils.rb +1 -1
  426. data/lib/contrast/utils/assess/split_utils.rb +1 -1
  427. data/lib/contrast/utils/assess/tracking_util.rb +1 -1
  428. data/lib/contrast/utils/assess/trigger_method_utils.rb +1 -1
  429. data/lib/contrast/utils/class_util.rb +1 -1
  430. data/lib/contrast/utils/duck_utils.rb +1 -1
  431. data/lib/contrast/utils/env_configuration_item.rb +1 -1
  432. data/lib/contrast/utils/findings.rb +1 -1
  433. data/lib/contrast/utils/hash_digest.rb +1 -1
  434. data/lib/contrast/utils/hash_digest_extend.rb +1 -1
  435. data/lib/contrast/utils/head_dump_utils_extend.rb +1 -1
  436. data/lib/contrast/utils/heap_dump_util.rb +1 -1
  437. data/lib/contrast/utils/input_classification_base.rb +2 -5
  438. data/lib/contrast/utils/invalid_configuration_util.rb +1 -1
  439. data/lib/contrast/utils/io_util.rb +1 -1
  440. data/lib/contrast/utils/job_servers_running.rb +1 -1
  441. data/lib/contrast/utils/log_utils.rb +2 -2
  442. data/lib/contrast/utils/lru_cache.rb +1 -1
  443. data/lib/contrast/utils/metrics_hash.rb +1 -1
  444. data/lib/contrast/utils/middleware_utils.rb +4 -4
  445. data/lib/contrast/utils/net_http_base.rb +3 -3
  446. data/lib/contrast/utils/object_share.rb +2 -1
  447. data/lib/contrast/utils/os.rb +1 -1
  448. data/lib/contrast/utils/patching/policy/patch_utils.rb +1 -1
  449. data/lib/contrast/utils/patching/policy/patcher_utils.rb +1 -1
  450. data/lib/contrast/utils/reporting/application_activity_batch_utils.rb +12 -4
  451. data/lib/contrast/utils/request_utils.rb +1 -1
  452. data/lib/contrast/utils/resource_loader.rb +1 -1
  453. data/lib/contrast/utils/response_utils.rb +1 -1
  454. data/lib/contrast/utils/routes_sent.rb +1 -2
  455. data/lib/contrast/utils/sha256_builder.rb +1 -1
  456. data/lib/contrast/utils/silence_maker.rb +16 -0
  457. data/lib/contrast/utils/stack_trace_utils.rb +1 -1
  458. data/lib/contrast/utils/string_utils.rb +1 -1
  459. data/lib/contrast/utils/tag_util.rb +1 -1
  460. data/lib/contrast/utils/thread_tracker.rb +1 -1
  461. data/lib/contrast/utils/timer.rb +1 -1
  462. data/lib/contrast-agent.rb +1 -1
  463. data/lib/contrast.rb +7 -6
  464. data/ruby-agent.gemspec +1 -1
  465. metadata +29 -28
  466. data/lib/contrast/agent/reporting/settings/code_exclusion.rb +0 -32
  467. data/lib/contrast/agent/telemetry/events/exceptions/obfuscate.rb +0 -124
  468. data/lib/contrast/agent/telemetry/events/exceptions/telemetry_exceptions.rb +0 -19
  469. data/lib/contrast/utils/telemetry_client.rb +0 -107
  470. data/lib/contrast/utils/telemetry_hash.rb +0 -65
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fddcf57afedf79d84cacef08c959a190f29f6db9248d34d1a01c3abe1b13553b
4
- data.tar.gz: 599882cd812552c2cc12c86f6ecd526e7a7d1e458cf8ea4d961d17ef5179c9ad
3
+ metadata.gz: 6772cdef949fd96dd24342c5f4a9a7b813a4d77873a9aa117c1a6750088a647f
4
+ data.tar.gz: 8008b5a90911e19594a32a5dba27079d0f7f5e857e34b1cedb974a4e8422fb2d
5
5
  SHA512:
6
- metadata.gz: e91dd42c9aa9f9cb934bfe878e0f6be951f9397978c874dd2a4b38c0a78f1cfe6b7e957ec6abaa3bb97a194f6494950f9ec93ebad408cf2767df06b1475bd373
7
- data.tar.gz: ad17804c1abf24410ba2bbe7798ce142eba284cb0911830e40f6f92917a47961d4cfaefa79ed8affb8d1d821e27a85f57ace126a64417f6fe672f965916c3dba
6
+ metadata.gz: e70042ce2030918ecbafedfc2b254fd15ff9bc8316fecbd2901e0d8a6581e46505b039d5c21a932b595423565a36b16872362897bc344dc77d61ef8ac41ec8e8
7
+ data.tar.gz: 3d8cf2341b2258470ec334be4b81efccbea5a27c26c49b5ca0106e3b44e29f6c878aee0c28dcb7b0c0a84887fb1f298978f0419522503ee8293e0053f9a63bc9
data/.simplecov CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  SimpleCov.minimum_coverage(line: 94)
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  source 'https://rubygems.org'
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $stdout.sync = true
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'fileutils'
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_array.h"
@@ -31,8 +31,9 @@ static VALUE contrast_assess_array_join(const int argc, const VALUE *argv,
31
31
  return result;
32
32
  }
33
33
 
34
- static VALUE contrast_assess_prepend_array_join(const int argc, const VALUE *argv,
35
- const VALUE ary) {
34
+ static VALUE contrast_assess_prepend_array_join(const int argc,
35
+ const VALUE *argv,
36
+ const VALUE ary) {
36
37
  VALUE sep, result;
37
38
  /* We need to figure out the separator the join method actually used. */
38
39
  /* First, check if one was provided. */
@@ -54,23 +55,28 @@ static VALUE contrast_assess_prepend_array_join(const int argc, const VALUE *arg
54
55
 
55
56
  void Init_cs__assess_array(void) {
56
57
 
57
- VALUE rb_mod_ary = rb_const_get(rb_cObject, rb_intern("Array"));
58
- VALUE rb_sym_ary_join = ID2SYM(rb_intern("join"));
59
- // check if prepended
60
- VALUE is_prepended = contrast_check_prepended(rb_mod_ary, rb_sym_ary_join, Qtrue);
61
- // register the cs__track_join method of the Array propagator, and call it here from Ruby.
62
- array_propagator = rb_define_class_under(core_assess, "ArrayPropagator", rb_cObject);
63
- rb_sym_assess_track_array_join = rb_intern("cs__track_join");
58
+ VALUE rb_mod_ary = rb_const_get(rb_cObject, rb_intern("Array"));
59
+ VALUE rb_sym_ary_join = ID2SYM(rb_intern("join"));
60
+ // check if prepended
61
+ VALUE is_prepended =
62
+ contrast_check_prepended(rb_mod_ary, rb_sym_ary_join, Qtrue);
63
+ // register the cs__track_join method of the Array propagator, and call it
64
+ // here from Ruby.
65
+ array_propagator =
66
+ rb_define_class_under(core_assess, "ArrayPropagator", rb_cObject);
67
+ rb_sym_assess_track_array_join = rb_intern("cs__track_join");
64
68
 
65
- // register the cs__join method of the ContrastArray for prepending, and call it here from Ruby.
66
- VALUE contrast_array = rb_define_module_under(core_assess, "ContrastArray");
67
- rb_define_module_function(contrast_array, "cs__join", contrast_assess_prepend_array_join, -1);
69
+ // register the cs__join method of the ContrastArray for prepending, and
70
+ // call it here from Ruby.
71
+ VALUE contrast_array = rb_define_module_under(core_assess, "ContrastArray");
72
+ rb_define_module_function(contrast_array, "cs__join",
73
+ contrast_assess_prepend_array_join, -1);
68
74
 
69
- if(is_prepended == Qtrue) {
70
- // do nothing prepend is done in Ruby
75
+ if (is_prepended == Qtrue) {
76
+ // do nothing prepend is done in Ruby
71
77
  } else {
72
- // register alias patch
73
- rb_sym_assess_array_join =
74
- contrast_register_patch("Array", "join", contrast_assess_array_join);
78
+ // register alias patch
79
+ rb_sym_assess_array_join = contrast_register_patch(
80
+ "Array", "join", contrast_assess_array_join);
75
81
  }
76
82
  }
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_basic_object.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_fiber_track.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_hash.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_kernel.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_marshal_module.h"
@@ -18,7 +18,8 @@
18
18
  * return rb_marshal_load_with_proc(port, proc);
19
19
  * }
20
20
  */
21
- static VALUE contrast_marshal_module_prepend(const int argc, const VALUE *argv) {
21
+ static VALUE contrast_marshal_module_prepend(const int argc,
22
+ const VALUE *argv) {
22
23
  VALUE result;
23
24
  VALUE source_string;
24
25
 
@@ -70,10 +71,11 @@ void Init_cs__assess_marshal_module(void) {
70
71
  /* check if prepended called form the after_load_patcher */
71
72
  VALUE marshal = rb_const_get(rb_cObject, rb_intern("Marshal"));
72
73
  VALUE marshal_load = ID2SYM(rb_intern("load"));
73
- VALUE is_prepended = contrast_check_prepended(marshal, marshal_load, Qfalse);
74
+ VALUE is_prepended =
75
+ contrast_check_prepended(marshal, marshal_load, Qfalse);
74
76
 
75
77
  if (is_prepended == Qtrue) {
76
- contrast_register_singleton_prepend_patch("Marshal", "load",
77
- &contrast_marshal_module_prepend);
78
+ contrast_register_singleton_prepend_patch(
79
+ "Marshal", "load", &contrast_marshal_module_prepend);
78
80
  }
79
81
  }
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_module.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_regexp.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_string.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_string_interpolation.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__assess_yield_track.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__common.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'mkmf'
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__contrast_patch.h"
@@ -102,14 +102,15 @@ VALUE rescue_func(VALUE arg1) {
102
102
  }
103
103
 
104
104
  /**
105
- * In the event that the original_method call throws an exception we need to ensure that contrast_post_patch is called
106
- * to report that error. However, if there is no error we will call post_patch with the original_return instead of
107
- * Qnil.
108
- *
109
- **/
105
+ * In the event that the original_method call throws an exception we need to
106
+ *ensure that contrast_post_patch is called to report that error. However, if
107
+ *there is no error we will call post_patch with the original_return instead of
108
+ * Qnil.
109
+ *
110
+ **/
110
111
  VALUE contrast_patch_call_ensure(const VALUE *args) {
111
112
  // we do not need to ensure that post patch is called if no error was thrown
112
- if(!RTEST(rb_errinfo())) {
113
+ if (!RTEST(rb_errinfo())) {
113
114
  return Qnil;
114
115
  }
115
116
 
@@ -136,7 +137,8 @@ VALUE ensure_wrapper(const VALUE *args) {
136
137
  original_args = (VALUE)args[1];
137
138
  ensure_args = (VALUE)args[2];
138
139
 
139
- //this ensure if being treated as a rescue due to issues surrounding Kernel#throw
140
+ // this ensure if being treated as a rescue due to issues surrounding
141
+ // Kernel#throw
140
142
  return rb_ensure(original_method, original_args, contrast_patch_call_ensure,
141
143
  (VALUE)ensure_args);
142
144
  }
@@ -237,8 +239,8 @@ VALUE contrast_run_patches(const VALUE *wrapped_args) {
237
239
  */
238
240
 
239
241
  /* Invoke Contrast post-call patching. */
240
- contrast_call_post_patch(method_policy, preshift, object,
241
- original_ret, argc, argv);
242
+ contrast_call_post_patch(method_policy, preshift, object, original_ret,
243
+ argc, argv);
242
244
 
243
245
  return original_ret;
244
246
  }
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2022 Contrast Security, Inc. See
1
+ /* Copyright (c) 2023 Contrast Security, Inc. See
2
2
  * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */
3
3
 
4
4
  #include "cs__os_information.h"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
1
+ # Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $TO_MAKE = File.basename(__dir__)