rapid7/metasploit-framework

View on GitHub

Showing 15,730 of 21,757 total issues

File exe.rb has 1416 lines of code (exceeds 250 allowed). Consider refactoring.
Open

module Msf
module Util
#
# The class provides methods for creating and encoding executable file
# formats for various platforms. It is a replacement for the previous
Severity: Major
Found in lib/msf/util/exe.rb - About 3 days to fix

    File client.rb has 1386 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    module Rex
    module Proto
    module SMB
    class Client
    
    
    Severity: Major
    Found in lib/rex/proto/smb/client.rb - About 3 days to fix

      File modules.rb has 1365 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      module Msf
        module Ui
          module Console
            module CommandDispatcher
      
      
      Severity: Major
      Found in lib/msf/ui/console/command_dispatcher/modules.rb - About 3 days to fix

        Method run has 714 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

          def run
            print_status("Running MS SQL Server Enumeration...")
            if session
              set_session(session.client)
            else
        Severity: Major
        Found in modules/auxiliary/admin/mssql/mssql_enum.rb - About 3 days to fix

          Method run_host has 709 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

            def run_host(ip)
          
              begin
                snmp = connect_snmp
          
          
          Severity: Major
          Found in modules/auxiliary/scanner/snmp/snmp_enum.rb - About 3 days to fix

            File core.rb has 1333 lines of code (exceeds 250 allowed). Consider refactoring.
            Open

            require 'set'
            require 'rex/post/meterpreter'
            require 'rex'
            
            module Rex
            Severity: Major
            Found in lib/rex/post/meterpreter/ui/console/command_dispatcher/core.rb - About 3 days to fix

              File constants.rb has 1171 lines of code (exceeds 250 allowed). Consider refactoring.
              Open

              module Rex
              module Proto
              module SMB
              class Constants
              
              
              Severity: Major
              Found in lib/rex/proto/smb/constants.rb - About 3 days to fix

                Method run has 602 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                  def run
                    return if not check_dependencies
                
                    begin
                      # Get all values from v$parameter
                Severity: Major
                Found in modules/auxiliary/admin/oracle/oraenum.rb - About 3 days to fix

                  Method run_host has a Cognitive Complexity of 143 (exceeds 5 allowed). Consider refactoring.
                  Open

                    def run_host(ip)
                  
                      begin
                        snmp = connect_snmp
                  
                  
                  Severity: Minor
                  Found in modules/auxiliary/scanner/snmp/snmp_enum.rb - About 2 days to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Method html_get_hash has a Cognitive Complexity of 138 (exceeds 5 allowed). Consider refactoring.
                  Open

                    def html_get_hash(arg = {})
                      ntlm_ver = arg[:ntlm_ver]
                      if ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE or ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE
                        lm_hash = arg[:lm_hash]
                        nt_hash = arg[:nt_hash]
                  Severity: Minor
                  Found in modules/auxiliary/server/capture/http_ntlm.rb - About 2 days to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Method mssql_get_hash has a Cognitive Complexity of 135 (exceeds 5 allowed). Consider refactoring.
                  Open

                    def mssql_get_hash(arg = {})
                      ntlm_ver = arg[:ntlm_ver]
                      if ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE or ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE
                        lm_hash = arg[:lm_hash]
                        nt_hash = arg[:nt_hash]
                  Severity: Minor
                  Found in modules/auxiliary/server/capture/mssql.rb - About 2 days to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  File rdp.rb has 1073 lines of code (exceeds 250 allowed). Consider refactoring.
                  Open

                  module Msf
                  
                  ###
                  #
                  # This module exposes methods for interacting with a remote RDP service
                  Severity: Major
                  Found in lib/msf/core/exploit/remote/rdp.rb - About 2 days to fix

                    Method cmd_wmap_run has 541 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                          def cmd_wmap_run(*args)
                            # Stop everything
                            self.masstop = false
                            self.killwhenstop = true
                    
                    
                    Severity: Major
                    Found in plugins/wmap.rb - About 2 days to fix

                      File windows_secrets_dump.rb has 1041 lines of code (exceeds 250 allowed). Consider refactoring.
                      Open

                      require 'ruby_smb/dcerpc/client'
                      
                      class MetasploitModule < Msf::Auxiliary
                        include Msf::Exploit::Remote::SMB::Client::Authenticated
                        include Msf::Exploit::Remote::DCERPC
                      Severity: Major
                      Found in modules/auxiliary/gather/windows_secrets_dump.rb - About 2 days to fix

                        Method run has a Cognitive Complexity of 129 (exceeds 5 allowed). Consider refactoring.
                        Open

                        def run
                          @show_progress = datastore['ShowProgress']
                          @show_percent  = datastore['ShowProgressPercent'].to_i
                        
                          if self.respond_to?(:session) && session
                        Severity: Minor
                        Found in lib/msf/core/auxiliary/scanner.rb - About 2 days to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        File rpc_db.rb has 1013 lines of code (exceeds 250 allowed). Consider refactoring.
                        Open

                        module Msf
                        module RPC
                        class RPC_Db < RPC_Base
                        
                        private
                        Severity: Major
                        Found in lib/msf/core/rpc/v10/rpc_db.rb - About 2 days to fix

                          File sys.rb has 1012 lines of code (exceeds 250 allowed). Consider refactoring.
                          Open

                          require 'rex/post/meterpreter'
                          require 'rex/post/meterpreter/extensions/stdapi/command_ids'
                          
                          module Rex
                          module Post
                          Severity: Major
                          Found in lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/sys.rb - About 2 days to fix

                            Method create_library has 501 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                              def self.create_library(constant_manager, library_path = 'ws2_32')
                                dll = Library.new(library_path, constant_manager)
                            
                                dll.add_function('getaddrinfo', 'DWORD',[
                                  ["PCHAR","pNodeName","in"],

                              Method get_registry has a Cognitive Complexity of 123 (exceeds 5 allowed). Consider refactoring.
                              Open

                                def get_registry(outlook_ver)
                                  # Determine if saved accounts exist within Outlook.  Ignore the Address Book and Personal Folder registry entries.
                                  outlook_exists = 0
                                  saved_accounts = 0
                              
                              
                              Severity: Minor
                              Found in modules/post/windows/gather/credentials/outlook.rb - About 2 days to fix

                              Cognitive Complexity

                              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                              A method's cognitive complexity is based on a few simple rules:

                              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                              • Code is considered more complex for each "break in the linear flow of the code"
                              • Code is considered more complex when "flow breaking structures are nested"

                              Further reading

                              File error.rb has 970 lines of code (exceeds 250 allowed). Consider refactoring.
                              Open

                              class RbMysql
                                class Error < StandardError
                                  ERRNO = 0
                              
                                  def self.define_error_class(prefix_re)
                              Severity: Major
                              Found in lib/rbmysql/error.rb - About 2 days to fix
                                Severity
                                Category
                                Status
                                Source
                                Language