contrast-agent 6.6.4 → 6.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (340) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -2
  3. data/.gitmodules +0 -3
  4. data/.simplecov +0 -1
  5. data/Rakefile +0 -1
  6. data/ext/cs__assess_array/cs__assess_array.c +41 -10
  7. data/ext/cs__assess_array/cs__assess_array.h +4 -1
  8. data/ext/cs__scope/cs__scope.c +1 -1
  9. data/lib/contrast/agent/assess/contrast_event.rb +2 -24
  10. data/lib/contrast/agent/assess/events/source_event.rb +7 -61
  11. data/lib/contrast/agent/assess/finalizers/hash.rb +11 -0
  12. data/lib/contrast/agent/assess/policy/dynamic_source_factory.rb +0 -55
  13. data/lib/contrast/agent/assess/policy/policy_node.rb +3 -3
  14. data/lib/contrast/agent/assess/policy/policy_node_utils.rb +0 -1
  15. data/lib/contrast/agent/assess/policy/propagation_node.rb +4 -4
  16. data/lib/contrast/agent/assess/policy/source_method.rb +24 -1
  17. data/lib/contrast/agent/assess/policy/trigger/reflected_xss.rb +7 -5
  18. data/lib/contrast/agent/assess/policy/trigger/xpath.rb +6 -1
  19. data/lib/contrast/agent/assess/policy/trigger_method.rb +40 -121
  20. data/lib/contrast/agent/assess/policy/trigger_node.rb +3 -3
  21. data/lib/contrast/agent/assess/policy/trigger_validation/redos_validator.rb +1 -1
  22. data/lib/contrast/agent/assess/policy/trigger_validation/ssrf_validator.rb +1 -1
  23. data/lib/contrast/agent/assess/policy/trigger_validation/xss_validator.rb +1 -1
  24. data/lib/contrast/agent/assess/property/evented.rb +2 -12
  25. data/lib/contrast/agent/assess/rule/provider/hardcoded_value_rule.rb +42 -82
  26. data/lib/contrast/agent/assess/rule/response/base_rule.rb +11 -27
  27. data/lib/contrast/agent/assess/rule/response/body_rule.rb +1 -3
  28. data/lib/contrast/agent/assess/rule/response/cache_control_header_rule.rb +77 -62
  29. data/lib/contrast/agent/assess/rule/response/csp_header_insecure_rule.rb +1 -1
  30. data/lib/contrast/agent/assess/rule/response/framework/rails_support.rb +6 -1
  31. data/lib/contrast/agent/assess/rule/response/header_rule.rb +5 -5
  32. data/lib/contrast/agent/assess/rule/response/hsts_header_rule.rb +1 -1
  33. data/lib/contrast/agent/assess/rule/response/x_xss_protection_header_rule.rb +1 -1
  34. data/lib/contrast/agent/assess/tracker.rb +1 -7
  35. data/lib/contrast/agent/at_exit_hook.rb +1 -7
  36. data/lib/contrast/agent/excluder.rb +224 -0
  37. data/lib/contrast/agent/exclusion_matcher.rb +25 -7
  38. data/lib/contrast/agent/inventory/database_config.rb +18 -23
  39. data/lib/contrast/agent/middleware.rb +4 -5
  40. data/lib/contrast/agent/patching/policy/after_load_patcher.rb +6 -0
  41. data/lib/contrast/agent/protect/input_analyzer/input_analyzer.rb +146 -127
  42. data/lib/contrast/agent/protect/policy/applies_command_injection_rule.rb +4 -0
  43. data/lib/contrast/agent/protect/policy/applies_path_traversal_rule.rb +20 -0
  44. data/lib/contrast/agent/protect/policy/applies_sqli_rule.rb +1 -0
  45. data/lib/contrast/agent/protect/policy/rule_applicator.rb +1 -1
  46. data/lib/contrast/agent/protect/rule/base.rb +98 -66
  47. data/lib/contrast/agent/protect/rule/base_service.rb +49 -24
  48. data/lib/contrast/agent/protect/rule/bot_blocker/bot_blocker_input_classification.rb +98 -0
  49. data/lib/contrast/agent/protect/rule/bot_blocker.rb +81 -0
  50. data/lib/contrast/agent/protect/rule/cmd_injection.rb +30 -99
  51. data/lib/contrast/agent/protect/rule/cmdi/cmdi_backdoors.rb +132 -0
  52. data/lib/contrast/agent/protect/rule/cmdi/cmdi_base_rule.rb +169 -0
  53. data/lib/contrast/agent/protect/rule/cmdi/cmdi_chained_command.rb +69 -0
  54. data/lib/contrast/agent/protect/rule/cmdi/cmdi_dangerous_path.rb +68 -0
  55. data/lib/contrast/agent/protect/rule/cmdi/cmdi_input_classification.rb +2 -58
  56. data/lib/contrast/agent/protect/rule/default_scanner.rb +1 -1
  57. data/lib/contrast/agent/protect/rule/deserialization.rb +10 -19
  58. data/lib/contrast/agent/protect/rule/http_method_tampering/http_method_tampering_input_classification.rb +2 -2
  59. data/lib/contrast/agent/protect/rule/http_method_tampering.rb +0 -11
  60. data/lib/contrast/agent/protect/rule/no_sqli/no_sqli_input_classification.rb +29 -34
  61. data/lib/contrast/agent/protect/rule/no_sqli.rb +25 -18
  62. data/lib/contrast/agent/protect/rule/path_traversal/path_traversal_input_classification.rb +61 -0
  63. data/lib/contrast/agent/protect/rule/path_traversal/path_traversal_semantic_security_bypass.rb +114 -0
  64. data/lib/contrast/agent/protect/rule/path_traversal.rb +46 -18
  65. data/lib/contrast/agent/protect/rule/sql_sample_builder.rb +49 -29
  66. data/lib/contrast/agent/protect/rule/sqli/sqli_base_rule.rb +37 -0
  67. data/lib/contrast/agent/protect/rule/sqli/sqli_input_classification.rb +2 -62
  68. data/lib/contrast/agent/protect/rule/sqli/sqli_semantic/sqli_dangerous_functions.rb +67 -0
  69. data/lib/contrast/agent/protect/rule/sqli.rb +67 -22
  70. data/lib/contrast/agent/protect/rule/unsafe_file_upload/unsafe_file_upload_input_classification.rb +39 -63
  71. data/lib/contrast/agent/protect/rule/unsafe_file_upload.rb +6 -33
  72. data/lib/contrast/agent/protect/rule/xss/reflected_xss_input_classification.rb +58 -0
  73. data/lib/contrast/agent/protect/rule/xss.rb +14 -20
  74. data/lib/contrast/agent/protect/rule/xxe.rb +15 -30
  75. data/lib/contrast/agent/protect/rule.rb +3 -1
  76. data/lib/contrast/agent/reporting/attack_result/attack_result.rb +8 -0
  77. data/lib/contrast/agent/reporting/attack_result/rasp_rule_sample.rb +70 -36
  78. data/lib/contrast/agent/reporting/attack_result/response_type.rb +9 -9
  79. data/lib/contrast/agent/reporting/attack_result/user_input.rb +11 -0
  80. data/lib/contrast/agent/reporting/details/bot_blocker_details.rb +29 -0
  81. data/lib/contrast/agent/reporting/details/cmd_injection_details.rb +30 -0
  82. data/lib/contrast/agent/reporting/details/details.rb +18 -0
  83. data/lib/contrast/agent/reporting/details/http_method_tempering_details.rb +27 -0
  84. data/lib/contrast/agent/reporting/details/ip_denylist_details.rb +35 -0
  85. data/lib/contrast/agent/reporting/details/no_sqli_details.rb +36 -0
  86. data/lib/contrast/agent/reporting/details/path_traversal_details.rb +24 -0
  87. data/lib/contrast/agent/reporting/details/path_traversal_semantic_analysis_details.rb +32 -0
  88. data/lib/contrast/agent/reporting/details/protect_rule_details.rb +17 -0
  89. data/lib/contrast/agent/reporting/details/sqli_dangerous_functions.rb +22 -0
  90. data/lib/contrast/agent/reporting/details/sqli_details.rb +36 -0
  91. data/lib/contrast/agent/reporting/details/untrusted_deserialization_details.rb +27 -0
  92. data/lib/contrast/agent/reporting/details/virtual_patch_details.rb +30 -0
  93. data/lib/contrast/agent/reporting/details/xss_details.rb +33 -0
  94. data/lib/contrast/agent/reporting/details/xss_match.rb +30 -0
  95. data/lib/contrast/agent/reporting/details/xxe_details.rb +36 -0
  96. data/lib/contrast/agent/reporting/details/xxe_match.rb +25 -0
  97. data/lib/contrast/agent/reporting/details/xxe_wrapper.rb +25 -0
  98. data/lib/contrast/agent/reporting/input_analysis/details/bot_blocker_details.rb +27 -0
  99. data/lib/contrast/agent/reporting/input_analysis/details/protect_rule_details.rb +15 -0
  100. data/lib/contrast/agent/reporting/input_analysis/input_analysis.rb +1 -2
  101. data/lib/contrast/agent/reporting/input_analysis/input_analysis_result.rb +17 -3
  102. data/lib/contrast/agent/reporting/masker/masker.rb +80 -65
  103. data/lib/contrast/agent/reporting/masker/masker_utils.rb +1 -30
  104. data/lib/contrast/agent/reporting/reporter.rb +1 -15
  105. data/lib/contrast/agent/reporting/reporting_events/agent_startup.rb +2 -2
  106. data/lib/contrast/agent/reporting/reporting_events/application_activity.rb +84 -15
  107. data/lib/contrast/agent/reporting/reporting_events/application_defend_activity.rb +13 -25
  108. data/lib/contrast/agent/reporting/reporting_events/application_defend_attack_activity.rb +19 -24
  109. data/lib/contrast/agent/reporting/reporting_events/application_defend_attack_sample.rb +46 -126
  110. data/lib/contrast/agent/reporting/reporting_events/application_defend_attack_sample_activity.rb +5 -16
  111. data/lib/contrast/agent/reporting/reporting_events/application_defend_attacker_activity.rb +10 -18
  112. data/lib/contrast/agent/reporting/reporting_events/application_inventory_activity.rb +6 -14
  113. data/lib/contrast/agent/reporting/reporting_events/application_startup.rb +1 -1
  114. data/lib/contrast/agent/reporting/reporting_events/application_update.rb +0 -2
  115. data/lib/contrast/agent/reporting/reporting_events/architecture_component.rb +7 -22
  116. data/lib/contrast/agent/reporting/reporting_events/finding.rb +23 -53
  117. data/lib/contrast/agent/reporting/reporting_events/finding_event.rb +12 -9
  118. data/lib/contrast/agent/reporting/reporting_events/finding_event_signature.rb +1 -1
  119. data/lib/contrast/agent/reporting/reporting_events/finding_event_source.rb +23 -21
  120. data/lib/contrast/agent/reporting/reporting_events/finding_event_stack.rb +5 -18
  121. data/lib/contrast/agent/reporting/reporting_events/finding_event_taint_range.rb +1 -0
  122. data/lib/contrast/{api/decorators/trace_taint_range_tags.rb → agent/reporting/reporting_events/finding_event_taint_range_tags.rb} +7 -6
  123. data/lib/contrast/agent/reporting/reporting_events/finding_request.rb +40 -10
  124. data/lib/contrast/agent/reporting/reporting_events/library_discovery.rb +0 -1
  125. data/lib/contrast/agent/reporting/reporting_events/library_usage_observation.rb +1 -1
  126. data/lib/contrast/agent/reporting/reporting_events/observed_route.rb +2 -2
  127. data/lib/contrast/agent/reporting/reporting_events/poll.rb +1 -11
  128. data/lib/contrast/agent/reporting/reporting_events/preflight_message.rb +10 -14
  129. data/lib/contrast/agent/reporting/reporting_events/reporting_event.rb +11 -0
  130. data/lib/contrast/agent/reporting/reporting_events/route_coverage.rb +3 -1
  131. data/lib/contrast/agent/reporting/reporting_events/route_discovery.rb +12 -25
  132. data/lib/contrast/agent/reporting/reporting_events/route_discovery_observation.rb +8 -27
  133. data/lib/contrast/agent/reporting/reporting_utilities/audit.rb +3 -3
  134. data/lib/contrast/agent/reporting/reporting_utilities/build_preflight.rb +4 -7
  135. data/lib/contrast/agent/reporting/reporting_utilities/headers.rb +1 -1
  136. data/lib/contrast/agent/reporting/reporting_utilities/reporter_client.rb +2 -1
  137. data/lib/contrast/agent/reporting/reporting_utilities/reporter_client_utils.rb +3 -3
  138. data/lib/contrast/agent/reporting/reporting_utilities/response.rb +1 -1
  139. data/lib/contrast/agent/reporting/reporting_utilities/response_handler.rb +0 -3
  140. data/lib/contrast/agent/reporting/reporting_utilities/response_handler_utils.rb +1 -0
  141. data/lib/contrast/agent/reporting/settings/code_exclusion.rb +6 -1
  142. data/lib/contrast/agent/reporting/settings/exclusion_base.rb +18 -0
  143. data/lib/contrast/agent/reporting/settings/exclusions.rb +2 -1
  144. data/lib/contrast/agent/reporting/settings/input_exclusion.rb +9 -3
  145. data/lib/contrast/agent/reporting/settings/protect.rb +15 -15
  146. data/lib/contrast/agent/request.rb +4 -14
  147. data/lib/contrast/agent/request_context.rb +18 -24
  148. data/lib/contrast/agent/request_context_extend.rb +23 -164
  149. data/lib/contrast/agent/request_handler.rb +1 -11
  150. data/lib/contrast/agent/response.rb +0 -18
  151. data/lib/contrast/agent/telemetry/events/event.rb +1 -1
  152. data/lib/contrast/agent/telemetry/events/metric_event.rb +1 -1
  153. data/lib/contrast/agent/telemetry/events/startup_metrics_event.rb +3 -3
  154. data/lib/contrast/agent/thread_watcher.rb +3 -18
  155. data/lib/contrast/agent/version.rb +1 -1
  156. data/lib/contrast/agent.rb +0 -11
  157. data/lib/contrast/agent_lib/api/command_injection.rb +46 -0
  158. data/lib/contrast/agent_lib/api/init.rb +101 -0
  159. data/lib/contrast/agent_lib/api/input_tracing.rb +267 -0
  160. data/lib/contrast/agent_lib/api/method_tempering.rb +29 -0
  161. data/lib/contrast/agent_lib/api/panic.rb +87 -0
  162. data/lib/contrast/agent_lib/api/path_semantic_file_security_bypass.rb +40 -0
  163. data/lib/contrast/agent_lib/interface.rb +260 -0
  164. data/lib/contrast/agent_lib/interface_base.rb +118 -0
  165. data/lib/contrast/agent_lib/return_types/eval_result.rb +44 -0
  166. data/lib/contrast/agent_lib/test.rb +29 -0
  167. data/lib/contrast/api/communication/connection_status.rb +5 -5
  168. data/lib/contrast/components/agent.rb +13 -23
  169. data/lib/contrast/components/api.rb +10 -10
  170. data/lib/contrast/components/app_context.rb +9 -11
  171. data/lib/contrast/components/app_context_extend.rb +1 -26
  172. data/lib/contrast/components/assess.rb +92 -38
  173. data/lib/contrast/components/assess_rules.rb +36 -0
  174. data/lib/contrast/components/config.rb +49 -24
  175. data/lib/contrast/components/heap_dump.rb +1 -1
  176. data/lib/contrast/components/protect.rb +9 -6
  177. data/lib/contrast/components/ruby_component.rb +81 -0
  178. data/lib/contrast/components/sampling.rb +1 -1
  179. data/lib/contrast/components/security_logger.rb +23 -0
  180. data/lib/contrast/components/settings.rb +41 -85
  181. data/lib/contrast/config/base_configuration.rb +1 -1
  182. data/lib/contrast/config/protect_rule_configuration.rb +7 -7
  183. data/lib/contrast/config/protect_rules_configuration.rb +24 -48
  184. data/lib/contrast/config/server_configuration.rb +1 -1
  185. data/lib/contrast/config.rb +0 -6
  186. data/lib/contrast/configuration.rb +73 -18
  187. data/lib/contrast/extension/assess/array.rb +9 -0
  188. data/lib/contrast/extension/assess/exec_trigger.rb +3 -1
  189. data/lib/contrast/extension/assess/marshal.rb +3 -2
  190. data/lib/contrast/extension/assess/string.rb +0 -1
  191. data/lib/contrast/extension/delegator.rb +2 -0
  192. data/lib/contrast/extension/extension.rb +1 -1
  193. data/lib/contrast/framework/base_support.rb +0 -5
  194. data/lib/contrast/framework/grape/support.rb +1 -23
  195. data/lib/contrast/framework/manager.rb +3 -11
  196. data/lib/contrast/framework/rails/patch/action_controller_live_buffer.rb +1 -6
  197. data/lib/contrast/framework/rails/railtie.rb +0 -1
  198. data/lib/contrast/framework/rails/support.rb +5 -59
  199. data/lib/contrast/framework/sinatra/support.rb +2 -21
  200. data/lib/contrast/logger/cef_log.rb +21 -3
  201. data/lib/contrast/logger/log.rb +1 -11
  202. data/lib/contrast/tasks/config.rb +5 -10
  203. data/lib/contrast/utils/assess/event_limit_utils.rb +28 -12
  204. data/lib/contrast/utils/assess/trigger_method_utils.rb +10 -18
  205. data/lib/contrast/utils/duck_utils.rb +1 -0
  206. data/lib/contrast/utils/findings.rb +6 -5
  207. data/lib/contrast/utils/hash_digest.rb +9 -24
  208. data/lib/contrast/utils/hash_digest_extend.rb +6 -6
  209. data/lib/contrast/utils/input_classification_base.rb +156 -0
  210. data/lib/contrast/utils/invalid_configuration_util.rb +21 -58
  211. data/lib/contrast/utils/log_utils.rb +47 -17
  212. data/lib/contrast/utils/net_http_base.rb +2 -2
  213. data/lib/contrast/utils/os.rb +0 -20
  214. data/lib/contrast/utils/patching/policy/patch_utils.rb +3 -2
  215. data/lib/contrast/utils/response_utils.rb +0 -16
  216. data/lib/contrast/utils/stack_trace_utils.rb +3 -40
  217. data/lib/contrast/utils/string_utils.rb +19 -7
  218. data/lib/contrast/utils/telemetry_client.rb +13 -7
  219. data/lib/contrast.rb +7 -13
  220. data/resources/protect/policy.json +1 -2
  221. data/ruby-agent.gemspec +2 -5
  222. metadata +78 -137
  223. data/exe/contrast_service +0 -23
  224. data/lib/contrast/agent/protect/rule/cmdi/cmdi_worth_watching.rb +0 -64
  225. data/lib/contrast/agent/protect/rule/sqli/sqli_worth_watching.rb +0 -118
  226. data/lib/contrast/agent/protect/rule/unsafe_file_upload/unsafe_file_upload_matcher.rb +0 -45
  227. data/lib/contrast/agent/reaction_processor.rb +0 -47
  228. data/lib/contrast/agent/reporting/reporting_events/trace_event_source.rb +0 -30
  229. data/lib/contrast/agent/reporting/reporting_utilities/dtm_message.rb +0 -43
  230. data/lib/contrast/agent/service_heartbeat.rb +0 -35
  231. data/lib/contrast/api/communication/messaging_queue.rb +0 -129
  232. data/lib/contrast/api/communication/response_processor.rb +0 -90
  233. data/lib/contrast/api/communication/service_lifecycle.rb +0 -77
  234. data/lib/contrast/api/communication/socket.rb +0 -44
  235. data/lib/contrast/api/communication/socket_client.rb +0 -130
  236. data/lib/contrast/api/communication/speedracer.rb +0 -142
  237. data/lib/contrast/api/communication/tcp_socket.rb +0 -32
  238. data/lib/contrast/api/communication/unix_socket.rb +0 -28
  239. data/lib/contrast/api/communication.rb +0 -20
  240. data/lib/contrast/api/decorators/activity.rb +0 -33
  241. data/lib/contrast/api/decorators/address.rb +0 -59
  242. data/lib/contrast/api/decorators/agent_startup.rb +0 -57
  243. data/lib/contrast/api/decorators/application_settings.rb +0 -42
  244. data/lib/contrast/api/decorators/application_startup.rb +0 -56
  245. data/lib/contrast/api/decorators/architecture_component.rb +0 -36
  246. data/lib/contrast/api/decorators/bot_blocker.rb +0 -37
  247. data/lib/contrast/api/decorators/finding.rb +0 -29
  248. data/lib/contrast/api/decorators/http_request.rb +0 -137
  249. data/lib/contrast/api/decorators/input_analysis.rb +0 -18
  250. data/lib/contrast/api/decorators/instrumentation_mode.rb +0 -35
  251. data/lib/contrast/api/decorators/ip_denylist.rb +0 -37
  252. data/lib/contrast/api/decorators/message.rb +0 -71
  253. data/lib/contrast/api/decorators/rasp_rule_sample.rb +0 -58
  254. data/lib/contrast/api/decorators/response_type.rb +0 -17
  255. data/lib/contrast/api/decorators/route_coverage.rb +0 -91
  256. data/lib/contrast/api/decorators/server_features.rb +0 -25
  257. data/lib/contrast/api/decorators/trace_event.rb +0 -120
  258. data/lib/contrast/api/decorators/trace_event_object.rb +0 -63
  259. data/lib/contrast/api/decorators/trace_event_signature.rb +0 -69
  260. data/lib/contrast/api/decorators/trace_taint_range.rb +0 -52
  261. data/lib/contrast/api/decorators/user_input.rb +0 -51
  262. data/lib/contrast/api/decorators/virtual_patch.rb +0 -34
  263. data/lib/contrast/api/decorators.rb +0 -28
  264. data/lib/contrast/api/dtm.pb.rb +0 -852
  265. data/lib/contrast/api/settings.pb.rb +0 -500
  266. data/lib/contrast/api.rb +0 -16
  267. data/lib/contrast/components/contrast_service.rb +0 -88
  268. data/lib/contrast/config/assess_configuration.rb +0 -93
  269. data/lib/contrast/config/assess_rules_configuration.rb +0 -32
  270. data/lib/contrast/config/root_configuration.rb +0 -90
  271. data/lib/contrast/config/ruby_configuration.rb +0 -81
  272. data/lib/contrast/config/service_configuration.rb +0 -49
  273. data/lib/contrast/tasks/service.rb +0 -84
  274. data/lib/contrast/utils/input_classification.rb +0 -73
  275. data/lib/contrast/utils/preflight_util.rb +0 -13
  276. data/lib/protobuf/code_generator.rb +0 -129
  277. data/lib/protobuf/decoder.rb +0 -28
  278. data/lib/protobuf/deprecation.rb +0 -117
  279. data/lib/protobuf/descriptors/google/protobuf/compiler/plugin.pb.rb +0 -79
  280. data/lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb +0 -360
  281. data/lib/protobuf/descriptors.rb +0 -3
  282. data/lib/protobuf/encoder.rb +0 -11
  283. data/lib/protobuf/enum.rb +0 -365
  284. data/lib/protobuf/exceptions.rb +0 -9
  285. data/lib/protobuf/field/base_field.rb +0 -380
  286. data/lib/protobuf/field/base_field_object_definitions.rb +0 -504
  287. data/lib/protobuf/field/bool_field.rb +0 -64
  288. data/lib/protobuf/field/bytes_field.rb +0 -67
  289. data/lib/protobuf/field/double_field.rb +0 -25
  290. data/lib/protobuf/field/enum_field.rb +0 -56
  291. data/lib/protobuf/field/field_array.rb +0 -102
  292. data/lib/protobuf/field/field_hash.rb +0 -122
  293. data/lib/protobuf/field/fixed32_field.rb +0 -25
  294. data/lib/protobuf/field/fixed64_field.rb +0 -28
  295. data/lib/protobuf/field/float_field.rb +0 -43
  296. data/lib/protobuf/field/int32_field.rb +0 -21
  297. data/lib/protobuf/field/int64_field.rb +0 -34
  298. data/lib/protobuf/field/integer_field.rb +0 -23
  299. data/lib/protobuf/field/message_field.rb +0 -51
  300. data/lib/protobuf/field/sfixed32_field.rb +0 -27
  301. data/lib/protobuf/field/sfixed64_field.rb +0 -28
  302. data/lib/protobuf/field/signed_integer_field.rb +0 -29
  303. data/lib/protobuf/field/sint32_field.rb +0 -21
  304. data/lib/protobuf/field/sint64_field.rb +0 -21
  305. data/lib/protobuf/field/string_field.rb +0 -51
  306. data/lib/protobuf/field/uint32_field.rb +0 -21
  307. data/lib/protobuf/field/uint64_field.rb +0 -21
  308. data/lib/protobuf/field/varint_field.rb +0 -77
  309. data/lib/protobuf/field.rb +0 -74
  310. data/lib/protobuf/generators/base.rb +0 -85
  311. data/lib/protobuf/generators/enum_generator.rb +0 -39
  312. data/lib/protobuf/generators/extension_generator.rb +0 -27
  313. data/lib/protobuf/generators/field_generator.rb +0 -193
  314. data/lib/protobuf/generators/file_generator.rb +0 -262
  315. data/lib/protobuf/generators/group_generator.rb +0 -122
  316. data/lib/protobuf/generators/message_generator.rb +0 -104
  317. data/lib/protobuf/generators/option_generator.rb +0 -17
  318. data/lib/protobuf/generators/printable.rb +0 -160
  319. data/lib/protobuf/generators/service_generator.rb +0 -50
  320. data/lib/protobuf/lifecycle.rb +0 -33
  321. data/lib/protobuf/logging.rb +0 -39
  322. data/lib/protobuf/message/fields.rb +0 -233
  323. data/lib/protobuf/message/serialization.rb +0 -85
  324. data/lib/protobuf/message.rb +0 -241
  325. data/lib/protobuf/optionable.rb +0 -72
  326. data/lib/protobuf/tasks/compile.rake +0 -80
  327. data/lib/protobuf/tasks.rb +0 -1
  328. data/lib/protobuf/varint.rb +0 -20
  329. data/lib/protobuf/varint_pure.rb +0 -31
  330. data/lib/protobuf/version.rb +0 -3
  331. data/lib/protobuf/wire_type.rb +0 -10
  332. data/lib/protobuf.rb +0 -91
  333. data/proto/dynamic_discovery.proto +0 -46
  334. data/proto/google/protobuf/compiler/plugin.proto +0 -183
  335. data/proto/google/protobuf/descriptor.proto +0 -911
  336. data/proto/rpc.proto +0 -71
  337. data/service_executables/.gitkeep +0 -0
  338. data/service_executables/VERSION +0 -1
  339. data/service_executables/linux/contrast-service +0 -0
  340. data/service_executables/mac/contrast-service +0 -0
