Skip to content

Bundler cannot continue #8993

Description

@thetsopotsa1

--- ERROR REPORT TEMPLATE -------------------------------------------------------

Errno::EINVAL: Invalid argument @ rb_sysopen - /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/cache/metasploit_payloads-mettle-1.0.45.gem
  /usr/lib/ruby/vendor_ruby/rubygems/package/file_source.rb:18:in `read'
          /usr/lib/ruby/vendor_ruby/rubygems/package/file_source.rb:18:in `start'
          /usr/lib/ruby/vendor_ruby/rubygems/package.rb:161:in `new'
          /usr/lib/ruby/vendor_ruby/rubygems/installer.rb:114:in `at'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/source/rubygems.rb:172:in `install'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/installer/gem_installer.rb:55:in `install'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/installer/gem_installer.rb:17:in `install_from_spec'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/installer/parallel_installer.rb:133:in `do_install'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/installer/parallel_installer.rb:124:in `block in worker_pool'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/worker.rb:62:in `apply_func'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/worker.rb:57:in `block in process_queue'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/worker.rb:54:in `loop'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/worker.rb:54:in `process_queue'
          /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/gems/bundler-2.5.22/lib/bundler/worker.rb:90:in `block (2 levels) in create_threads'

Environment

Bundler       2.5.22
  Platforms   ruby, x86_64-linux-gnu
Ruby          3.2.3p157 (2024-01-18 revision 52bb2ac0a6971d0391efa2275f7a66bff319087c) [x86_64-linux-gnu]
  Full Path   /usr/bin/ruby3.2
  Config Dir  /etc
RubyGems      3.4.20
  Gem Home    /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0
  Gem Path    /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0
  User Home   /home/amost
  User Path   /home/amost/.local/share/gem/ruby/3.2.0
  Bin Dir     /home/amost/metasploit-framework/vendor/bundle/ruby/3.2.0/bin
OpenSSL
  Compiled    OpenSSL 3.0.13 30 Jan 2024
  Loaded      OpenSSL 3.0.13 30 Jan 2024
  Cert File   /usr/lib/ssl/cert.pem
  Cert Dir    /usr/lib/ssl/certs
Tools
  Git         2.43.0
  RVM         not installed
  rbenv       not installed
  chruby      not installed
Gem.ruby      /usr/bin/ruby3.2
bundle #!     /usr/bin/ruby

Bundler Build Metadata

Built At          2024-10-16
Git SHA           342d4542fda
Released Version  true

Bundler settings

disable_version_check
  Set for your local app (/home/amost/metasploit-framework/.bundle/config): true
jobs
  Set for the current command: 4
path
  Set for your local app (/home/amost/metasploit-framework/.bundle/config): "vendor/bundle"

Gemfile

Gemfile

source 'https://rubygems.org'
# Add default group gems to `metasploit-framework.gemspec`:
#   spec.add_runtime_dependency '<name>', [<version requirements>]
gemspec name: 'metasploit-framework'

# separate from test as simplecov is not run on travis-ci
group :coverage do
  # code coverage for tests
  gem 'simplecov', '0.18.2'
end

group :development do
  # Markdown formatting for yard
  gem 'redcarpet'
  # generating documentation
  gem 'yard'
  # for development and testing purposes
  gem 'pry-byebug'
  # Ruby Debugging Library - rebuilt and included by default from Ruby 3.1 onwards.
  # Replaces the old lib/debug.rb and provides more features.
  gem 'debug', '>= 1.0.0'
  # module documentation
  gem 'octokit'
  # memory profiling
  gem 'memory_profiler'
  # cpu profiling
  gem 'ruby-prof'
  # Metasploit::Aggregator external session proxy
  # disabled during 2.5 transition until aggregator is available
  # gem 'metasploit-aggregator'
end

group :development, :test do
  # For ./tools/dev/update_gem_licenses.sh
  gem 'license_finder', '5.11.1'
  # running documentation generation tasks and rspec tasks
  gem 'rake'
  # Define `rake spec`.  Must be in development AND test so that its available by default as a rake test when the
  # environment is development
  gem 'rspec-rails'
  gem 'rspec-rerun'
  # Required during CI as well local development
  gem 'rubocop', '1.75.7'
end

group :test do
  # automatically include factories from spec/factories
  gem 'test-prof'
  gem 'factory_bot_rails'
  # Make rspec output shorter and more useful
  gem 'fivemat'
  # rspec formatter for acceptance tests
  gem 'allure-rspec'
  # Manipulate Time.now in specs
  gem 'timecop'
end

Gemfile.lock

PATH
  remote: .
  specs:
    metasploit-framework (6.4.91)
      aarch64
      abbrev
      actionpack (~> 7.2.0)
      activerecord (~> 7.2.0)
      activesupport (~> 7.2.0)
      aws-sdk-ec2
      aws-sdk-ec2instanceconnect
      aws-sdk-iam
      aws-sdk-s3
      aws-sdk-ssm
      base64
      bcrypt
      bcrypt_pbkdf
      benchmark
      bigdecimal
      bootsnap
      bson
      chunky_png
      csv
      dnsruby
      drb
      ed25519
      elftools
      em-http-request
      eventmachine
      faker
      faraday (= 2.7.11)
      faraday-retry
      faye-websocket
      ffi (< 1.17.0)
      fiddle
      filesize
      getoptlong
      hrr_rb_ssh-ed25519
      http-cookie
      irb
      jsobfu
      json
      lru_redux
      metasm
      metasploit-concern
      metasploit-credential
      metasploit-model
      metasploit-payloads (= 2.0.221)
      metasploit_data_models (>= 6.0.7)
      metasploit_payloads-mettle (= 1.0.45)
      mqtt
      msgpack (~> 1.6.0)
      mutex_m
      nessus_rest
      net-imap
      net-ldap
      net-sftp
      net-smtp
      net-ssh
      network_interface
      nexpose
      nokogiri
      octokit (~> 4.0)
      openssl-ccm
      openvas-omp
      ostruct
      packetfu
      parallel
      patch_finder
      pcaprub
      pdf-reader
      pg
      puma
      rack
      railties
      rasn1 (= 0.14.0)
      rb-readline
      recog
      redcarpet
      reline
      rex-arch
      rex-bin_tools
      rex-core
      rex-encoder
      rex-exploitation
      rex-java
      rex-mime
      rex-nop
      rex-ole
      rex-powershell
      rex-random_identifier
      rex-registry
      rex-rop_builder
      rex-socket
      rex-sslscan
      rex-struct2
      rex-text
      rex-zip
      rinda
      ruby-macho
      ruby-mysql
      ruby_smb (~> 3.3.15)
      rubyntlm
      rubyzip
      sinatra
      sqlite3 (= 1.7.3)
      sshkey
      stringio (= 3.1.1)
      swagger-blocks
      syslog
      thin
      tzinfo
      tzinfo-data
      unix-crypt
      warden
      win32api
      windows_error
      winrm
      xdr
      xmlrpc
      zeitwerk

GEM
  remote: https://rubygems.org/
  specs:
    Ascii85 (2.0.1)
    aarch64 (2.1.0)
      racc (~> 1.6)
    abbrev (0.1.2)
    actionpack (7.2.2.1)
      actionview (= 7.2.2.1)
      activesupport (= 7.2.2.1)
      nokogiri (>= 1.8.5)
      racc
      rack (>= 2.2.4, < 3.2)
      rack-session (>= 1.0.1)
      rack-test (>= 0.6.3)
      rails-dom-testing (~> 2.2)
      rails-html-sanitizer (~> 1.6)
      useragent (~> 0.16)
    actionview (7.2.2.1)
      activesupport (= 7.2.2.1)
      builder (~> 3.1)
      erubi (~> 1.11)
      rails-dom-testing (~> 2.2)
      rails-html-sanitizer (~> 1.6)
    activemodel (7.2.2.1)
      activesupport (= 7.2.2.1)
    activerecord (7.2.2.1)
      activemodel (= 7.2.2.1)
      activesupport (= 7.2.2.1)
      timeout (>= 0.4.0)
    activesupport (7.2.2.1)
      base64
      benchmark (>= 0.3)
      bigdecimal
      concurrent-ruby (~> 1.0, >= 1.3.1)
      connection_pool (>= 2.2.5)
      drb
      i18n (>= 1.6, < 2)
      logger (>= 1.4.2)
      minitest (>= 5.1)
      securerandom (>= 0.3)
      tzinfo (~> 2.0, >= 2.0.5)
    addressable (2.8.7)
      public_suffix (>= 2.0.2, < 7.0)
    afm (0.2.2)
    allure-rspec (2.26.0)
      allure-ruby-commons (= 2.26.0)
      rspec-core (>= 3.8, < 4)
    allure-ruby-commons (2.26.0)
      mime-types (>= 3.3, < 4)
      require_all (>= 2, < 4)
      rspec-expectations (~> 3.12)
    arel-helpers (2.16.0)
      activerecord (>= 3.1.0, < 8.1)
    ast (2.4.3)
    aws-eventstream (1.3.2)
    aws-partitions (1.1065.0)
    aws-sdk-core (3.220.1)
      aws-eventstream (~> 1, >= 1.3.0)
      aws-partitions (~> 1, >= 1.992.0)
      aws-sigv4 (~> 1.9)
      base64
      jmespath (~> 1, >= 1.6.1)
    aws-sdk-ec2 (1.511.0)
      aws-sdk-core (~> 3, >= 3.216.0)
      aws-sigv4 (~> 1.5)
    aws-sdk-ec2instanceconnect (1.55.0)
      aws-sdk-core (~> 3, >= 3.216.0)
      aws-sigv4 (~> 1.5)
    aws-sdk-iam (1.119.0)
      aws-sdk-core (~> 3, >= 3.216.0)
      aws-sigv4 (~> 1.5)
    aws-sdk-kms (1.99.0)
      aws-sdk-core (~> 3, >= 3.216.0)
      aws-sigv4 (~> 1.5)
    aws-sdk-s3 (1.182.0)
      aws-sdk-core (~> 3, >= 3.216.0)
      aws-sdk-kms (~> 1)
      aws-sigv4 (~> 1.5)
    aws-sdk-ssm (1.191.0)
      aws-sdk-core (~> 3, >= 3.216.0)
      aws-sigv4 (~> 1.5)
    aws-sigv4 (1.11.0)
      aws-eventstream (~> 1, >= 1.0.2)
    base64 (0.2.0)
    bcrypt (3.1.20)
    bcrypt_pbkdf (1.1.1)
    benchmark (0.4.1)
    bigdecimal (3.2.3)
    bindata (2.4.15)
    bootsnap (1.18.4)
      msgpack (~> 1.2)
    bson (5.1.1)
    builder (3.3.0)
    byebug (11.1.3)
    chunky_png (1.4.0)
    coderay (1.1.3)
    concurrent-ruby (1.3.5)
    connection_pool (2.5.3)
    cookiejar (0.3.4)
    crass (1.0.6)
    csv (3.3.2)
    daemons (1.4.1)
    date (3.4.1)
    debug (1.10.0)
      irb (~> 1.10)
      reline (>= 0.3.8)
    diff-lcs (1.6.2)
    dnsruby (1.72.4)
      base64 (~> 0.2.0)
      logger (~> 1.6.5)
      simpleidn (~> 0.2.1)
    docile (1.4.1)
    domain_name (0.6.20240107)
    drb (2.2.3)
    ed25519 (1.4.0)
    elftools (1.3.1)
      bindata (~> 2)
    em-http-request (1.1.7)
      addressable (>= 2.3.4)
      cookiejar (!= 0.3.1)
      em-socksify (>= 0.3)
      eventmachine (>= 1.0.3)
      http_parser.rb (>= 0.6.0)
    em-socksify (0.3.3)
      base64
      eventmachine (>= 1.0.0.beta.4)
    erb (5.0.2)
    erubi (1.13.1)
    eventmachine (1.2.7)
    factory_bot (6.5.4)
      activesupport (>= 6.1.0)
    factory_bot_rails (6.5.0)
      factory_bot (~> 6.5)
      railties (>= 6.1.0)
    faker (3.5.1)
      i18n (>= 1.8.11, < 2)
    faraday (2.7.11)
      base64
      faraday-net_http (>= 2.0, < 3.1)
      ruby2_keywords (>= 0.0.4)
    faraday-net_http (3.0.2)
    faraday-retry (2.2.1)
      faraday (~> 2.0)
    faye-websocket (0.11.3)
      eventmachine (>= 0.12.0)
      websocket-driver (>= 0.5.1)
    ffi (1.16.3)
    fiddle (1.1.6)
    filesize (0.2.0)
    fivemat (1.3.7)
    forwardable (1.3.3)
    getoptlong (0.2.1)
    gssapi (1.3.1)
      ffi (>= 1.0.1)
    gyoku (1.4.0)
      builder (>= 2.1.2)
      rexml (~> 3.0)
    hashery (2.1.2)
    hrr_rb_ssh (0.4.2)
    hrr_rb_ssh-ed25519 (0.4.2)
      ed25519 (~> 1.2)
      hrr_rb_ssh (>= 0.4)
    http-cookie (1.0.8)
      domain_name (~> 0.5)
    http_parser.rb (0.8.0)
    httpclient (2.9.0)
      mutex_m
    i18n (1.14.7)
      concurrent-ruby (~> 1.0)
    io-console (0.8.1)
    ipaddr (1.2.7)
    irb (1.15.2)
      pp (>= 0.6.0)
      rdoc (>= 4.0.0)
      reline (>= 0.4.2)
    jmespath (1.6.2)
    jsobfu (0.4.2)
      rkelly-remix
    json (2.10.2)
    language_server-protocol (3.17.0.5)
    license_finder (5.11.1)
      bundler
      rubyzip (>= 1, < 3)
      thor
      toml (= 0.2.0)
      with_env (= 1.1.0)
      xml-simple
    lint_roller (1.1.0)
    little-plugger (1.1.4)
    logger (1.6.6)
    logging (2.4.0)
      little-plugger (~> 1.1)
      multi_json (~> 1.14)
    loofah (2.24.1)
      crass (~> 1.0.2)
      nokogiri (>= 1.12.0)
    lru_redux (1.1.0)
    memory_profiler (1.1.0)
    metasm (1.0.5)
    metasploit-concern (5.0.5)
      activemodel (~> 7.0)
      activesupport (~> 7.0)
      drb
      mutex_m
      railties (~> 7.0)
      zeitwerk
    metasploit-credential (6.0.16)
      bigdecimal
      csv
      drb
      metasploit-concern
      metasploit-model
      metasploit_data_models (>= 5.0.0)
      mutex_m
      net-ssh
      pg
      railties
      rex-socket
      rubyntlm
      rubyzip
    metasploit-model (5.0.4)
      activemodel (~> 7.0)
      activesupport (~> 7.0)
      bigdecimal
      drb
      mutex_m
      railties (~> 7.0)
    metasploit-payloads (2.0.221)
    metasploit_data_models (6.0.9)
      activerecord (~> 7.0)
      activesupport (~> 7.0)
      arel-helpers
      metasploit-concern
      metasploit-model (>= 3.1)
      pg
      railties (~> 7.0)
      recog
      webrick
    metasploit_payloads-mettle (1.0.45)
    method_source (1.1.0)
    mime-types (3.6.0)
      logger
      mime-types-data (~> 3.2015)
    mime-types-data (3.2025.0304)
    mini_portile2 (2.8.9)
    minitest (5.25.5)
    mqtt (0.6.0)
    msgpack (1.6.1)
    multi_json (1.15.0)
    mustermann (3.0.3)
      ruby2_keywords (~> 0.0.1)
    mutex_m (0.3.0)
    nessus_rest (0.1.6)
    net-imap (0.5.6)
      date
      net-protocol
    net-ldap (0.19.0)
    net-protocol (0.2.2)
      timeout
    net-sftp (4.0.0)
      net-ssh (>= 5.0.0, < 8.0.0)
    net-smtp (0.5.1)
      net-protocol
    net-ssh (7.3.0)
    network_interface (0.0.4)
    nexpose (7.3.0)
    nio4r (2.7.4)
    nokogiri (1.18.9)
      mini_portile2 (~> 2.8.2)
      racc (~> 1.4)
    nori (2.7.1)
      bigdecimal
    octokit (4.25.1)
      faraday (>= 1, < 3)
      sawyer (~> 0.9)
    openssl-ccm (1.2.3)
    openssl-cmac (2.0.2)
    openvas-omp (0.0.4)
    ostruct (0.6.1)
    packetfu (2.0.0)
      pcaprub (~> 0.13.1)
    parallel (1.27.0)
    parser (3.3.8.0)
      ast (~> 2.4.1)
      racc
    parslet (1.8.2)
    patch_finder (1.0.2)
    pcaprub (0.13.3)
    pdf-reader (2.14.1)
      Ascii85 (>= 1.0, < 3.0, != 2.0.0)
      afm (~> 0.2.1)
      hashery (~> 2.0)
      ruby-rc4
      ttfunk
    pg (1.5.9)
    pp (0.6.2)
      prettyprint
    prettyprint (0.2.0)
    prism (1.4.0)
    pry (0.14.2)
      coderay (~> 1.1)
      method_source (~> 1.0)
    pry-byebug (3.10.1)
      byebug (~> 11.0)
      pry (>= 0.13, < 0.15)
    psych (5.2.6)
      date
      stringio
    public_suffix (6.0.1)
    puma (6.6.0)
      nio4r (~> 2.0)
    racc (1.8.1)
    rack (2.2.17)
    rack-protection (3.2.0)
      base64 (>= 0.1.0)
      rack (~> 2.2, >= 2.2.4)
    rack-session (1.0.2)
      rack (< 3)
    rack-test (2.2.0)
      rack (>= 1.3)
    rackup (1.0.1)
      rack (< 3)
      webrick
    rails-dom-testing (2.3.0)
      activesupport (>= 5.0.0)
      minitest
      nokogiri (>= 1.6)
    rails-html-sanitizer (1.6.2)
      loofah (~> 2.21)
      nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
    railties (7.2.2.1)
      actionpack (= 7.2.2.1)
      activesupport (= 7.2.2.1)
      irb (~> 1.13)
      rackup (>= 1.0.0)
      rake (>= 12.2)
      thor (~> 1.0, >= 1.2.2)
      zeitwerk (~> 2.6)
    rainbow (3.1.1)
    rake (13.3.0)
    rasn1 (0.14.0)
      strptime (~> 0.2.5)
    rb-readline (0.5.5)
    rdoc (6.14.2)
      erb
      psych (>= 4.0.0)
    recog (3.1.14)
      nokogiri
    redcarpet (3.6.1)
    regexp_parser (2.10.0)
    reline (0.6.2)
      io-console (~> 0.5)
    require_all (3.0.0)
    rex-arch (0.1.18)
      rex-text
    rex-bin_tools (0.1.10)
      metasm
      rex-arch
      rex-core
      rex-struct2
      rex-text
    rex-core (0.1.34)
    rex-encoder (0.1.8)
      metasm
      rex-arch
      rex-text
    rex-exploitation (0.1.44)
      bigdecimal
      jsobfu
      metasm
      racc
      rex-arch
      rex-encoder
      rex-text
      rexml
    rex-java (0.1.8)
    rex-mime (0.1.11)
      rex-text
    rex-nop (0.1.4)
      rex-arch
    rex-ole (0.1.9)
      rex-text
    rex-powershell (0.1.103)
      bigdecimal
      rex-random_identifier
      rex-text
      ruby-rc4
    rex-random_identifier (0.1.20)
      bigdecimal
      rex-text
    rex-registry (0.1.6)
    rex-rop_builder (0.1.6)
      metasm
      rex-core
      rex-text
    rex-socket (0.1.62)
      dnsruby
      rex-core
    rex-sslscan (0.1.13)
      rex-core
      rex-socket
      rex-text
    rex-struct2 (0.1.5)
    rex-text (0.2.61)
      bigdecimal
    rex-zip (0.1.6)
      rex-text
    rexml (3.4.4)
    rinda (0.2.0)
      drb
      forwardable
      ipaddr
    rkelly-remix (0.0.7)
    rspec (3.13.0)
      rspec-core (~> 3.13.0)
      rspec-expectations (~> 3.13.0)
      rspec-mocks (~> 3.13.0)
    rspec-core (3.13.5)
      rspec-support (~> 3.13.0)
    rspec-expectations (3.13.5)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.13.0)
    rspec-mocks (3.13.5)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.13.0)
    rspec-rails (8.0.1)
      actionpack (>= 7.2)
      activesupport (>= 7.2)
      railties (>= 7.2)
      rspec-core (~> 3.13)
      rspec-expectations (~> 3.13)
      rspec-mocks (~> 3.13)
      rspec-support (~> 3.13)
    rspec-rerun (1.1.0)
      rspec (~> 3.0)
    rspec-support (3.13.4)
    rubocop (1.75.7)
      json (~> 2.3)
      language_server-protocol (~> 3.17.0.2)
      lint_roller (~> 1.1.0)
      parallel (~> 1.10)
      parser (>= 3.3.0.2)
      rainbow (>= 2.2.2, < 4.0)
      regexp_parser (>= 2.9.3, < 3.0)
      rubocop-ast (>= 1.44.0, < 2.0)
      ruby-progressbar (~> 1.7)
      unicode-display_width (>= 2.4.0, < 4.0)
    rubocop-ast (1.44.1)
      parser (>= 3.3.7.2)
      prism (~> 1.4)
    ruby-macho (4.1.0)
    ruby-mysql (4.2.0)
    ruby-prof (1.7.2)
      base64
    ruby-progressbar (1.13.0)
    ruby-rc4 (0.1.5)
    ruby2_keywords (0.0.5)
    ruby_smb (3.3.15)
      bindata (= 2.4.15)
      openssl-ccm
      openssl-cmac
      rubyntlm (>= 0.6.5)
      windows_error (>= 0.1.4)
    rubyntlm (0.6.5)
      base64
    rubyzip (2.4.1)
    sawyer (0.9.2)
      addressable (>= 2.3.5)
      faraday (>= 0.17.3, < 3)
    securerandom (0.4.1)
    simplecov (0.18.2)
      docile (~> 1.1)
      simplecov-html (~> 0.11)
    simplecov-html (0.13.1)
    simpleidn (0.2.3)
    sinatra (3.2.0)
      mustermann (~> 3.0)
      rack (~> 2.2, >= 2.2.4)
      rack-protection (= 3.2.0)
      tilt (~> 2.0)
    sqlite3 (1.7.3)
      mini_portile2 (~> 2.8.0)
    sshkey (3.0.0)
    stringio (3.1.1)
    strptime (0.2.5)
    swagger-blocks (3.0.0)
    syslog (0.3.0)
      logger
    test-prof (1.4.4)
    thin (1.8.2)
      daemons (~> 1.0, >= 1.0.9)
      eventmachine (~> 1.0, >= 1.0.4)
      rack (>= 1, < 3)
    thor (1.4.0)
    tilt (2.6.0)
    timecop (0.9.10)
    timeout (0.4.3)
    toml (0.2.0)
      parslet (~> 1.8.0)
    ttfunk (1.8.0)
      bigdecimal (~> 3.1)
    tzinfo (2.0.6)
      concurrent-ruby (~> 1.0)
    tzinfo-data (1.2025.1)
      tzinfo (>= 1.0.0)
    unicode-display_width (3.1.4)
      unicode-emoji (~> 4.0, >= 4.0.4)
    unicode-emoji (4.0.4)
    unix-crypt (1.3.1)
    useragent (0.16.11)
    warden (1.2.9)
      rack (>= 2.0.9)
    webrick (1.9.1)
    websocket-driver (0.7.7)
      base64
      websocket-extensions (>= 0.1.0)
    websocket-extensions (0.1.5)
    win32api (0.1.0)
    windows_error (0.1.5)
    winrm (2.3.9)
      builder (>= 2.1.2)
      erubi (~> 1.8)
      gssapi (~> 1.2)
      gyoku (~> 1.0)
      httpclient (~> 2.2, >= 2.2.0.2)
      logging (>= 1.6.1, < 3.0)
      nori (~> 2.0, >= 2.7.1)
      rexml (~> 3.0)
      rubyntlm (~> 0.6.0, >= 0.6.3)
    with_env (1.1.0)
    xdr (3.0.3)
      activemodel (>= 4.2, < 8.0)
      activesupport (>= 4.2, < 8.0)
    xml-simple (1.1.9)
      rexml
    xmlrpc (0.3.3)
      webrick
    yard (0.9.37)
    zeitwerk (2.7.3)

PLATFORMS
  ruby

DEPENDENCIES
  allure-rspec
  debug (>= 1.0.0)
  factory_bot_rails
  fivemat
  license_finder (= 5.11.1)
  memory_profiler
  metasploit-framework!
  octokit
  pry-byebug
  rake
  redcarpet
  rspec-rails
  rspec-rerun
  rubocop (= 1.75.7)
  ruby-prof
  simplecov (= 0.18.2)
  test-prof
  timecop
  yard

BUNDLED WITH
   2.5.22

Gemspecs

metasploit-framework.gemspec

# coding: utf-8

# During build, the Gemfile is temporarily moved and
# we must manually define the project root
if ENV['MSF_ROOT']
  lib = File.realpath(File.expand_path('lib', ENV['MSF_ROOT']))
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
  require 'metasploit/framework/version'
  require 'metasploit/framework/rails_version_constraint'
  require 'msf/util/helper'
else
  # XXX: Use explicit calls to require_relative to ensure that static analysis tools such as dependabot work
  require_relative 'lib/metasploit/framework/version'
  require_relative 'lib/metasploit/framework/rails_version_constraint'
  require_relative 'lib/msf/util/helper'
end

Gem::Specification.new do |spec|
  spec.name          = 'metasploit-framework'
  spec.version       = Metasploit::Framework::GEM_VERSION
  spec.authors       = ['Metasploit Hackers']
  spec.email         = ['msfdev@metasploit.com']
  spec.summary       = 'metasploit-framework'
  spec.description   = 'metasploit-framework'
  spec.homepage      = 'https://www.metasploit.com'
  spec.license       = 'BSD-3-clause'

  # only do a git ls-files if the .git folder exists and we have a git binary in PATH
  if File.directory?(File.join(File.dirname(__FILE__), ".git")) && Msf::Util::Helper.which("git")
    spec.files         = `git ls-files`.split($/).reject { |file|
      file =~ /^external|^docs|^\.solargraph\.yml/
    }
  end
  spec.bindir = '.'
  if ENV['CREATE_BINSTUBS']
    spec.executables   = [
      'msfconsole',
      'msfd',
      'msfrpc',
      'msfrpcd',
      'msfvenom'
    ]
  end
  spec.test_files    = spec.files.grep(%r{^spec/})
  spec.require_paths = ["lib"]

  spec.required_ruby_version = '>= 3.1'

  # Database support
  spec.add_runtime_dependency 'activerecord', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
  # Need 3+ for ActiveSupport::Concern
  spec.add_runtime_dependency 'activesupport', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
  # Needed for config.action_view for view plugin compatibility for Pro
  spec.add_runtime_dependency 'actionpack', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
  # Needed for some admin modules (cfme_manageiq_evm_pass_reset.rb)
  spec.add_runtime_dependency 'bcrypt'
  # Improves bootup performance by caching expensive computations
  spec.add_runtime_dependency 'bootsnap'
  # Needed for Javascript obfuscation
  spec.add_runtime_dependency 'jsobfu'
  # Needed for some admin modules (scrutinizer_add_user.rb)
  spec.add_runtime_dependency 'json'
  # Metasm compiler/decompiler/assembler
  spec.add_runtime_dependency 'metasm'
  # Needed for aarch64 assembler support - as Metasm does not currently support Aarch64 fully
  spec.add_runtime_dependency 'aarch64'
  # Metasploit::Concern hooks
  spec.add_runtime_dependency 'metasploit-concern'
  # Metasploit::Credential database models
  spec.add_runtime_dependency 'metasploit-credential'
  # Database models shared between framework and Pro.
  spec.add_runtime_dependency 'metasploit_data_models', '>= 6.0.7'
  # Things that would normally be part of the database model, but which
  # are needed when there's no database
  spec.add_runtime_dependency 'metasploit-model'
  # Needed for Meterpreter
  spec.add_runtime_dependency 'metasploit-payloads', '2.0.221'
  # Needed for the next-generation POSIX Meterpreter
  spec.add_runtime_dependency 'metasploit_payloads-mettle', '1.0.45'
  # Needed by msfgui and other rpc components
  # Locked until build env can handle newer version. See: https://github.com/msgpack/msgpack-ruby/issues/334
  spec.add_runtime_dependency 'msgpack', '~> 1.6.0'
  # get list of network interfaces, like eth* from OS.
  spec.add_runtime_dependency 'network_interface'
  # NTLM authentication
  spec.add_runtime_dependency 'rubyntlm'
  # Needed by for XML parsing
  spec.add_runtime_dependency 'nokogiri'
  # Needed by db.rb and Msf::Exploit::Capture
  spec.add_runtime_dependency 'packetfu'
  # For sniffer and raw socket modules
  spec.add_runtime_dependency 'pcaprub'
  # Used by the Metasploit data model, etc.
  # bound to 0.2x for Activerecord 4.2.8 deprecation warnings:
  # https://github.com/ged/ruby-pg/commit/c90ac644e861857ae75638eb6954b1cb49617090
  spec.add_runtime_dependency 'pg'
  # Run initializers for metasploit-concern, metasploit-credential, metasploit_data_models Rails::Engines
  spec.add_runtime_dependency 'railties'
  # required for OS fingerprinting
  spec.add_runtime_dependency 'recog'
  # required for bitlocker fvek extraction
  spec.add_runtime_dependency 'openssl-ccm'
  # Needed for documentation generation - locked unitl Ruby 2.6 support is dropped
  spec.add_runtime_dependency 'octokit', '~> 4.0'
  spec.add_runtime_dependency 'redcarpet'
  # Needed for Microsoft patch finding tool (msu_finder)
  spec.add_runtime_dependency 'patch_finder'
  # Required for Metasploit Web Services
  spec.add_runtime_dependency 'puma'
  spec.add_runtime_dependency 'ruby-mysql'
  spec.add_runtime_dependency 'thin'
  spec.add_runtime_dependency 'sinatra'
  spec.add_runtime_dependency 'rack'
  spec.add_runtime_dependency 'warden'
  spec.add_runtime_dependency 'swagger-blocks'
  # Required for JSON-RPC client
  spec.add_runtime_dependency 'em-http-request'
  # TimeZone info
  spec.add_runtime_dependency 'tzinfo-data'
  # Gem for dealing with SSHKeys
  spec.add_runtime_dependency 'sshkey'
  # Library for interpreting Windows error codes and strings
  spec.add_runtime_dependency 'windows_error'
  # This used to be depended on by nokogiri, depended on by wmap
  if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.3.0')
    spec.add_runtime_dependency 'xmlrpc'
  end
  # Gem for handling Cookies
  spec.add_runtime_dependency 'http-cookie'
  # Needed for some modules (polkit_auth_bypass.rb)
  spec.add_runtime_dependency 'unix-crypt'
  # Needed for Kerberos structure parsing; Pinned to ensure a security review is performed on updates
  spec.add_runtime_dependency 'rasn1', '0.14.0'

  #
  # File Parsing Libraries
  #
  # Needed by auxiliary/gather/http_pdf_authors module
  spec.add_runtime_dependency 'pdf-reader'
  spec.add_runtime_dependency 'ruby-macho'
  # Needed for mongodb/bson
  spec.add_runtime_dependency 'bson'

  #
  # Protocol Libraries
  #
  spec.add_runtime_dependency 'dnsruby'
  spec.add_runtime_dependency 'mqtt'
  spec.add_runtime_dependency 'net-ssh'
  spec.add_runtime_dependency 'ed25519' # Adds ed25519 keys for net-ssh
  spec.add_runtime_dependency 'bcrypt_pbkdf'
  spec.add_runtime_dependency 'ruby_smb', '~> 3.3.15'
  spec.add_runtime_dependency 'net-imap' # Used in Postgres auth for its SASL stringprep implementation
  spec.add_runtime_dependency 'net-ldap'
  spec.add_runtime_dependency 'net-smtp'
  spec.add_runtime_dependency 'net-sftp'
  spec.add_runtime_dependency 'winrm'
  spec.add_runtime_dependency 'ffi', '< 1.17.0'

  #
  # REX Libraries
  #
  # Core of the Ruby Exploitation Library
  spec.add_runtime_dependency 'rex-core'
  # Text manipulation library for things like generating random string
  spec.add_runtime_dependency 'rex-text'
  # Library for Generating Randomized strings valid as Identifiers such as variable names
  spec.add_runtime_dependency 'rex-random_identifier'
  # library for creating Powershell scripts for exploitation purposes
  spec.add_runtime_dependency 'rex-powershell'
  # Library for processing and creating Zip compatbile archives
  spec.add_runtime_dependency 'rex-zip'
  # Library for parsing offline Windows Registry files
  spec.add_runtime_dependency 'rex-registry'
  # Library for parsing Java serialized streams
  spec.add_runtime_dependency 'rex-java'
  # Library for C-style structs
  spec.add_runtime_dependency 'rex-struct2'
  # Library which contains architecture specific information such as registers, opcodes,
  # and stack manipulation routines.
  spec.add_runtime_dependency 'rex-arch'
  # Library for working with OLE.
  spec.add_runtime_dependency 'rex-ole'
  # Library for creating and/or parsing MIME messages.
  spec.add_runtime_dependency 'rex-mime'
  # Library for Dynamic Multi-byte x86 NOP generation
  spec.add_runtime_dependency 'rex-nop'
  # Library for parsing and manipulating executable binaries
  spec.add_runtime_dependency 'rex-bin_tools'
  # Rex Socket Abstraction Layer
  spec.add_runtime_dependency 'rex-socket'
  # Library for scanning a server's SSL/TLS capabilities
  spec.add_runtime_dependency 'rex-sslscan'
  # Library and tool for finding ROP gadgets in a supplied binary
  spec.add_runtime_dependency 'rex-rop_builder'
  # Library for polymorphic encoders; used for payload encoding
  spec.add_runtime_dependency 'rex-encoder'
  # Library for exploit development helpers
  spec.add_runtime_dependency 'rex-exploitation'
  # Command line editing, history, and tab completion in msfconsole
  spec.add_runtime_dependency 'rb-readline'
  # Needed by some modules
  spec.add_runtime_dependency 'rubyzip'
  # Needed for some post modules
  spec.add_runtime_dependency 'sqlite3', '1.7.3'
  # required for Time::TZInfo in ActiveSupport
  spec.add_runtime_dependency 'tzinfo'
  # Needed so that disk size output isn't horrible
  spec.add_runtime_dependency 'filesize'
  # Needed for openvas plugin
  spec.add_runtime_dependency 'openvas-omp'
  # Needed by metasploit nessus bridge
  spec.add_runtime_dependency 'nessus_rest'
  # Nexpose Gem
  spec.add_runtime_dependency 'nexpose'
  # Needed for NDMP sockets
  spec.add_runtime_dependency 'xdr'
  # Needed for ::Msf...CertProvider
  spec.add_runtime_dependency 'faker'
  # SSH server library with ed25519
  spec.add_runtime_dependency 'hrr_rb_ssh-ed25519'
  # Needed for irb internal command
  spec.add_runtime_dependency 'irb'

  # AWS enumeration modules
  spec.add_runtime_dependency 'aws-sdk-s3'
  spec.add_runtime_dependency 'aws-sdk-ec2'
  spec.add_runtime_dependency 'aws-sdk-iam'
  spec.add_runtime_dependency 'aws-sdk-ssm'

  # AWS session support
  spec.add_runtime_dependency 'aws-sdk-ec2instanceconnect'

  # Needed for WebSocket Support
  spec.add_runtime_dependency 'faye-websocket'
  spec.add_runtime_dependency 'eventmachine'

  spec.add_runtime_dependency 'faraday', '2.7.11'
  spec.add_runtime_dependency 'faraday-retry'

  # Required for windows terminal colors as of Ruby 3.0
  spec.add_runtime_dependency 'win32api'

  spec.add_runtime_dependency 'zeitwerk'

  # Required for PNG payload support.
  # WARNING: Chunky_PNG is vulnerable to decompression bomb attacks.
  # Do not use this to process untrusted PNG files! This is only to be used
  # to generate PNG files, not to parse untrusted PNG files.
  spec.add_runtime_dependency 'chunky_png'

  # Needed for multiline REPL support for interactive SQL sessions
  spec.add_runtime_dependency 'reline'

  # Needed to parse sections of ELF files in order to retrieve symbols
  spec.add_runtime_dependency 'elftools'

  # Needed for generic in-memory cachine
  spec.add_runtime_dependency 'lru_redux'

  # Pinned on 3.1.1 as it is the version supported by our Ruby 3.3.8 dependency to avoid this issue https://github.com/rubygems/rubygems/issues/7657#issuecomment-2521083323
  # When Ruby ships with `gem --version` 3.6.0 or higher by default this can be removed
  spec.add_runtime_dependency 'stringio', '3.1.1'

  # Needed for caching validation
  spec.add_runtime_dependency 'parallel'

  # Standard libraries: https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/
  %w[
    abbrev
    base64
    benchmark
    bigdecimal
    csv
    drb
    fiddle
    getoptlong
    mutex_m
    ostruct
    rinda
    syslog
  ].each do |library|
    spec.add_runtime_dependency library
  end
end

--- TEMPLATE END ----------------------------------------------------------------

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions