tcell_agent 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
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