@@ -1,852 +0,0 @@
1
- # encoding: utf-8
2
-
3
- ##
4
- # This file is auto-generated. DO NOT EDIT!
5
- #
6
- require 'protobuf'
7
-
8
- module Contrast
9
- module Api
10
- module Dtm
11
- ::Protobuf::Optionable.inject(self) { ::CSGoogle::Protobuf::FileOptions }
12
-
13
- ##
14
- # Message Classes
15
- #
16
- class Message < ::Protobuf::Message; end
17
- class Poll < ::Protobuf::Message; end
18
- class Noop < ::Protobuf::Message; end
19
- class ServerActivity < ::Protobuf::Message
20
- end
21
-
22
- class AgentStartup < ::Protobuf::Message; end
23
- class ApplicationCreate < ::Protobuf::Message; end
24
- class InstrumentationMode < ::Protobuf::Message; end
25
- class ApplicationUpdate < ::Protobuf::Message
26
- end
27
-
28
- class Activity < ::Protobuf::Message
29
- end
30
-
31
- class Finding < ::Protobuf::Message
32
- end
33
-
34
- class DynamicSource < ::Protobuf::Message
35
- end
36
-
37
- class PossibleSecurityControl < ::Protobuf::Message; end
38
- class View < ::Protobuf::Message; end
39
- class Platform < ::Protobuf::Message; end
40
- class ArchitectureComponent < ::Protobuf::Message; end
41
- class Library < ::Protobuf::Message; end
42
- class LibraryUsageUpdate < ::Protobuf::Message
43
- end
44
-
45
- class Address < ::Protobuf::Message; end
46
- class RawRequest < ::Protobuf::Message; end
47
- class RawResponse < ::Protobuf::Message; end
48
- class HttpRequest < ::Protobuf::Message
49
- class Authentication < ::Protobuf::Enum
50
- define :UNAUTHENTICATED, 0
51
- define :AUTHENTICATED, 1
52
- define :LOGIN_FAIL, 2
53
- define :LOGIN_SUCCESS, 3
54
- define :LOGIN_UNKNOWN, 4
55
- end
56
-
57
- class DocumentType < ::Protobuf::Enum
58
- define :NORMAL, 0
59
- define :JSON, 1
60
- define :XML, 2
61
- end
62
-
63
- end
64
-
65
- class RpcStatus < ::Protobuf::Message
66
- class Code < ::Protobuf::Enum
67
- define :OK, 0
68
- define :UNKNOWN, 1
69
- end
70
-
71
- end
72
-
73
- class SqliSinkRequest < ::Protobuf::Message
74
- class Dialect < ::Protobuf::Enum
75
- define :MYSQL, 0
76
- define :POSTGRESQL, 1
77
- define :UNKNOWN, 99
78
- end
79
-
80
- end
81
-
82
- class SqliSinkResponse < ::Protobuf::Message; end
83
- class HttpResponse < ::Protobuf::Message
84
- end
85
-
86
- class SimplePair < ::Protobuf::Message; end
87
- class Pair < ::Protobuf::Message; end
88
- class AttackResult < ::Protobuf::Message
89
- class ResponseType < ::Protobuf::Enum
90
- define :NO_ACTION, 0
91
- define :BLOCKED, 1
92
- define :MONITORED, 2
93
- define :PROBED, 3
94
- define :BLOCKED_AT_PERIMETER, 4
95
- define :AGGREGATED, 5
96
- end
97
-
98
- end
99
-
100
- class RaspRuleSample < ::Protobuf::Message; end
101
- class EndpointBanDetails < ::Protobuf::Message; end
102
- class ModSecurityDetails < ::Protobuf::Message; end
103
- class ModSecurityLog < ::Protobuf::Message
104
- end
105
-
106
- class BruteForceDetails < ::Protobuf::Message; end
107
- class BotBlockerDetails < ::Protobuf::Message; end
108
- class CmdInjectionDetails < ::Protobuf::Message; end
109
- class CmdInjectionSemanticAnalysisDetails < ::Protobuf::Message
110
- class Finding < ::Protobuf::Enum
111
- define :CHAINING, 0
112
- define :BACKDOOR, 1
113
- define :DANGEROUS_PATH, 2
114
- end
115
-
116
- end
117
-
118
- class CsrfDetails < ::Protobuf::Message; end
119
- class CveDetails < ::Protobuf::Message; end
120
- class Cve20170898Details < ::Protobuf::Message; end
121
- class Cve201714033Details < ::Protobuf::Message; end
122
- class Cve201714064Details < ::Protobuf::Message; end
123
- class Cve201717405Details < ::Protobuf::Message; end
124
- class HttpMethodTamperingDetails < ::Protobuf::Message; end
125
- class UntrustedDeserializationDetails < ::Protobuf::Message; end
126
- class ElInjectionDetails < ::Protobuf::Message; end
127
- class IpBlacklistDetails < ::Protobuf::Message; end
128
- class IpDenylistDetails < ::Protobuf::Message; end
129
- class MarkOfTheBeastDetails < ::Protobuf::Message; end
130
- class PaddingOracleDetails < ::Protobuf::Message; end
131
- class PathTraversalDetails < ::Protobuf::Message; end
132
- class PathTraversalSemanticAnalysisDetails < ::Protobuf::Message
133
- class Finding < ::Protobuf::Enum
134
- define :CUSTOM_CODE_ACCESSING_SYSTEM_FILES, 0
135
- define :COMMON_FILE_EXPLOITS, 1
136
- end
137
-
138
- end
139
-
140
- class ReDosDetails < ::Protobuf::Message; end
141
- class SsjsInjectionDetails < ::Protobuf::Message; end
142
- class SqlInjectionDetails < ::Protobuf::Message; end
143
- class SqlInjectionSemanticAnalysisDetails < ::Protobuf::Message
144
- class Finding < ::Protobuf::Enum
145
- define :CHAINING, 0
146
- define :SUSPICIOUS_UNION, 1
147
- define :DANGEROUS_FUNCTION, 2
148
- define :TAUTOLOGY, 3
149
- end
150
-
151
- end
152
-
153
- class NoSqlInjectionDetails < ::Protobuf::Message; end
154
- class SsrfDetails < ::Protobuf::Message; end
155
- class VirtualPatchDetails < ::Protobuf::Message; end
156
- class XssDetails < ::Protobuf::Message; end
157
- class XssMatch < ::Protobuf::Message; end
158
- class XxeDetails < ::Protobuf::Message; end
159
- class XxeMatch < ::Protobuf::Message; end
160
- class XxeWrapper < ::Protobuf::Message; end
161
- class UserInput < ::Protobuf::Message
162
- class InputType < ::Protobuf::Enum
163
- define :UNDEFINED_TYPE, 0
164
- define :BODY, 1
165
- define :COOKIE_NAME, 2
166
- define :COOKIE_VALUE, 3
167
- define :HEADER, 4
168
- define :PARAMETER_NAME, 5
169
- define :PARAMETER_VALUE, 6
170
- define :QUERYSTRING, 7
171
- define :URI, 8
172
- define :SOCKET, 9
173
- define :JSON_VALUE, 10
174
- define :JSON_ARRAYED_VALUE, 11
175
- define :MULTIPART_CONTENT_TYPE, 16
176
- define :MULTIPART_VALUE, 17
177
- define :MULTIPART_FIELD_NAME, 18
178
- define :MULTIPART_NAME, 19
179
- define :XML_VALUE, 20
180
- define :DWR_VALUE, 21
181
- define :METHOD, 22
182
- define :REQUEST, 23
183
- define :URL_PARAMETER, 24
184
- define :UNKNOWN, 99
185
- end
186
-
187
- end
188
-
189
- class StackTraceElement < ::Protobuf::Message; end
190
- class TraceEvent < ::Protobuf::Message
191
- class Action < ::Protobuf::Enum
192
- define :CREATION, 0
193
- define :PROPAGATION, 1
194
- define :TRIGGER, 2
195
- define :TAG, 3
196
- define :A2A, 4
197
- define :A2P, 5
198
- define :A2O, 6
199
- define :A2R, 7
200
- define :O2A, 8
201
- define :O2P, 9
202
- define :O2O, 10
203
- define :O2R, 11
204
- define :P2A, 12
205
- define :P2P, 13
206
- define :P2O, 14
207
- define :P2R, 15
208
- end
209
-
210
- class EventType < ::Protobuf::Enum
211
- define :TYPE_METHOD, 0
212
- define :TYPE_PROPAGATION, 1
213
- define :TYPE_TAG, 2
214
- end
215
-
216
- end
217
-
218
- class TraceEventSignature < ::Protobuf::Message; end
219
- class TraceEventSource < ::Protobuf::Message; end
220
- class TraceEventObject < ::Protobuf::Message; end
221
- class TraceTaintRange < ::Protobuf::Message; end
222
- class ParentObjectId < ::Protobuf::Message; end
223
- class TraceStack < ::Protobuf::Message; end
224
- class RouteCoverage < ::Protobuf::Message; end
225
- class ObservedRoute < ::Protobuf::Message; end
226
- class CmdiSinkRequest < ::Protobuf::Message; end
227
- class CmdiSinkResponse < ::Protobuf::Message; end
228
- class PtSinkRequest < ::Protobuf::Message; end
229
- class PtSinkResponse < ::Protobuf::Message; end
230
-
231
-
232
- ##
233
- # File Options
234
- #
235
- set_option :go_package, "bitbucket.org/contrastsecurity/go-speedracer-go/from_agent"
236
-
237
-
238
- ##
239
- # Message Fields
240
- #
241
- class Message
242
- optional :string, :client_id, 1
243
- optional :int32, :client_number, 2, :deprecated => true
244
- optional :int32, :client_total, 3, :deprecated => true
245
- optional :int64, :pid, 8
246
- optional :int64, :ppid, 9
247
- optional :int32, :message_count, 4
248
- optional :int64, :timestamp_ms, 5
249
- optional :string, :app_name, 6
250
- optional :string, :app_language, 7
251
- optional :string, :app_path, 28
252
- optional ::Contrast::Api::Dtm::AgentStartup, :agent_startup, 11
253
- optional ::Contrast::Api::Dtm::ApplicationCreate, :application_create, 12
254
- optional ::Contrast::Api::Dtm::ServerActivity, :server_activity, 10
255
- optional ::Contrast::Api::Dtm::ApplicationUpdate, :application_update, 13
256
- optional ::Contrast::Api::Dtm::Activity, :activity, 14
257
- optional ::Contrast::Api::Dtm::ObservedRoute, :observed_route, 26
258
- optional ::Contrast::Api::Dtm::RawRequest, :request, 19
259
- optional ::Contrast::Api::Dtm::HttpRequest, :prefilter, 20
260
- optional ::Contrast::Api::Dtm::HttpResponse, :postfilter, 22
261
- optional ::Contrast::Api::Dtm::RawResponse, :response, 23
262
- optional ::Contrast::Api::Dtm::SqliSinkRequest, :sqli_sink, 25
263
- optional ::Contrast::Api::Dtm::Poll, :poll, 27
264
- optional ::Contrast::Api::Dtm::Noop, :noop, 24, :deprecated => true
265
- end
266
-
267
- class Noop
268
- # Message Options
269
- set_option :deprecated, true
270
-
271
- optional :int32, :flag, 1
272
- end
273
-
274
- class ServerActivity
275
- map :string, :int32, :log_enhancers, 16
276
- map :string, :int32, :ip_blacklists, 17, :deprecated => true
277
- map :string, :int32, :ip_denylists, 18
278
- end
279
-
280
- class AgentStartup
281
- optional :string, :version, 2, :deprecated => true
282
- optional :string, :environment, 3
283
- optional :string, :tags, 4, :deprecated => true
284
- optional :string, :server_name, 5
285
- optional :string, :server_path, 6
286
- optional :string, :server_type, 7
287
- optional :string, :server_version, 8
288
- optional :int32, :heartbeat_ms, 9
289
- optional :string, :server_tags, 10
290
- optional :string, :application_tags, 11
291
- optional :string, :library_tags, 12
292
- optional :string, :finding_tags, 13
293
- optional :string, :agent_version, 14
294
- end
295
-
296
- class ApplicationCreate
297
- optional :string, :group, 1
298
- optional :string, :app_version, 2
299
- optional :string, :tags, 3, :deprecated => true
300
- optional :string, :code, 4
301
- optional :string, :metadata, 5
302
- optional :string, :session_id, 6
303
- optional :string, :session_metadata, 7
304
- optional ::Contrast::Api::Dtm::InstrumentationMode, :mode, 10
305
- end
306
-
307
- class InstrumentationMode
308
- optional :bool, :protect, 1
309
- optional :bool, :assess, 2
310
- end
311
-
312
- class ApplicationUpdate
313
- optional :int32, :coverage_loc, 2
314
- optional ::Contrast::Api::Dtm::Platform, :platform, 4
315
- optional ::Contrast::Api::Dtm::View, :view, 5
316
- map :string, :bool, :technologies, 6
317
- repeated ::Contrast::Api::Dtm::ArchitectureComponent, :components, 7
318
- map :string, ::Contrast::Api::Dtm::Library, :libraries, 8
319
- repeated ::Contrast::Api::Dtm::RouteCoverage, :routes, 9
320
- end
321
-
322
- class Activity
323
- optional ::Contrast::Api::Dtm::HttpRequest, :http_request, 1
324
- optional ::Contrast::Api::Dtm::HttpResponse, :http_response, 2
325
- optional :int64, :duration_ms, 3
326
- optional :int32, :query_count, 5
327
- map :string, :bool, :technologies, 7
328
- map :string, ::Contrast::Api::Dtm::LibraryUsageUpdate, :library_usages, 8
329
- repeated ::Contrast::Api::Dtm::ArchitectureComponent, :architectures, 9
330
- repeated ::Contrast::Api::Dtm::RouteCoverage, :routes, 19
331
- repeated ::Contrast::Api::Dtm::AttackResult, :results, 12
332
- repeated ::Contrast::Api::Dtm::Finding, :findings, 15
333
- repeated ::Contrast::Api::Dtm::PossibleSecurityControl, :controls, 16
334
- optional :string, :finding_tags, 17, :deprecated => true
335
- map :string, ::Contrast::Api::Dtm::DynamicSource, :dynamic_sources, 18
336
- end
337
-
338
- class Finding
339
- optional :string, :hash_code, 1
340
- optional :string, :platform, 2
341
- optional :string, :rule_id, 3
342
- optional :string, :evidence, 4
343
- map :string, :string, :properties, 6
344
- repeated ::Contrast::Api::Dtm::TraceEvent, :events, 7
345
- optional :string, :preflight, 8
346
- optional :string, :tags, 9, :deprecated => true
347
- optional :int64, :version, 10
348
- repeated ::Contrast::Api::Dtm::RouteCoverage, :routes, 11
349
- optional :string, :session_id, 12, :deprecated => true
350
- end
351
-
352
- class DynamicSource
353
- optional :string, :class_name, 1
354
- optional :string, :method_name, 2
355
- optional :bool, :instance_method, 3
356
- optional :string, :target, 4
357
- repeated ::Contrast::Api::Dtm::TraceEvent, :events, 5
358
- map :string, :string, :properties, 6
359
- end
360
-
361
- class PossibleSecurityControl
362
- optional :string, :api, 1
363
- optional :string, :type, 2
364
- optional :int64, :traits, 3
365
- end
366
-
367
- class View
368
- optional :int32, :accessible, 1
369
- optional :int32, :total_view_fields, 2
370
- optional :int32, :line_count, 3
371
- end
372
-
373
- class Platform
374
- optional :string, :major, 1
375
- optional :string, :minor, 2
376
- optional :string, :build, 3
377
- optional :string, :service_pack, 4
378
- repeated :string, :updates, 5
379
- end
380
-
381
- class ArchitectureComponent
382
- optional :string, :type, 1
383
- optional :string, :vendor, 2
384
- optional :string, :url, 3
385
- optional :string, :remote_host, 4
386
- optional :int32, :remote_port, 5
387
- end
388
-
389
- class Library
390
- optional :string, :hash_code, 1
391
- optional :string, :file_path, 2
392
- optional :string, :url, 3
393
- optional :string, :version, 4
394
- optional :int32, :tloc, 5
395
- optional :int32, :class_count, 6
396
- optional :int32, :used_class_count, 7
397
- optional :int64, :internal_ms, 8
398
- optional :int64, :external_ms, 9
399
- optional :string, :manifest, 10
400
- optional :string, :tags, 11, :deprecated => true
401
- end
402
-
403
- class LibraryUsageUpdate
404
- optional :int32, :count, 1
405
- optional :string, :hash_code, 2
406
- map :string, :bool, :class_names, 3
407
- end
408
-
409
- class Address
410
- optional :string, :ip, 1
411
- optional :string, :host, 2
412
- optional :int32, :port, 3
413
- end
414
-
415
- class RawRequest
416
- optional :string, :uuid, 1
417
- optional :int64, :timestamp_ms, 2
418
- optional :string, :request_line, 4
419
- optional :string, :normalized_uri, 5
420
- optional :string, :client_ip, 6
421
- optional :int32, :client_ip_version, 7
422
- optional :int32, :client_port, 8
423
- optional :string, :server_ip, 10
424
- optional :int32, :server_ip_version, 11
425
- optional :int32, :server_port, 12
426
- repeated ::Contrast::Api::Dtm::SimplePair, :request_headers, 14
427
- repeated ::Contrast::Api::Dtm::SimplePair, :multipart_headers, 17
428
- optional :bytes, :request_body, 16
429
- end
430
-
431
- class RawResponse
432
- optional :string, :uuid, 1
433
- optional :int64, :timestamp_ms, 2
434
- optional :int32, :response_code, 3
435
- repeated ::Contrast::Api::Dtm::SimplePair, :response_headers, 14
436
- optional :bytes, :response_body, 16
437
- end
438
-
439
- class HttpRequest
440
- optional :string, :uuid, 1
441
- optional :int64, :timestamp_ms, 2
442
- optional ::Contrast::Api::Dtm::Address, :sender, 3
443
- optional ::Contrast::Api::Dtm::Address, :receiver, 4
444
- optional :string, :protocol, 5
445
- optional :string, :version, 6
446
- optional :string, :method, 7
447
- optional :string, :raw, 8
448
- optional :bool, :parsed_connection, 9
449
- optional :string, :uri, 10
450
- optional :string, :normalized_uri, 11
451
- optional :string, :context, 12
452
- optional :string, :path, 13
453
- optional :string, :query_string, 14
454
- map :string, ::Contrast::Api::Dtm::Pair, :normalized_request_params, 16
455
- repeated ::Contrast::Api::Dtm::SimplePair, :multipart_headers, 51
456
- map :string, :string, :request_headers, 20
457
- optional :bool, :parsed_request_headers, 21
458
- map :string, ::Contrast::Api::Dtm::Pair, :normalized_request_headers, 22, :deprecated => true
459
- map :string, ::Contrast::Api::Dtm::Pair, :normalized_cookies, 23
460
- optional :string, :request_body, 30, :deprecated => true
461
- optional :bool, :parsed_request_body, 31
462
- optional ::Contrast::Api::Dtm::HttpRequest::DocumentType, :document_type, 32
463
- optional :bytes, :request_body_binary, 33
464
- optional ::Contrast::Api::Dtm::HttpRequest::Authentication, :authentication, 40
465
- optional :string, :principal, 41
466
- optional :string, :server_info, 50
467
- end
468
-
469
- class RpcStatus
470
- optional ::Contrast::Api::Dtm::RpcStatus::Code, :code, 1
471
- optional :string, :msg, 2
472
- end
473
-
474
- class SqliSinkRequest
475
- optional :string, :uuid, 1
476
- optional ::Contrast::Api::Dtm::SqliSinkRequest::Dialect, :dialect, 2
477
- optional :string, :query, 3
478
- end
479
-
480
- class SqliSinkResponse
481
- optional ::Contrast::Api::Dtm::RpcStatus, :status, 1
482
- optional ::Contrast::Api::Dtm::UserInput, :user_input, 3
483
- optional ::Contrast::Api::Dtm::SqlInjectionDetails, :sqli, 10
484
- optional ::Contrast::Api::Dtm::SqlInjectionSemanticAnalysisDetails, :sqli_semantic, 11
485
- end
486
-
487
- class HttpResponse
488
- optional :string, :uuid, 1
489
- optional :int64, :timestamp_ms, 2
490
- optional :int32, :response_code, 3
491
- map :string, :string, :response_headers, 4, :deprecated => true
492
- optional :bool, :parsed_response_headers, 5, :deprecated => true
493
- map :string, ::Contrast::Api::Dtm::Pair, :normalized_response_headers, 6
494
- optional :string, :response_body, 10, :deprecated => true
495
- optional :bool, :parsed_response_body, 11
496
- optional ::Contrast::Api::Dtm::HttpRequest::DocumentType, :document_type, 12
497
- optional :bytes, :response_body_binary, 13
498
- end
499
-
500
- class SimplePair
501
- optional :string, :key, 1
502
- optional :string, :value, 2
503
- end
504
-
505
- class Pair
506
- optional :string, :key, 1
507
- repeated :string, :values, 2
508
- end
509
-
510
- class AttackResult
511
- optional ::Contrast::Api::Dtm::AttackResult::ResponseType, :response, 1
512
- optional :string, :rule_id, 2
513
- repeated ::Contrast::Api::Dtm::RaspRuleSample, :samples, 6
514
- optional :string, :tags, 7, :deprecated => true
515
- optional :int64, :acc_updated_ms, 16
516
- optional :int32, :acc_limit, 17
517
- optional :int64, :acc_window_ms, 18
518
- optional :int32, :acc_count, 19
519
- optional :string, :acc_mode, 21
520
- optional :string, :acc_msg, 22
521
- end
522
-
523
- class RaspRuleSample
524
- optional :int64, :timestamp_ms, 2
525
- repeated ::Contrast::Api::Dtm::StackTraceElement, :stack_trace_elements, 4
526
- optional ::Contrast::Api::Dtm::UserInput, :user_input, 5
527
- optional ::Contrast::Api::Dtm::BruteForceDetails, :brute_force, 16
528
- optional ::Contrast::Api::Dtm::BotBlockerDetails, :bot_blocker, 17
529
- optional ::Contrast::Api::Dtm::CmdInjectionDetails, :cmdi, 18
530
- optional ::Contrast::Api::Dtm::CsrfDetails, :csrf, 19
531
- optional ::Contrast::Api::Dtm::CveDetails, :cve, 20, :deprecated => true
532
- optional ::Contrast::Api::Dtm::UntrustedDeserializationDetails, :untrusted_deserialization, 21
533
- optional ::Contrast::Api::Dtm::ElInjectionDetails, :el_injection, 22
534
- optional ::Contrast::Api::Dtm::IpBlacklistDetails, :ip_blacklist, 23, :deprecated => true
535
- optional ::Contrast::Api::Dtm::IpDenylistDetails, :ip_denylist, 45
536
- optional ::Contrast::Api::Dtm::MarkOfTheBeastDetails, :mark_of_the_beast, 24
537
- optional ::Contrast::Api::Dtm::PaddingOracleDetails, :padding_oracle, 25
538
- optional ::Contrast::Api::Dtm::PathTraversalDetails, :path_traversal, 26
539
- optional ::Contrast::Api::Dtm::ReDosDetails, :re_dos, 27
540
- optional ::Contrast::Api::Dtm::SqlInjectionDetails, :sqli, 28
541
- optional ::Contrast::Api::Dtm::SsrfDetails, :ssrf, 29
542
- optional ::Contrast::Api::Dtm::VirtualPatchDetails, :virtual_patch, 30
543
- optional ::Contrast::Api::Dtm::XssDetails, :xss, 31
544
- optional ::Contrast::Api::Dtm::XxeDetails, :xxe, 32
545
- optional ::Contrast::Api::Dtm::NoSqlInjectionDetails, :no_sqli, 33
546
- optional ::Contrast::Api::Dtm::HttpMethodTamperingDetails, :method_tampering, 34
547
- optional ::Contrast::Api::Dtm::Cve20170898Details, :cve_2017_0898, 35, :deprecated => true
548
- optional ::Contrast::Api::Dtm::Cve201714033Details, :cve_2017_14033, 36, :deprecated => true
549
- optional ::Contrast::Api::Dtm::Cve201714064Details, :cve_2017_14064, 37, :deprecated => true
550
- optional ::Contrast::Api::Dtm::Cve201717405Details, :cve_2017_17405, 38, :deprecated => true
551
- optional ::Contrast::Api::Dtm::ModSecurityDetails, :mod_security, 39
552
- optional ::Contrast::Api::Dtm::EndpointBanDetails, :endpoint, 40
553
- optional ::Contrast::Api::Dtm::SqlInjectionSemanticAnalysisDetails, :sqli_semantic, 41
554
- optional ::Contrast::Api::Dtm::CmdInjectionSemanticAnalysisDetails, :cmdi_semantic, 42
555
- optional ::Contrast::Api::Dtm::PathTraversalSemanticAnalysisDetails, :path_traversal_semantic, 43
556
- optional ::Contrast::Api::Dtm::SsjsInjectionDetails, :ssjs, 44
557
- end
558
-
559
- class EndpointBanDetails
560
- optional :string, :ip, 1
561
- optional :string, :request_uri, 2
562
- optional :int32, :response_code, 3
563
- end
564
-
565
- class ModSecurityDetails
566
- optional :string, :transaction_id, 1
567
- optional :int32, :status, 2
568
- repeated ::Contrast::Api::Dtm::ModSecurityLog, :logs, 3
569
- end
570
-
571
- class ModSecurityLog
572
- optional :string, :message, 2
573
- map :string, :string, :params, 3
574
- end
575
-
576
- class BruteForceDetails
577
- optional :int32, :count, 1
578
- end
579
-
580
- class BotBlockerDetails
581
- optional :string, :bot, 1
582
- optional :string, :user_agent, 2
583
- end
584
-
585
- class CmdInjectionDetails
586
- optional :string, :command, 1
587
- optional :int32, :start_idx, 2
588
- optional :int32, :end_idx, 3
589
- end
590
-
591
- class CmdInjectionSemanticAnalysisDetails
592
- optional :string, :command, 1
593
- repeated ::Contrast::Api::Dtm::CmdInjectionSemanticAnalysisDetails::Finding, :findings, 2
594
- end
595
-
596
- class CsrfDetails
597
- optional :string, :name, 1
598
- optional :string, :expected, 2
599
- optional :string, :presented, 3
600
- end
601
-
602
- class CveDetails
603
- optional :string, :name, 1
604
- optional :string, :value, 2
605
- optional :string, :cve, 3
606
- optional :string, :library, 4
607
- end
608
-
609
- class Cve20170898Details
610
- optional :string, :format_string, 1
611
- optional :string, :malicious_format_group, 2
612
- optional :string, :precision_argument, 3
613
- optional :string, :value_argument, 4
614
- optional :string, :arguments, 5
615
- optional :string, :ruby_version, 6
616
- end
617
-
618
- class Cve201714033Details
619
- optional :string, :asn1, 1
620
- optional :string, :ruby_version, 2
621
- end
622
-
623
- class Cve201714064Details
624
- optional :string, :space, 1
625
- optional :string, :ruby_version, 2
626
- optional :string, :json_version, 3
627
- end
628
-
629
- class Cve201717405Details
630
- optional :string, :method, 1
631
- optional :string, :file_name, 2
632
- optional :string, :ruby_version, 3
633
- end
634
-
635
- class HttpMethodTamperingDetails
636
- optional :string, :method, 1
637
- optional :int32, :response_code, 2
638
- end
639
-
640
- class UntrustedDeserializationDetails
641
- optional :bool, :command, 1
642
- optional :string, :deserializer, 2
643
- end
644
-
645
- class ElInjectionDetails
646
- optional :string, :attr_value, 1
647
- optional :string, :version, 2
648
- optional :string, :library_filename, 3
649
- end
650
-
651
- class IpBlacklistDetails
652
- # Message Options
653
- set_option :deprecated, true
654
-
655
- optional :string, :ip, 1
656
- optional :string, :uuid, 2
657
- end
658
-
659
- class IpDenylistDetails
660
- optional :string, :ip, 1
661
- optional :string, :uuid, 2
662
- end
663
-
664
- class MarkOfTheBeastDetails
665
- optional :string, :number, 1
666
- optional :string, :vendor, 2
667
- optional :string, :version, 3
668
- end
669
-
670
- class PaddingOracleDetails
671
- optional :string, :message, 1
672
- optional :int32, :period, 2
673
- optional :int32, :hits, 3
674
- end
675
-
676
- class PathTraversalDetails
677
- optional :string, :path, 1
678
- end
679
-
680
- class PathTraversalSemanticAnalysisDetails
681
- optional :string, :path, 1
682
- repeated ::Contrast::Api::Dtm::PathTraversalSemanticAnalysisDetails::Finding, :findings, 2
683
- end
684
-
685
- class ReDosDetails
686
- optional :int32, :times_accessed, 1
687
- optional :int64, :execution_time_ms, 2
688
- optional :string, :pattern, 3
689
- optional :string, :offending_string, 4
690
- end
691
-
692
- class SsjsInjectionDetails
693
- optional :string, :code_string, 1
694
- optional :int32, :start_idx, 2
695
- optional :int32, :end_idx, 3
696
- optional :int32, :boundary_overrun_idx, 4
697
- end
698
-
699
- class SqlInjectionDetails
700
- optional :int32, :start_idx, 1
701
- optional :int32, :end_idx, 2
702
- optional :int32, :boundary_overrun_idx, 3
703
- optional :int32, :input_boundary_idx, 4
704
- optional :string, :query, 5
705
- end
706
-
707
- class SqlInjectionSemanticAnalysisDetails
708
- optional :string, :query, 1
709
- optional ::Contrast::Api::Dtm::SqlInjectionSemanticAnalysisDetails::Finding, :finding, 2
710
- end
711
-
712
- class NoSqlInjectionDetails
713
- optional :int32, :start_idx, 1
714
- optional :int32, :end_idx, 2
715
- optional :int32, :boundary_overrun_idx, 3
716
- optional :int32, :input_boundary_idx, 4
717
- optional :string, :query, 5
718
- end
719
-
720
- class SsrfDetails
721
- optional :string, :url, 1
722
- end
723
-
724
- class VirtualPatchDetails
725
- optional :string, :uuid, 1
726
- end
727
-
728
- class XssDetails
729
- optional :string, :input, 1
730
- repeated ::Contrast::Api::Dtm::XssMatch, :matches, 2
731
- end
732
-
733
- class XssMatch
734
- optional :int64, :evidence_start_ms, 1
735
- optional :string, :evidence, 2
736
- optional :int32, :offset, 3
737
- end
738
-
739
- class XxeDetails
740
- optional :string, :xml, 1
741
- repeated ::Contrast::Api::Dtm::XxeMatch, :declared_entities, 2
742
- repeated ::Contrast::Api::Dtm::XxeWrapper, :entities_resolved, 3
743
- end
744
-
745
- class XxeMatch
746
- optional :int32, :start_idx, 1
747
- optional :int32, :end_idx, 2
748
- end
749
-
750
- class XxeWrapper
751
- optional :string, :system_id, 1
752
- optional :string, :public_id, 2
753
- end
754
-
755
- class UserInput
756
- optional :string, :path, 2
757
- optional :string, :key, 3
758
- optional :string, :value, 4
759
- optional ::Contrast::Api::Dtm::UserInput::InputType, :input_type, 5
760
- optional ::Contrast::Api::Dtm::HttpRequest::DocumentType, :document_type, 6
761
- repeated :string, :matcher_ids, 7
762
- end
763
-
764
- class StackTraceElement
765
- optional :string, :declaring_class, 1
766
- optional :string, :method_name, 2
767
- optional :string, :file_name, 3
768
- optional :int32, :line_number, 4
769
- end
770
-
771
- class TraceEvent
772
- optional ::Contrast::Api::Dtm::TraceEvent::Action, :action, 1
773
- optional ::Contrast::Api::Dtm::TraceEvent::EventType, :type, 2
774
- optional :int64, :timestamp_ms, 3
775
- optional :string, :thread, 4
776
- optional ::Contrast::Api::Dtm::TraceEventSignature, :signature, 6
777
- optional :string, :field_name, 7
778
- optional :string, :context, 8
779
- optional :string, :code, 9
780
- optional ::Contrast::Api::Dtm::TraceEventObject, :object, 16
781
- optional ::Contrast::Api::Dtm::TraceEventObject, :ret, 17
782
- repeated ::Contrast::Api::Dtm::TraceEventObject, :args, 18
783
- repeated ::Contrast::Api::Dtm::TraceStack, :stack, 19
784
- repeated ::Contrast::Api::Dtm::TraceEventSource, :event_sources, 20
785
- optional :string, :source, 21
786
- optional :string, :target, 22
787
- repeated ::Contrast::Api::Dtm::TraceTaintRange, :taint_ranges, 23
788
- optional :int64, :object_id, 24
789
- repeated ::Contrast::Api::Dtm::ParentObjectId, :parent_object_ids, 25
790
- end
791
-
792
- class TraceEventSignature
793
- optional :string, :return_type, 1
794
- optional :string, :class_name, 2
795
- optional :string, :method_name, 3
796
- repeated :string, :arg_types, 4
797
- optional :bool, :constructor, 5
798
- optional :bool, :void_method, 6
799
- optional :int32, :flags, 7
800
- end
801
-
802
- class TraceEventSource
803
- optional :string, :type, 1
804
- optional :string, :name, 2
805
- end
806
-
807
- class TraceEventObject
808
- optional :bool, :tracked, 1
809
- optional :string, :value, 2
810
- repeated ::Contrast::Api::Dtm::TraceTaintRange, :ranges, 3
811
- end
812
-
813
- class TraceTaintRange
814
- optional :string, :tag, 1
815
- optional :string, :range, 2
816
- end
817
-
818
- class ParentObjectId
819
- optional :int64, :id, 1
820
- end
821
-
822
- class TraceStack
823
- optional :string, :signature, 1
824
- optional :string, :declaring_class, 2
825
- optional :string, :method_name, 3
826
- optional :string, :file_name, 4
827
- optional :int32, :line_number, 5
828
- optional :string, :type, 6
829
- optional :string, :eval, 7
830
- end
831
-
832
- class RouteCoverage
833
- optional :string, :verb, 1
834
- optional :string, :url, 2
835
- optional :string, :route, 3
836
- optional :int32, :count, 4
837
- end
838
-
839
- class ObservedRoute
840
- optional :string, :signature, 1
841
- optional :string, :url, 2
842
- optional :string, :verb, 3
843
- optional :string, :session_id, 4, :deprecated => true
844
- repeated ::Contrast::Api::Dtm::TraceEventSource, :sources, 5
845
- end
846
-
847
- end
848
-
849
- end
850
-
851
- end
852
-