tcell_agent 1.1.3 → 1.1.4

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/bin/tcell_agent +10 -2
  3. data/lib/tcell_agent.rb +3 -3
  4. data/lib/tcell_agent/agent.rb +42 -52
  5. data/lib/tcell_agent/agent/event_processor.rb +129 -162
  6. data/lib/tcell_agent/agent/fork_pipe_manager.rb +57 -62
  7. data/lib/tcell_agent/agent/policy_manager.rb +83 -104
  8. data/lib/tcell_agent/agent/policy_types.rb +24 -29
  9. data/lib/tcell_agent/agent/route_manager.rb +36 -46
  10. data/lib/tcell_agent/agent/static_agent.rb +19 -21
  11. data/lib/tcell_agent/api.rb +23 -28
  12. data/lib/tcell_agent/appsensor/injections_reporter.rb +7 -11
  13. data/lib/tcell_agent/authlogic.rb +7 -7
  14. data/lib/tcell_agent/cmdi.rb +22 -23
  15. data/lib/tcell_agent/config/unknown_options.rb +71 -69
  16. data/lib/tcell_agent/configuration.rb +187 -191
  17. data/lib/tcell_agent/devise.rb +13 -15
  18. data/lib/tcell_agent/hooks/login_fraud.rb +1 -1
  19. data/lib/tcell_agent/instrumentation.rb +120 -124
  20. data/lib/tcell_agent/logger.rb +29 -45
  21. data/lib/tcell_agent/patches.rb +5 -5
  22. data/lib/tcell_agent/policies/dataloss_policy.rb +263 -288
  23. data/lib/tcell_agent/policies/http_redirect_policy.rb +25 -37
  24. data/lib/tcell_agent/policies/http_tx_policy.rb +48 -52
  25. data/lib/tcell_agent/policies/login_fraud_policy.rb +15 -20
  26. data/lib/tcell_agent/policies/policy.rb +0 -2
  27. data/lib/tcell_agent/policies/rust_policies.rb +24 -29
  28. data/lib/tcell_agent/rails.rb +2 -3
  29. data/lib/tcell_agent/rails/auth/authlogic.rb +2 -2
  30. data/lib/tcell_agent/rails/auth/devise.rb +2 -2
  31. data/lib/tcell_agent/rails/auth/doorkeeper.rb +2 -2
  32. data/lib/tcell_agent/rails/better_ip.rb +12 -16
  33. data/lib/tcell_agent/rails/csrf_exception.rb +4 -7
  34. data/lib/tcell_agent/rails/dlp.rb +208 -107
  35. data/lib/tcell_agent/rails/dlp/process_request.rb +37 -47
  36. data/lib/tcell_agent/rails/dlp_handler.rb +9 -11
  37. data/lib/tcell_agent/rails/js_agent_insert.rb +11 -14
  38. data/lib/tcell_agent/rails/middleware/body_filter_middleware.rb +8 -7
  39. data/lib/tcell_agent/rails/middleware/context_middleware.rb +4 -5
  40. data/lib/tcell_agent/rails/middleware/global_middleware.rb +5 -8
  41. data/lib/tcell_agent/rails/middleware/headers_middleware.rb +24 -27
  42. data/lib/tcell_agent/rails/on_start.rb +5 -5
  43. data/lib/tcell_agent/rails/responses.rb +7 -9
  44. data/lib/tcell_agent/rails/routes.rb +62 -81
  45. data/lib/tcell_agent/rails/routes/grape.rb +25 -30
  46. data/lib/tcell_agent/rails/routes/route_id.rb +9 -14
  47. data/lib/tcell_agent/rails/settings_reporter.rb +44 -33
  48. data/lib/tcell_agent/rails/tcell_body_proxy.rb +15 -18
  49. data/lib/tcell_agent/routes/table.rb +31 -33
  50. data/lib/tcell_agent/rust/{libtcellagent-1.3.0.dylib → libtcellagent-1.3.1.dylib} +0 -0
  51. data/lib/tcell_agent/rust/{libtcellagent-1.3.0.so → libtcellagent-1.3.1.so} +0 -0
  52. data/lib/tcell_agent/rust/{libtcellagent-alpine-1.3.0.so → libtcellagent-alpine-1.3.1.so} +0 -0
  53. data/lib/tcell_agent/rust/models.rb +32 -37
  54. data/lib/tcell_agent/rust/tcellagent-1.3.1.dll +0 -0
  55. data/lib/tcell_agent/rust/whisperer.rb +101 -104
  56. data/lib/tcell_agent/sensor_events/app_config.rb +7 -7
  57. data/lib/tcell_agent/sensor_events/appsensor_event.rb +26 -27
  58. data/lib/tcell_agent/sensor_events/appsensor_meta_event.rb +20 -88
  59. data/lib/tcell_agent/sensor_events/command_injection.rb +52 -80
  60. data/lib/tcell_agent/sensor_events/discovery.rb +27 -27
  61. data/lib/tcell_agent/sensor_events/dlp.rb +50 -56
  62. data/lib/tcell_agent/sensor_events/honeytokens.rb +9 -9
  63. data/lib/tcell_agent/sensor_events/metrics.rb +20 -21
  64. data/lib/tcell_agent/sensor_events/patches.rb +10 -12
  65. data/lib/tcell_agent/sensor_events/sensor.rb +32 -36
  66. data/lib/tcell_agent/sensor_events/server_agent.rb +130 -127
  67. data/lib/tcell_agent/sensor_events/util/sanitizer_utilities.rb +60 -80
  68. data/lib/tcell_agent/sensor_events/util/utils.rb +3 -5
  69. data/lib/tcell_agent/servers/passenger.rb +5 -9
  70. data/lib/tcell_agent/servers/puma.rb +18 -27
  71. data/lib/tcell_agent/servers/rails_server.rb +5 -9
  72. data/lib/tcell_agent/servers/thin.rb +2 -4
  73. data/lib/tcell_agent/servers/unicorn.rb +18 -27
  74. data/lib/tcell_agent/servers/webrick.rb +2 -4
  75. data/lib/tcell_agent/settings_reporter.rb +126 -0
  76. data/lib/tcell_agent/sinatra.rb +24 -26
  77. data/lib/tcell_agent/start_background_thread.rb +21 -142
  78. data/lib/tcell_agent/system_info.rb +4 -3
  79. data/lib/tcell_agent/tcell_context.rb +150 -0
  80. data/lib/tcell_agent/userinfo.rb +3 -3
  81. data/lib/tcell_agent/utils/io.rb +19 -24
  82. data/lib/tcell_agent/utils/params.rb +9 -15
  83. data/lib/tcell_agent/utils/queue_with_timeout.rb +26 -32
  84. data/lib/tcell_agent/utils/strings.rb +4 -6
  85. data/lib/tcell_agent/version.rb +1 -1
  86. data/spec/lib/tcell_agent/agent/policy_manager_spec.rb +5 -5
  87. data/spec/lib/tcell_agent/agent/static_agent_spec.rb +7 -7
  88. data/spec/lib/tcell_agent/cmdi_spec.rb +21 -21
  89. data/spec/lib/tcell_agent/hooks/login_fraud_spec.rb +29 -24
  90. data/spec/lib/tcell_agent/instrumentation_spec.rb +4 -4
  91. data/spec/lib/tcell_agent/patches_spec.rb +8 -8
  92. data/spec/lib/tcell_agent/policies/appsensor_policy_spec.rb +23 -23
  93. data/spec/lib/tcell_agent/policies/patches_policy_spec.rb +2 -2
  94. data/spec/lib/tcell_agent/rails/csrf_exception_spec.rb +69 -0
  95. data/spec/lib/tcell_agent/rails/dlp_spec.rb +1039 -0
  96. data/spec/lib/tcell_agent/rails/js_agent_insert_spec.rb +271 -0
  97. data/spec/lib/tcell_agent/rails/logger_spec.rb +5 -5
  98. data/spec/lib/tcell_agent/rails/middleware/appsensor_middleware_spec.rb +3 -3
  99. data/spec/lib/tcell_agent/rails/middleware/dlp_middleware_spec.rb +4 -4
  100. data/spec/lib/tcell_agent/rails/middleware/global_middleware_spec.rb +5 -5
  101. data/spec/lib/tcell_agent/rails/middleware/redirect_middleware_spec.rb +1 -1
  102. data/spec/lib/tcell_agent/rails/middleware/tcell_body_proxy_spec.rb +11 -8
  103. data/spec/lib/tcell_agent/rails/responses_spec.rb +2 -2
  104. data/spec/lib/tcell_agent/rails/routes/grape_spec.rb +2 -2
  105. data/spec/lib/tcell_agent/rails/routes/route_id_spec.rb +1 -1
  106. data/spec/lib/tcell_agent/rails/routes/routes_spec.rb +4 -4
  107. data/spec/lib/tcell_agent/rust/models_spec.rb +83 -75
  108. data/spec/lib/tcell_agent/rust/whisperer_spec.rb +14 -14
  109. data/spec/lib/tcell_agent/sensor_events/appsensor_meta_event_spec.rb +19 -70
  110. data/spec/lib/tcell_agent/sensor_events/sessions_metric_spec.rb +1 -1
  111. data/spec/lib/tcell_agent/settings_reporter_spec.rb +162 -0
  112. data/spec/lib/tcell_agent/tcell_context_spec.rb +154 -0
  113. data/spec/spec_helper.rb +5 -0
  114. metadata +18 -10
  115. data/lib/tcell_agent/appsensor/meta_data.rb +0 -132
  116. data/lib/tcell_agent/patches/meta_data.rb +0 -59
  117. data/lib/tcell_agent/rust/tcellagent-1.3.0.dll +0 -0
  118. data/spec/lib/tcell_agent/appsensor/meta_data_spec.rb +0 -71
