Sha256: d5c2b863e8285b66d45b9147eae81a701a06b5b97e41cb4eae0c929da1ef883a

Contents?: true

Size: 994 Bytes

Versions: 9

Compression:

Stored size: 994 Bytes

Contents

# This module handles security checks for RubyGems framework.
module Dawn
  module Kb
    class RubygemCheck
      include BasicCheck

      attr_accessor :safe_versions
      attr_accessor :my_gem_version

      def initialize(options)
        super(options)
        @safe_versions  ||= options[:safe_versions]
        @my_gem_version ||= options[:my_gem_version]

        @my_gem_version = take_gem_version_from_system if @my_gem_version.nil?
      end

      def take_gem_version_from_system
        require 'rubygems'
        return Gem::VERSION
      end

      def vuln?
        debug_me "here"
        @safe_versions.each do |sv|
          v = Dawn::Kb::VersionCheck.new(
            {
              :safe=>sv[:version],
              :detected=>@my_gem_version,
              :save_minor => true,
              :save_major => false,
            }
          )
          v.debug = self.debug
          return true if v.vuln?
        end

        return false
      end

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
dawnscanner-2.2.0 lib/dawn/kb/rubygem_check.rb
dawnscanner-2.1.1 lib/dawn/kb/rubygem_check.rb
dawnscanner-2.1.0 lib/dawn/kb/rubygem_check.rb
dawnscanner-2.0.0 lib/dawn/kb/rubygem_check.rb
dawnscanner-2.0.0.rc5 lib/dawn/kb/rubygem_check.rb
dawnscanner-2.0.0.rc4 lib/dawn/kb/rubygem_check.rb
dawnscanner-2.0.0.rc3 lib/dawn/kb/rubygem_check.rb
dawnscanner-2.0.0.rc2 lib/dawn/kb/rubygem_check.rb
dawnscanner-2.0.0.rc1 lib/dawn/kb/rubygem_check.rb