immunio 1.1.5 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1892a99bb27797888c8589ad7404d94c8bff8d92
4
- data.tar.gz: b278c5b969f0431650d241b0a26499513a469b3a
3
+ metadata.gz: 26f001c2c60f9b1529d0b5e98c0352b7171f0efc
4
+ data.tar.gz: b4ce5d424d95435e048057766fbff2f86862c2cc
5
5
  SHA512:
6
- metadata.gz: 177fe3c9024f2bc8ac4451eb8913c6c7c9c54a32592b2f33aa19d17eaf14c747786b1f180d22d56e8600f91186a840d6c2077e608336585b1d70538769ccbf15
7
- data.tar.gz: 86adfa4ca69c87354f8d8d6bbc01d01d78c98958b3bd9e0ada2d406e95a70489c5e722c42a730ed65848ea0fda4a1882b1090b91e08c8733291f91f4b77ad878
6
+ metadata.gz: 63ca57ac77abbd1488c5dd425a91c3faa95c7ae87ccd43798279246f013dac88c957fccc200876cdd8b7077748452819986ddb95ba0a534274808ee89ed9630d
7
+ data.tar.gz: 8fb5fc3f10c09fabe8cbbac5cb288e7563b37fbe6f60c51a3f68801f2a19fdcf592498c71cfda0d0d116ec13dfa5b9a82b4e77e47750c6221b9da00bb812b231
data/lib/immunio/agent.rb CHANGED
@@ -7,9 +7,11 @@ require_relative "processor"
7
7
  module Immunio
8
8
  @agent = nil
9
9
 
10
+ CODE_PROTECTION_PLUGINS = %w(xss file_io redirect sqli shell_command).freeze
11
+
10
12
  # Plugins that are enabled by default. Override using the `plugins_enabled`
11
13
  # and `plugins_disabled` configuration settings.
12
- DEFAULT_PLUGINS = ["xss", "file_io", "redirect", "sqli", "shell_command"]
14
+ DEFAULT_PLUGINS = CODE_PROTECTION_PLUGINS.dup.freeze
13
15
 
14
16
  CONFIG_FILENAME = "immunio.yml"
15
17
 
@@ -70,6 +72,13 @@ module Immunio
70
72
  # purposes.
71
73
  config_accessor :vm_data
72
74
 
75
+ # When false (default), this will prevent hooking for code
76
+ # protection (xss, file_io, redirect, sqli and shell_command) and this
77
+ # will prevent them from being enabled individually.
78
+ # When true, plugins can still be disabled. However, if not enabled in
79
+ # the backend, the hook vm code will be missing.
80
+ config_accessor :code_protection_plugins_enabled
81
+
73
82
  def initialize
74
83
  Immunio.logger.info { "Initializing agent version #{VERSION} for process #{Process.pid}" }
75
84
 
@@ -95,6 +104,7 @@ module Immunio
95
104
  # Default to empty lists for enabled and disabled
96
105
  config.plugins_enabled = []
97
106
  config.plugins_disabled = []
107
+ config.code_protection_plugins_enabled = false
98
108
  config.agent_enabled = true
99
109
  config.safe_script_tag_contexts = []
100
110
  config.vm_data = {}
@@ -208,6 +218,10 @@ module Immunio
208
218
  end
209
219
 
210
220
  def plugin_enabled?(plugin)
221
+ if CODE_PROTECTION_PLUGINS.include?(plugin)
222
+ return false unless config.code_protection_plugins_enabled
223
+ end
224
+
211
225
  # Check if the specified `plugin` is enabled based on the Agent config.
212
226
  config.plugins_active.member?(plugin)
213
227
  end
@@ -1,5 +1,5 @@
1
1
  module Immunio
2
2
  AGENT_TYPE = "agent-ruby"
3
- VERSION = "1.1.5"
3
+ VERSION = "1.1.6"
4
4
  VM_VERSION = "2.2.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: immunio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Immunio
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-30 00:00:00.000000000 Z
11
+ date: 2017-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -465,7 +465,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
465
465
  version: '0'
466
466
  requirements: []
467
467
  rubyforge_project:
468
- rubygems_version: 2.6.4
468
+ rubygems_version: 2.4.5.1
469
469
  signing_key:
470
470
  specification_version: 4
471
471
  summary: Immunio Ruby agent