@@ -35,7 +35,7 @@ module TCellAgent
35
35
  it 'should report the login failure' do
36
36
  login_fraud = double('login_fraud', :enabled => true, :login_failed_enabled => true)
37
37
 
38
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
38
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
39
39
  login_fraud
40
40
  )
41
41
  expect(TCellAgent).to receive(:send_event).with(
@@ -43,7 +43,7 @@ module TCellAgent
43
43
  'event_type' => 'login',
44
44
  'header_keys' => %w[USER_AGENT X_FORWARDED_FOR],
45
45
  'user_agent' => 'user_agent',
46
- 'referrer' => 'referrer',
46
+ 'referrer' => 'http://tcell.tcell.io/?utm_campaign=',
47
47
  'remote_addr' => '1.1.1.1',
48
48
  'user_id' => 'user_id',
49
49
  'document_uri' => 'http://tcell.tcell.io/login?param_name=',
@@ -55,9 +55,10 @@ module TCellAgent
55
55
  status = Hooks::V1::Login::LOGIN_FAILURE
56
56
  header_keys = %w[HTTP_USER_AGENT HTTP_X_FORWARDED_FOR]
57
57
  document_uri = 'http://tcell.tcell.io/login?param_name=param_value'
58
+ referrer = 'http://tcell.tcell.io/?utm_campaign=some-source'
58
59
 
59
60
  Hooks::V1::Login.register_login_event(
60
- status, 'session_id', 'user_agent', 'referrer', '1.1.1.1', header_keys, 'user_id', document_uri
61
+ status, 'session_id', 'user_agent', referrer, '1.1.1.1', header_keys, 'user_id', document_uri
61
62
  )
62
63
  end
63
64
  end
@@ -66,7 +67,7 @@ module TCellAgent
66
67
  it 'should NOT report the login failure' do
67
68
  login_fraud = double('login_fraud', :enabled => true, :login_failed_enabled => false)
68
69
 
69
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
70
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
70
71
  login_fraud
71
72
  )
