tcell_agent 0.2.19 → 0.2.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE_libinjection +32 -0
  3. data/Rakefile +14 -1
  4. data/ext/libinjection/extconf.rb +3 -0
  5. data/ext/libinjection/libinjection.h +65 -0
  6. data/ext/libinjection/libinjection_html5.c +847 -0
  7. data/ext/libinjection/libinjection_html5.h +54 -0
  8. data/ext/libinjection/libinjection_sqli.c +2317 -0
  9. data/ext/libinjection/libinjection_sqli.h +295 -0
  10. data/ext/libinjection/libinjection_sqli_data.h +9004 -0
  11. data/ext/libinjection/libinjection_wrap.c +3525 -0
  12. data/ext/libinjection/libinjection_xss.c +531 -0
  13. data/ext/libinjection/libinjection_xss.h +21 -0
  14. data/lib/tcell_agent/configuration.rb +0 -48
  15. data/lib/tcell_agent/logger.rb +1 -0
  16. data/lib/tcell_agent/policies/appsensor/database_sensor.rb +8 -20
  17. data/lib/tcell_agent/policies/appsensor/injection_sensor.rb +30 -46
  18. data/lib/tcell_agent/policies/appsensor/login_sensor.rb +1 -4
  19. data/lib/tcell_agent/policies/appsensor/misc_sensor.rb +8 -22
  20. data/lib/tcell_agent/policies/appsensor/payloads_policy.rb +143 -0
  21. data/lib/tcell_agent/policies/appsensor/response_codes_sensor.rb +3 -1
  22. data/lib/tcell_agent/policies/appsensor/sensor.rb +21 -2
  23. data/lib/tcell_agent/policies/appsensor/size_sensor.rb +3 -1
  24. data/lib/tcell_agent/policies/appsensor/sqli_sensor.rb +9 -0
  25. data/lib/tcell_agent/policies/appsensor/user_agent_sensor.rb +1 -5
  26. data/lib/tcell_agent/policies/appsensor/xss_sensor.rb +9 -1
  27. data/lib/tcell_agent/policies/appsensor_policy.rb +40 -19
  28. data/lib/tcell_agent/policies/http_redirect_policy.rb +12 -2
  29. data/lib/tcell_agent/rails/csrf_exception.rb +1 -1
  30. data/lib/tcell_agent/rails/dlp.rb +98 -76
  31. data/lib/tcell_agent/rails/middleware/global_middleware.rb +1 -2
  32. data/lib/tcell_agent/rails/middleware/headers_middleware.rb +2 -2
  33. data/lib/tcell_agent/rails/on_start.rb +53 -20
  34. data/lib/tcell_agent/sensor_events/appsensor_event.rb +12 -19
  35. data/lib/tcell_agent/sensor_events/appsensor_meta_event.rb +7 -2
  36. data/lib/tcell_agent/sensor_events/sensor.rb +10 -11
  37. data/lib/tcell_agent/sensor_events/server_agent.rb +17 -12
  38. data/lib/tcell_agent/sensor_events/util/sanitizer_utilities.rb +148 -139
  39. data/lib/tcell_agent/utils/params.rb +24 -21
  40. data/lib/tcell_agent/version.rb +1 -1
  41. data/spec/lib/tcell_agent/configuration_spec.rb +0 -179
  42. data/spec/lib/tcell_agent/policies/appsensor/database_sensor_spec.rb +6 -4
  43. data/spec/lib/tcell_agent/policies/appsensor/misc_sensor_spec.rb +31 -22
  44. data/spec/lib/tcell_agent/policies/appsensor/payloads_policy_apply_spec.rb +466 -0
  45. data/spec/lib/tcell_agent/policies/appsensor/payloads_policy_from_json_spec.rb +890 -0
  46. data/spec/lib/tcell_agent/policies/appsensor/payloads_policy_log_spec.rb +484 -0
  47. data/spec/lib/tcell_agent/policies/appsensor/request_size_sensor_spec.rb +4 -3
  48. data/spec/lib/tcell_agent/policies/appsensor/response_codes_sensor_spec.rb +4 -4
  49. data/spec/lib/tcell_agent/policies/appsensor/response_size_sensor_spec.rb +1 -1
  50. data/spec/lib/tcell_agent/policies/appsensor/sqli_sensor_spec.rb +85 -0
  51. data/spec/lib/tcell_agent/policies/appsensor/user_agent_sensor_spec.rb +36 -16
  52. data/spec/lib/tcell_agent/policies/appsensor/xss_sensor_spec.rb +188 -312
  53. data/spec/lib/tcell_agent/policies/appsensor_policy_spec.rb +61 -0
  54. data/spec/lib/tcell_agent/rails/middleware/appsensor_middleware_spec.rb +18 -11
  55. data/spec/lib/tcell_agent/rails/middleware/redirect_middleware_spec.rb +14 -15
  56. data/spec/lib/tcell_agent/sensor_events/appsensor_meta_event_spec.rb +1 -1
  57. data/spec/lib/tcell_agent/sensor_events/util/sanitizer_utilities_spec.rb +6 -5
  58. data/spec/lib/tcell_agent/utils/params_spec.rb +28 -108
  59. data/tcell_agent.gemspec +21 -1
  60. metadata +37 -4
