Sha256: 7454c77f4fed0f132225620ed74d9c33b24a8e74f7658ed82a79ed5485097bde
Contents?: true
Size: 1.44 KB
Versions: 29
Compression:
Stored size: 1.44 KB
Contents
# typed: ignore # Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/terms.html module Sqreen module Legacy module WafRedactions class << self def redact_attacks!(attacks, values) return attacks if values.empty? values = values.map { |v| v.downcase if v.is_a?(String) } attacks.each do |e| next(e) unless e[:infos] next(e) unless e[:infos][:waf_data] parsed = JSON.parse(e[:infos][:waf_data]) redacted = parsed.each do |w| next unless (filters = w['filter']) filters.each do |f| next unless (v = f['resolved_value']) next unless values.include?(v.downcase) f['match_status'] = SensitiveDataRedactor::MASK f['resolved_value'] = SensitiveDataRedactor::MASK end end e[:infos][:waf_data] = JSON.dump(redacted) end end # see https://github.com/sqreen/TechDoc/blob/master/content/specs/spec000022-waf-data-sanitization.md#changes-to-the-agents def redact_exceptions!(exceptions, values) return exceptions if values.empty? exceptions.each do |e| next(e) unless e[:infos] next(e) unless e[:infos][:waf] e[:infos][:waf].delete(:args) end end end end end end
Version data entries
29 entries across 29 versions & 1 rubygems