72
73
  expect(TCellAgent).to_not receive(:send_event)
@@ -74,9 +75,10 @@ module TCellAgent
74
75
  status = Hooks::V1::Login::LOGIN_FAILURE
75
76
  header_keys = %w[HTTP_USER_AGENT HTTP_X_FORWARDED_FOR]
76
77
  document_uri = 'http://tcell.tcell.io/login?param_name=param_value'
78
+ referrer = 'http://tcell.tcell.io/?utm_campaign=some-source'
77
79
 
78
80
  Hooks::V1::Login.register_login_event(
79
- status, 'session_id', 'user_agent', 'referrer', '1.1.1.1', header_keys, 'user_id', document_uri
81
+ status, 'session_id', 'user_agent', referrer, '1.1.1.1', header_keys, 'user_id', document_uri
80
82
  )
81
83
  end
82
84
  end
@@ -87,7 +89,7 @@ module TCellAgent
87
89
  it 'should report the login success' do
88
90
  login_fraud = double('login_fraud', :enabled => true, :login_success_enabled => true)
89
91
 
90
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
92
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
91
93
  login_fraud
92
94
  )
93
95
  expect(TCellAgent).to receive(:send_event).with(
@@ -95,7 +97,7 @@ module TCellAgent
95
97
  'event_type' => 'login',
96
98
  'header_keys' => %w[USER_AGENT X_FORWARDED_FOR],
97
99
  'user_agent' => 'user_agent',
98
- 'referrer' => 'referrer',
100
+ 'referrer' => 'http://tcell.tcell.io/?utm_campaign=',
99
101
  'remote_addr' => '1.1.1.1',
100
102
  'user_id' => 'user_id',
101
103
  'document_uri' => 'http://tcell.tcell.io/login?param_name=',
@@ -107,9 +109,10 @@ module TCellAgent
107
109
  status = Hooks::V1::Login::LOGIN_SUCCESS
108
110
  header_keys = %w[HTTP_USER_AGENT HTTP_X_FORWARDED_FOR]
109
111
  document_uri = 'http://tcell.tcell.io/login?param_name=param_value'
112
+ referrer = 'http://tcell.tcell.io/?utm_campaign=some-source'
110
113
 
111
114
  Hooks::V1::Login.register_login_event(
112
- status, 'session_id', 'user_agent', 'referrer', '1.1.1.1', header_keys, 'user_id', document_uri
115
+ status, 'session_id', 'user_agent', referrer, '1.1.1.1', header_keys, 'user_id', document_uri
113
116
  )
114
117
  end
115
118
  end
@@ -118,7 +121,7 @@ module TCellAgent
118
121
  it 'should NOT report the login success' do
119
122
  login_fraud = double('login_fraud', :enabled => true, :login_success_enabled => false)
120
123
 
121
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
124
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
122
125
  login_fraud
123
126
  )