@@ -62,7 +62,7 @@ module TCellAgent
62
62
  sensor = UserAgentSensor.new({"enabled" => false, "empty_enabled" => false})
63
63
  @meta.user_agent = nil
64
64
 
65
- expect(sensor).to_not receive(:send_event)
65
+ expect(TCellAgent).to_not receive(:send_event)
66
66
  sensor.check(@meta)
67
67
  end
68
68
  end
@@ -72,7 +72,7 @@ module TCellAgent
72
72
  sensor = UserAgentSensor.new({"enabled" => false, "empty_enabled" => false})
73
73
  @meta.user_agent = "Mozilla"
74
74
 
75
- expect(sensor).to_not receive(:send_event)
75
+ expect(TCellAgent).to_not receive(:send_event)
76
76
  sensor.check(@meta)
77
77
  end
78
78
  end
@@ -87,9 +87,14 @@ module TCellAgent
87
87
  it "should send event" do
88
88
  @meta.user_agent = ""
89
89
 
90
- expect(@sensor).to receive(:send_event).with(
91
- @meta, UserAgentSensor::DP_CODE, nil, nil
92
- )
90
+ expect(TCellAgent).to receive(:send_event).with({
91
+ "event_type"=>"as",
92
+ "dp"=>UserAgentSensor::DP_CODE,
93
+ "param"=>nil,
94
+ "remote_addr"=>"remote_address",
95
+ "m"=>"get",
96
+ "rid"=>"route_id"
97
+ })
93
98
  @sensor.check(@meta)
94
99
  end
95
100
 
@@ -98,9 +103,14 @@ module TCellAgent
98
103
  @meta.user_agent = ""
99
104
  @sensor.excluded_route_ids = {}
100
105
 
101
- expect(@sensor).to receive(:send_event).with(
102
- @meta, UserAgentSensor::DP_CODE, nil, nil
103
- )
106
+ expect(TCellAgent).to receive(:send_event).with({
107
+ "event_type"=>"as",
108
+ "dp"=>UserAgentSensor::DP_CODE,
109
+ "param"=>nil,
110
+ "remote_addr"=>"remote_address",
111
+ "m"=>"get",
112
+ "rid"=>"route_id"
113
+ })
104
114
  @sensor.check(@meta)
105
115
  end
106
116
  end
@@ -111,7 +121,7 @@ module TCellAgent
111
121
  @meta.user_agent = ""
112
122
  @sensor.excluded_route_ids = {"route_id" => true}
113
123
 
114
- expect(@sensor).to_not receive(:send_event)
124
+ expect(TCellAgent).to_not receive(:send_event)
115
125
  @sensor.check(@meta)
116
126
  end
117
127
  end
@@ -120,9 +130,14 @@ module TCellAgent
120
130
  @meta.user_agent = ""
121
131
  @sensor.excluded_route_ids = {"nonmatching" => true}
122
132
 
123
- expect(@sensor).to receive(:send_event).with(
124
- @meta, UserAgentSensor::DP_CODE, nil, nil
125
- )
133
+ expect(TCellAgent).to receive(:send_event).with({
134
+ "event_type"=>"as",
135
+ "dp"=>UserAgentSensor::DP_CODE,
136
+ "param"=>nil,
137
+ "remote_addr"=>"remote_address",
138
+ "m"=>"get",
139
+ "rid"=>"route_id"
140
+ })
126
141
  @sensor.check(@meta)
127
142
  end
128
143
  end
@@ -133,9 +148,14 @@ module TCellAgent
133
148
  it "should not send event" do
134
149
  @meta.user_agent = "\n \t \s"
135
150
 
136
- expect(@sensor).to receive(:send_event).with(
137
- @meta, UserAgentSensor::DP_CODE, nil, nil
138
- )
151
+ expect(TCellAgent).to receive(:send_event).with({
152
+ "event_type"=>"as",
153
+ "dp"=>UserAgentSensor::DP_CODE,
154
+ "param"=>nil,
155
+ "remote_addr"=>"remote_address",
156
+ "m"=>"get",
157
+ "rid"=>"route_id"
158
+ })
139
159
  @sensor.check(@meta)
140
160
  end
141
161
  end
@@ -144,7 +164,7 @@ module TCellAgent
144
164
  it "should not send event" do
145
165
  @meta.user_agent = "Mozilla"
146
166
 
147
- expect(@sensor).to_not receive(:send_event)
167
+ expect(TCellAgent).to_not receive(:send_event)
148
168
  @sensor.check(@meta)
149
169
  end
150
170
  end