Module: Aikido::Zen::Sinks::Trilogy

Defined in:
lib/aikido/zen/sinks/trilogy.rb

Defined Under Namespace

Modules: Helpers

Constant Summary collapse

SINK =
Sinks.add("trilogy", scanners: [Scanners::SQLInjectionScanner])

Class Method Summary collapse

Class Method Details

.load_sinks!Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/aikido/zen/sinks/trilogy.rb', line 14

def self.load_sinks!
  if Aikido::Zen.satisfy "trilogy", ">= 2.0"
    require "trilogy"

    ::Trilogy.class_eval do
      extend Sinks::DSL

      presafe_sink_before :query do |sql|
        Sinks::DSL.safe do
          Helpers.scan(sql, "query")
        end

        Aikido::Zen.idor_protect(sql, :mysql)
      end
    end
  end
end