124
127
  expect(TCellAgent).to_not receive(:send_event)
@@ -126,9 +129,10 @@ module TCellAgent
126
129
  status = Hooks::V1::Login::LOGIN_SUCCESS
127
130
  header_keys = %w[HTTP_USER_AGENT HTTP_X_FORWARDED_FOR]
128
131
  document_uri = 'http://tcell.tcell.io/login?param_name=param_value'
132
+ referrer = 'http://tcell.tcell.io/?utm_campaign=some-source'
129
133
 
130
134
  Hooks::V1::Login.register_login_event(
131
- status, 'session_id', 'user_agent', 'referrer', '1.1.1.1', header_keys, 'user_id', document_uri
135
+ status, 'session_id', 'user_agent', referrer, '1.1.1.1', header_keys, 'user_id', document_uri
132
136
  )
133
137
  end
134
138
  end
@@ -139,7 +143,7 @@ module TCellAgent
139
143
  login_fraud = double('login_fraud', :enabled => true)
140
144
  logger = double('logger')
141
145
 
142
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
146
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
143
147
  login_fraud
144
148
  )
145
149
  expect(TCellAgent).to_not receive(:send_event)
@@ -149,9 +153,10 @@ module TCellAgent
149
153
  status = 'mumbo-jumbo'
150
154
  header_keys = %w[HTTP_USER_AGENT HTTP_X_FORWARDED_FOR]
151
155
  document_uri = 'http://tcell.tcell.io/login?param_name=param_value'
156
+ referrer = 'http://tcell.tcell.io/?utm_campaign=some-source'
152
157
 
153
158
  Hooks::V1::Login.register_login_event(
154
- status, 'session_id', 'user_agent', 'referrer', '1.1.1.1', header_keys, 'user_id', document_uri
159
+ status, 'session_id', 'user_agent', referrer, '1.1.1.1', header_keys, 'user_id', document_uri
155
160
  )
156
161
  end
157
162
  end
@@ -165,7 +170,7 @@ module TCellAgent
165
170
  rails_request = double('rails_request')
166
171
  tcell_data = TCellAgent::Instrumentation::TCellData.new
167
172
  tcell_data.user_agent = 'user_agent'
168
- tcell_data.referrer = 'referrer'
173
+ tcell_data.referrer = 'http://tcell.tcell.io/?utm_campaign=some-source'
169
174
  tcell_data.ip_address = '1.1.1.1'
170
175
  tcell_data.path = 'http://tcell.tcell.io/login?param_name=param_value'
171
176
  tcell_data.hmac_session_id = TCellAgent::SensorEvents::Util.hmac('session_id')
@@ -175,7 +180,7 @@ module TCellAgent
175
180
  'HTTP_X_FORWARDED_FOR' => true
176
181
  }
177
182
 
178
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
183
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
179
184
  login_fraud
180
185
  )
181
186
  expect(rails_request).to receive(:env).and_return(request_env)
@@ -185,7 +190,7 @@ module TCellAgent
185
190
  'event_type' => 'login',
186
191
  'header_keys' => %w[USER_AGENT X_FORWARDED_FOR],
187
192
  'user_agent' => 'user_agent',
188
- 'referrer' => 'referrer',
193
+ 'referrer' => 'http://tcell.tcell.io/?utm_campaign=',
189
194
  'remote_addr' => '1.1.1.1',
190
195
  'user_id' => 'user_id',
191
196
  'document_uri' => 'http://tcell.tcell.io/login?param_name=',
@@ -208,7 +213,7 @@ module TCellAgent
208
213
  rails_request = double('rails_request')
209
214
  tcell_data = TCellAgent::Instrumentation::TCellData.new
210
215
  tcell_data.user_agent = 'user_agent'
211
- tcell_data.referrer = 'referrer'
216
+ tcell_data.referrer = 'http://tcell.tcell.io/?utm_campaign='
212
217
  tcell_data.ip_address = '1.1.1.1'
213
218
  tcell_data.path = 'http://tcell.tcell.io/login?param_name=param_value'
214
219
  tcell_data.hmac_session_id = TCellAgent::SensorEvents::Util.hmac('session_id')
@@ -218,7 +223,7 @@ module TCellAgent
218
223
  'HTTP_X_FORWARDED_FOR' => true
219
224
  }
220
225
 
221
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
226
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
222
227
  login_fraud
223
228
  )
224
229
  expect(rails_request).to receive(:env).and_return(request_env)
@@ -241,7 +246,7 @@ module TCellAgent
241
246
  rails_request = double('rails_request')
242
247
  tcell_data = TCellAgent::Instrumentation::TCellData.new
243
248
  tcell_data.user_agent = 'user_agent'
244
- tcell_data.referrer = 'referrer'
249
+ tcell_data.referrer = 'http://tcell.tcell.io/?utm_campaign=some-source'
245
250
  tcell_data.ip_address = '1.1.1.1'
246
251
  tcell_data.path = 'http://tcell.tcell.io/login?param_name=param_value'
247
252
  tcell_data.hmac_session_id = TCellAgent::SensorEvents::Util.hmac('session_id')
@@ -251,7 +256,7 @@ module TCellAgent
251
256
  'HTTP_X_FORWARDED_FOR' => true
252
257
  }
253
258
 
254
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
259
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
255
260
  login_fraud
256
261
  )
257
262
  expect(rails_request).to receive(:env).and_return(request_env)
@@ -261,7 +266,7 @@ module TCellAgent
261
266
  'event_type' => 'login',
262
267
  'header_keys' => %w[USER_AGENT X_FORWARDED_FOR],
263
268
  'user_agent' => 'user_agent',
264
- 'referrer' => 'referrer',
269
+ 'referrer' => 'http://tcell.tcell.io/?utm_campaign=',
265
270
  'remote_addr' => '1.1.1.1',
266
271
  'user_id' => 'user_id',
267
272
  'document_uri' => 'http://tcell.tcell.io/login?param_name=',
@@ -284,7 +289,7 @@ module TCellAgent
284
289
  rails_request = double('rails_request')
285
290
  tcell_data = TCellAgent::Instrumentation::TCellData.new
286
291
  tcell_data.user_agent = 'user_agent'
287
- tcell_data.referrer = 'referrer'
292
+ tcell_data.referrer = 'http://tcell.tcell.io/?utm_campaign=some-source'
288
293
  tcell_data.ip_address = '1.1.1.1'
289
294
  tcell_data.path = 'http://tcell.tcell.io/login?param_name=param_value'
290
295
  tcell_data.hmac_session_id = TCellAgent::SensorEvents::Util.hmac('session_id')
@@ -294,7 +299,7 @@ module TCellAgent
294
299
  'HTTP_X_FORWARDED_FOR' => true
295
300
  }
296
301
 
297
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
302
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
298
303
  login_fraud
299
304
  )
300
305
  expect(rails_request).to receive(:env).and_return(request_env)
@@ -317,7 +322,7 @@ module TCellAgent
317
322
  rails_request = double('rails_request')
318
323
  tcell_data = TCellAgent::Instrumentation::TCellData.new
319
324
  tcell_data.user_agent = 'user_agent'
320
- tcell_data.referrer = 'referrer'
325
+ tcell_data.referrer = 'http://tcell.tcell.io/?utm_campaign=some-source'
321
326
  tcell_data.ip_address = '1.1.1.1'
322
327
  tcell_data.path = 'http://tcell.tcell.io/login?param_name=param_value'
323
328
  tcell_data.hmac_session_id = TCellAgent::SensorEvents::Util.hmac('session_id')
@@ -327,7 +332,7 @@ module TCellAgent
327
332
  'HTTP_X_FORWARDED_FOR' => true
328
333
  }
329
334
 
330
- expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LoginFraud).and_return(
335
+ expect(TCellAgent).to receive(:policy).with(TCellAgent::PolicyTypes::LOGINFRAUD).and_return(
331
336
  login_fraud
332
337
  )
333
338
  expect(rails_request).to receive(:env).and_return(request_env)
@@ -41,7 +41,7 @@ module TCellAgent
41
41
  }
42
42
  session_id_policy = TCellAgent::Policies::DataLossPolicy.from_json(policy_json_two)
43
43
  mock_agent = MockAgent.new(-1)
44
- mock_agent.policies[TCellAgent::PolicyTypes::DataLoss] = session_id_policy
44
+ mock_agent.policies[TCellAgent::PolicyTypes::DATALOSS] = session_id_policy
45
45
  TCellAgent.set_thread_agent(mock_agent)
46
46
 
47
47
  context = TCellData.new
@@ -66,7 +66,7 @@ module TCellAgent
66
66
  }
67
67
  session_id_policy = TCellAgent::Policies::DataLossPolicy.from_json(policy_json_two)
68
68
  mock_agent = MockAgent.new(-1)
69
- mock_agent.policies[TCellAgent::PolicyTypes::DataLoss] = session_id_policy
69
+ mock_agent.policies[TCellAgent::PolicyTypes::DATALOSS] = session_id_policy
70
70
  TCellAgent.set_thread_agent(mock_agent)
71
71
 
72
72
  context = TCellData.new
@@ -93,7 +93,7 @@ module TCellAgent
93
93
  }
94
94
  session_id_policy = TCellAgent::Policies::DataLossPolicy.from_json(policy_json_two)
95
95
  mock_agent = MockAgent.new(-1)
96
- mock_agent.policies[TCellAgent::PolicyTypes::DataLoss] = session_id_policy
96
+ mock_agent.policies[TCellAgent::PolicyTypes::DATALOSS] = session_id_policy
97
97
  TCellAgent.set_thread_agent(mock_agent)
98
98
 
99
99
  context = TCellData.new
@@ -118,7 +118,7 @@ module TCellAgent
118
118
  }
119
119
  session_id_policy = TCellAgent::Policies::DataLossPolicy.from_json(policy_json_two)
120
120
  mock_agent = MockAgent.new(-1)
121
- mock_agent.policies[TCellAgent::PolicyTypes::DataLoss] = session_id_policy
121
+ mock_agent.policies[TCellAgent::PolicyTypes::DATALOSS] = session_id_policy
122
122
  TCellAgent.set_thread_agent(mock_agent)
123
123
 
124
124
  context = TCellData.new
@@ -24,9 +24,9 @@ module TCellAgent
24
24
  logger = double('logger')
25
25
  request = double('request')
26
26
  expect(TCellAgent).to receive(:policy).with(
27
- TCellAgent::PolicyTypes::Rust
27
+ TCellAgent::PolicyTypes::RUST
28
28
  ).and_raise(StandardError.new('UNEXPECTED'))
29
- expect(TCellAgent::Patches::MetaData).to_not receive(:build)
29
+ expect(TCellAgent::MetaData).to_not receive(:from_request)
30
30
  expect(TCellAgent).to receive(:logger).and_return(logger).twice
31
31
  expect(logger).to receive(:debug).with(
32
32
  'Exception in safe_block Checking patches blocking: StandardError happened, message is UNEXPECTED'
@@ -41,7 +41,7 @@ module TCellAgent
41
41
  it 'should return false' do
42
42
  request = double('request')
43
43
  expect(TCellAgent).to receive(:policy).and_return(nil)
44
- expect(TCellAgent::Patches::MetaData).to_not receive(:build)
44
+ expect(TCellAgent::MetaData).to_not receive(:from_request)
45
45
 
46
46
  expect(Patches.block?(request)).to eq(false)
47
47
  end
@@ -53,7 +53,7 @@ module TCellAgent
53
53
  expect(@rust_policies.patches_enabled).to eq(false)
54
54
 
55
55
  expect(TCellAgent).to receive(:policy).and_return(@rust_policies)
56
- expect(TCellAgent::Patches::MetaData).to_not receive(:build)
56
+ expect(TCellAgent::MetaData).to_not receive(:from_request)
57
57
 
58
58
  expect(Patches.block?(request)).to eq(false)
59
59
  end
@@ -73,7 +73,7 @@ module TCellAgent
73
73
  TCellAgent::Instrumentation::TCELL_ID => tcell_context
74
74
  }
75
75
  )
76
- expect(TCellAgent::Patches::MetaData).to receive(:build).and_return(
76
+ expect(TCellAgent::MetaData).to receive(:from_request).and_return(
77
77
  meta_data
78
78
  )
79
79
 
@@ -92,7 +92,7 @@ module TCellAgent
92
92
  expect(TCellAgent).to receive(:policy).and_return(@rust_policies)
93
93
  expect(@rust_policies).to receive(:patches_enabled).and_return(true)
94
94
  expect(@rust_policies).to receive(:block_request?).and_return(true)
95
- expect(TCellAgent::Patches::MetaData).to receive(:build).and_return(
95
+ expect(TCellAgent::MetaData).to receive(:from_request).and_return(
96
96
  meta_data
97
97
  )
98
98
  expect(request).to receive(:env).and_return({ TCellAgent::Instrumentation::TCELL_ID => tcell_context })
@@ -105,7 +105,7 @@ module TCellAgent
105
105
  context "and that's complex" do
106
106
  it 'should return a response' do
107
107
  request = double('request')
108
- meta_data = TCellAgent::Patches::MetaData.new(
108
+ meta_data = TCellAgent::MetaData.new(
109
109
  'get',
110
110
  '2.3.4.5',
111
111
  'route_id',
@@ -122,7 +122,7 @@ module TCellAgent
122
122
  expect(TCellAgent).to receive(:policy).and_return(@rust_policies)
123
123
  expect(@rust_policies).to receive(:patches_enabled).and_return(true)
124
124
  expect(@rust_policies).to receive(:block_request?).and_return(true)
125
- expect(TCellAgent::Patches::MetaData).to receive(:build).and_return(
125
+ expect(TCellAgent::MetaData).to receive(:from_request).and_return(
126
126
  meta_data
127
127
  )
128
128
  expect(request).to receive(:env).and_return({ TCellAgent::Instrumentation::TCELL_ID => tcell_context })
@@ -266,7 +266,7 @@ module TCellAgent
266
266
  expect(TCellAgent).to receive(:configuration).and_return(configuration).at_least(:once)
267
267
  @rust_policies = RustPolicies.new
268
268
  @rust_policies.update_policies(everything_enabled_policy_json)
269
- @appsensor_meta = TCellAgent::SensorEvents::AppSensorMetaEvent.new(
269
+ @meta_data = TCellAgent::MetaData.new(
270
270
  'GET',
271
271
  '192.168.1.1',
272
272
  '12345',
@@ -275,8 +275,8 @@ module TCellAgent
275
275
  'transaction_id',
276
276
  'http://test.com/?some_param=present'
277
277
  )
278
- @appsensor_meta.user_agent = 'Mozilla'
279
- @appsensor_meta.response_code = 200
278
+ @meta_data.user_agent = 'Mozilla'
279
+ @meta_data.response_code = 200
280
280
  end
281
281
 
282
282
  context 'csrf exception' do
@@ -284,9 +284,9 @@ module TCellAgent
284
284
  it 'should not send an event' do
285
285
  expect(TCellAgent).to_not receive(:send_event)
286
286
 
287
- @appsensor_meta.csrf_exception_name = nil
287
+ @meta_data.csrf_exception_name = nil
288
288
  @rust_policies.check_appfirewall_injections(
289
- @appsensor_meta
289
+ @meta_data
290
290
  )
291
291
  end
292
292
  end
@@ -295,9 +295,9 @@ module TCellAgent
295
295
  it 'should not send an event' do
296
296
  expect(TCellAgent).to_not receive(:send_event)
297
297
 
298
- @appsensor_meta.csrf_exception_name = ''
298
+ @meta_data.csrf_exception_name = ''
299
299
  @rust_policies.check_appfirewall_injections(
300
- @appsensor_meta
300
+ @meta_data
301
301
  )
302
302
  end
303
303
  end
@@ -319,9 +319,9 @@ module TCellAgent
319
319
  }
320
320
  )
321
321
 
322
- @appsensor_meta.csrf_exception_name = 'ActionController::InvalidAuthenticityToken'
322
+ @meta_data.csrf_exception_name = 'ActionController::InvalidAuthenticityToken'
323
323
  @rust_policies.check_appfirewall_injections(
324
- @appsensor_meta
324
+ @meta_data
325
325
  )
326
326
  end
327
327
  end
@@ -332,9 +332,9 @@ module TCellAgent
332
332
  it 'should not send an event' do
333
333
  expect(TCellAgent).to_not receive(:send_event)
334
334
 
335
- @appsensor_meta.sql_exceptions = []
335
+ @meta_data.sql_exceptions = []
336
336
  @rust_policies.check_appfirewall_injections(
337
- @appsensor_meta
337
+ @meta_data
338
338
  )
339
339
  end
340
340
  end
@@ -361,12 +361,12 @@ module TCellAgent
361
361
  }
362
362
  )
363
363
 
364
- @appsensor_meta.sql_exceptions = [{
364
+ @meta_data.sql_exceptions = [{
365
365
  'exception_name' => 'ActiveRecord::StatementInvalid',
366
366
  'exception_payload' => 'exception message goes here'
367
367
  }]
368
368
  @rust_policies.check_appfirewall_injections(
369
- @appsensor_meta
369
+ @meta_data
370
370
  )
371
371
  end
372
372
  end
@@ -408,7 +408,7 @@ module TCellAgent
408
408
  }
409
409
  )
410
410
 
411
- @appsensor_meta.sql_exceptions = [
411
+ @meta_data.sql_exceptions = [
412
412
  {
413
413
  'exception_name' => 'ActiveRecord::StatementInvalid',
414
414
  'exception_payload' => 'exception message goes here'
@@ -419,7 +419,7 @@ module TCellAgent
419
419
  }
420
420
  ]
421
421
  @rust_policies.check_appfirewall_injections(
422
- @appsensor_meta
422
+ @meta_data
423
423
  )
424
424
  end
425
425
  end
@@ -430,9 +430,9 @@ module TCellAgent
430
430
  it 'should not send an event' do
431
431
  expect(TCellAgent).to_not receive(:send_event)
432
432
 
433
- @appsensor_meta.database_result_sizes = nil
433
+ @meta_data.database_result_sizes = nil
434
434
  @rust_policies.check_appfirewall_injections(
435
- @appsensor_meta
435
+ @meta_data
436
436
  )
437
437
  end
438
438
  end
@@ -441,9 +441,9 @@ module TCellAgent
441
441
  it 'should not send an event' do
442
442
  expect(TCellAgent).to_not receive(:send_event)
443
443
 
444
- @appsensor_meta.database_result_sizes = []
444
+ @meta_data.database_result_sizes = []
445
445
  @rust_policies.check_appfirewall_injections(
446
- @appsensor_meta
446
+ @meta_data
447
447
  )
448
448
  end
449
449
  end
@@ -465,9 +465,9 @@ module TCellAgent
465
465
  }
466
466
  )
467
467
 
468
- @appsensor_meta.database_result_sizes = [1001]
468
+ @meta_data.database_result_sizes = [1001]
469
469
  @rust_policies.check_appfirewall_injections(
470
- @appsensor_meta
470
+ @meta_data
471
471
  )
472
472
  end
473
473
  end
@@ -503,9 +503,9 @@ module TCellAgent
503
503
  }
504
504
  )
505
505
 
506
- @appsensor_meta.database_result_sizes = [1001, 1002]
506
+ @meta_data.database_result_sizes = [1001, 1002]
507
507
  @rust_policies.check_appfirewall_injections(
508
- @appsensor_meta
508
+ @meta_data
509
509
  )
510
510
  end
511
511
  end