metasploit_data_models 6.0.15 → 6.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4d011d8005f59d1f1f2395ec7bd72aeffcb88fcd8a6e701b05ae4150f822a1a
4
- data.tar.gz: f0e9c11fdd9167932491e4d9c97b877e82ff296d30b45c60c771f15e60cab87c
3
+ metadata.gz: 4396d080395ad666cc8838b20722a68e517933fcf2fcd9b0b95bb09169adbf3b
4
+ data.tar.gz: 7d8f0373474ae36fcee5b741047c13fcbd515185b95e26daad59806536d1410e
5
5
  SHA512:
6
- metadata.gz: 980eb17b3a2fa52fd7410cd06e015e0cc3263de2791b622a2b8a46a4c83e19672cfdc53e6fcd28c6ecda05cefbe0cf094113c5d0b1586de4eb2a1a5f9ed919d6
7
- data.tar.gz: 4e7f6dc83030e7520a3c3349ed8513163074bfa2efee28c66e486c79795c5ff1cc82023adfd06a080b45dc9c06b8b338457c3c33b0d7f781967e8dc1f67a69b7
6
+ metadata.gz: 5943df487f28ba21fb68856b602a7515c0cb8a373e8af776e4ca8b6024bc37f2020bdb30483b09270386704094c73cc3a625a02fb0f13e57395232cff4282225
7
+ data.tar.gz: 2d92b4d9586d471d88211967d4abe9b2022a51730a69857f670d7d19eae7989bbc3c0f20b5fa04b9260cd6b9af1980d534d1bbe1cfd2ecb1008c5e315f72b949
data/Gemfile CHANGED
@@ -3,12 +3,6 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in metasploit_data_models.gemspec
4
4
  gemspec
5
5
 
6
- group :development do
7
- #gem 'metasploit-erd'
8
- # embed ERDs on index, namespace Module and Class<ApplicationRecord> pages
9
- #gem 'yard-metasploit-erd'
10
- end
11
-
12
6
  # used by dummy application
13
7
  group :development, :test do
14
8
  # supplies factories for producing model instance for specs
@@ -17,8 +11,8 @@ group :development, :test do
17
11
  # auto-load factories from spec/factories
18
12
  gem 'factory_bot_rails'
19
13
 
20
- # Enforce tests to run on 7.0.X
21
- gem 'rails', '~> 7.0.0'
14
+ # Allow Rails 7.0 through 8.0 for upgrade compatibility
15
+ gem 'rails', '>= 7.0', '< 8.1'
22
16
  gem 'net-smtp', require: false
23
17
 
24
18
  # Used to create fake data
@@ -72,7 +72,7 @@ class Mdm::Event < ApplicationRecord
72
72
  # {#name}-specific information about this event.
73
73
  #
74
74
  # @return [Hash]
75
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
75
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
76
76
  serialize :info, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
77
77
  else
78
78
  serialize :info, MetasploitDataModels::Base64Serializer.new(coerce: true)
@@ -69,7 +69,7 @@ class Mdm::Listener < ApplicationRecord
69
69
  # Options used to spawn this listener.
70
70
  #
71
71
  # @return [Hash]
72
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
72
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
73
73
  serialize :options, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
74
74
  else
75
75
  serialize :options, MetasploitDataModels::Base64Serializer.new(coerce: true)
@@ -140,7 +140,7 @@ class Mdm::Loot < ApplicationRecord
140
140
  # Serializations
141
141
  #
142
142
 
143
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
143
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
144
144
  serialize :data, coder: MetasploitDataModels::Base64Serializer.new
145
145
  else
146
146
  serialize :data, MetasploitDataModels::Base64Serializer.new
@@ -39,7 +39,7 @@ class Mdm::Macro < ApplicationRecord
39
39
  #
40
40
  # @return [Array<Hash{Symbol=>Object}>] Array of action hashes. Each action hash is have key :module with value
41
41
  # of an {Mdm::Module::Detail#fullname} and and key :options with value of options used to the run the module.
42
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
42
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
43
43
  serialize :actions, coder: MetasploitDataModels::Base64Serializer.new
44
44
  else
45
45
  serialize :actions, MetasploitDataModels::Base64Serializer.new
@@ -48,7 +48,7 @@ class Mdm::Macro < ApplicationRecord
48
48
  # Preference for this macro, shared across all actions.
49
49
  #
50
50
  # @return [Hash]
51
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
51
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
52
52
  serialize :prefs, coder: MetasploitDataModels::Base64Serializer.new
53
53
  else
54
54
  serialize :prefs, MetasploitDataModels::Base64Serializer.new
@@ -89,7 +89,7 @@ class Mdm::NexposeConsole < ApplicationRecord
89
89
  # List of sites known to Nexpose.
90
90
  #
91
91
  # @return [Array<String>] Array of site names.
92
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
92
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
93
93
  serialize :cached_sites, coder: MetasploitDataModels::Base64Serializer.new
94
94
  else
95
95
  serialize :cached_sites, MetasploitDataModels::Base64Serializer.new
@@ -107,7 +107,7 @@ class Mdm::Note < ApplicationRecord
107
107
  # Serializations
108
108
  #
109
109
 
110
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
110
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
111
111
  serialize :data, coder: ::MetasploitDataModels::Base64Serializer.new
112
112
  else
113
113
  serialize :data, ::MetasploitDataModels::Base64Serializer.new
@@ -93,13 +93,13 @@ class Mdm::Payload < ApplicationRecord
93
93
  #
94
94
  # Serializations
95
95
 
96
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
96
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
97
97
  serialize :urls, coder: YAML
98
98
  else
99
99
  serialize :urls
100
100
  end
101
101
 
102
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
102
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
103
103
  serialize :build_opts, coder: YAML
104
104
  else
105
105
  serialize :build_opts
@@ -38,7 +38,7 @@ class Mdm::Profile < ApplicationRecord
38
38
  # Global settings.
39
39
  #
40
40
  # @return [Hash]
41
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
41
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
42
42
  serialize :settings, coder: MetasploitDataModels::Base64Serializer.new
43
43
  else
44
44
  serialize :settings, MetasploitDataModels::Base64Serializer.new
@@ -198,7 +198,7 @@ class Mdm::Session < ApplicationRecord
198
198
  # Serializations
199
199
  #
200
200
 
201
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
201
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
202
202
  serialize :datastore, coder: ::MetasploitDataModels::Base64Serializer.new(coerce: true)
203
203
  else
204
204
  serialize :datastore, ::MetasploitDataModels::Base64Serializer.new(coerce: true)
@@ -130,7 +130,7 @@ class Mdm::Task < ApplicationRecord
130
130
  # Options passed to `#module`.
131
131
  #
132
132
  # @return [Hash]
133
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
133
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
134
134
  serialize :options, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
135
135
  else
136
136
  serialize :options, MetasploitDataModels::Base64Serializer.new(coerce: true)
@@ -139,7 +139,7 @@ class Mdm::Task < ApplicationRecord
139
139
  # Result of task running.
140
140
  #
141
141
  # @return [Hash]
142
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
142
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
143
143
  serialize :result, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
144
144
  else
145
145
  serialize :result, MetasploitDataModels::Base64Serializer.new(coerce: true)
@@ -148,7 +148,7 @@ class Mdm::Task < ApplicationRecord
148
148
  # Settings used to configure this task outside of the {#options module options}.
149
149
  #
150
150
  # @return [Hash]
151
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
151
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
152
152
  serialize :settings, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
153
153
  else
154
154
  serialize :settings, MetasploitDataModels::Base64Serializer.new(coerce: true)
@@ -114,7 +114,7 @@ class Mdm::User < ApplicationRecord
114
114
  # Hash of user preferences
115
115
  #
116
116
  # @return [Hash]
117
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
117
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
118
118
  serialize :prefs, coder: MetasploitDataModels::Base64Serializer.new
119
119
  else
120
120
  serialize :prefs, MetasploitDataModels::Base64Serializer.new
@@ -63,6 +63,20 @@ class Mdm::VulnAttempt < ApplicationRecord
63
63
  #
64
64
  # @return [String]
65
65
 
66
+ # @!attribute check_code
67
+ # The check code returned by the module's check method, if this attempt
68
+ # was a vulnerability check rather than an exploitation attempt.
69
+ #
70
+ # @return [String] one of 'vulnerable', 'appears', 'safe', 'detected', 'unknown'
71
+ # @return [nil] if this was an exploitation attempt, not a check
72
+
73
+ # @!attribute check_detail
74
+ # The human-readable message from the module's check method describing
75
+ # why the target was determined to be vulnerable, safe, etc.
76
+ #
77
+ # @return [String] if {#check_code} is present.
78
+ # @return [nil] if this was an exploitation attempt, not a check
79
+
66
80
  # @!attribute username
67
81
  # The {Mdm::User#username name of the user} that made this attempt.
68
82
  #
@@ -46,7 +46,7 @@ class Mdm::WebForm < ApplicationRecord
46
46
  # Parameters submitted in this form.
47
47
  #
48
48
  # @return [Array<Array(String, String)>>]
49
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
49
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
50
50
  serialize :params, coder: MetasploitDataModels::Base64Serializer.new
51
51
  else
52
52
  serialize :params, MetasploitDataModels::Base64Serializer.new
@@ -81,7 +81,7 @@ class Mdm::WebPage < ApplicationRecord
81
81
  # Headers sent from server.
82
82
  #
83
83
  # @return [Hash{String => String}]
84
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
84
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
85
85
  serialize :headers, coder: MetasploitDataModels::Base64Serializer.new
86
86
  else
87
87
  serialize :headers, MetasploitDataModels::Base64Serializer.new
@@ -90,7 +90,7 @@ class Mdm::WebPage < ApplicationRecord
90
90
  # Cookies sent from server.
91
91
  #
92
92
  # @return [Hash{String => String}]
93
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
93
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
94
94
  serialize :cookie, coder: MetasploitDataModels::Base64Serializer.new
95
95
  else
96
96
  serialize :cookie, MetasploitDataModels::Base64Serializer.new
@@ -60,7 +60,7 @@ class Mdm::WebSite < ApplicationRecord
60
60
 
61
61
  # @!attribute [rw] options
62
62
  # @todo Determine format and purpose of Mdm::WebSite#options.
63
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
63
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
64
64
  serialize :options, coder: ::MetasploitDataModels::Base64Serializer.new
65
65
  else
66
66
  serialize :options, ::MetasploitDataModels::Base64Serializer.new
@@ -141,7 +141,7 @@ class Mdm::WebVuln < ApplicationRecord
141
141
  # Parameters sent as part of request
142
142
  #
143
143
  # @return [Array<Array(String, String)>] Array of parameter key value pairs
144
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
144
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
145
145
  serialize :params, coder: MetasploitDataModels::Base64Serializer.new(default: DEFAULT_PARAMS)
146
146
  else
147
147
  serialize :params, MetasploitDataModels::Base64Serializer.new(default: DEFAULT_PARAMS)
@@ -1,7 +1,7 @@
1
1
  class AddSessionTable < ActiveRecord::Migration[4.2]
2
2
 
3
3
  class Event < ApplicationRecord
4
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
4
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
5
5
  serialize :info, coder: YAML
6
6
  else
7
7
  serialize :info
@@ -14,7 +14,7 @@ class AddSessionTable < ActiveRecord::Migration[4.2]
14
14
 
15
15
  class Session < ApplicationRecord
16
16
  has_many :events, :class_name => 'AddSessionTable::SessionEvent'
17
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
17
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
18
18
  serialize :datastore, coder: YAML
19
19
  else
20
20
  serialize :datastore
@@ -3,7 +3,7 @@ class ConvertBinary < ActiveRecord::Migration[4.2]
3
3
 
4
4
 
5
5
  class WebPage < ApplicationRecord
6
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
6
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
7
7
  serialize :headers, coder: YAML
8
8
  else
9
9
  serialize :headers
@@ -11,7 +11,7 @@ class ConvertBinary < ActiveRecord::Migration[4.2]
11
11
  end
12
12
 
13
13
  class WebVuln < ApplicationRecord
14
- if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
14
+ if ActiveRecord::VERSION::MAJOR > 7 || (ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR >= 1)
15
15
  serialize :params, coder: YAML
16
16
  else
17
17
  serialize :params
@@ -0,0 +1,6 @@
1
+ class AddCheckCodeToVulnAttempts < ActiveRecord::Migration[7.0]
2
+ def change
3
+ add_column :vuln_attempts, :check_code, :string
4
+ add_column :vuln_attempts, :check_detail, :text
5
+ end
6
+ end
@@ -1,6 +1,6 @@
1
1
  module MetasploitDataModels
2
2
  # VERSION is managed by GemRelease
3
- VERSION = '6.0.15'
3
+ VERSION = '6.0.17'
4
4
 
5
5
  # @return [String]
6
6
  #
@@ -33,11 +33,14 @@ Gem::Specification.new do |s|
33
33
  s.add_development_dependency 'pry'
34
34
 
35
35
 
36
- s.add_runtime_dependency 'activerecord', '~>7.0'
37
- s.add_runtime_dependency 'activesupport', '~>7.0'
36
+ # Rails 8.0 upgrade: widened from '~> 7.0' (which means >= 7.0, < 8.0) to
37
+ # '>= 7.0', '< 8.1' so this gem resolves with both Rails 7.x and 8.0.
38
+ # The old pessimistic constraint hard-blocked Bundler from pulling Rails 8.
39
+ s.add_runtime_dependency 'activerecord', '>= 7.0', '< 8.1'
40
+ s.add_runtime_dependency 'activesupport', '>= 7.0', '< 8.1'
38
41
  s.add_runtime_dependency 'metasploit-concern'
39
- s.add_runtime_dependency 'metasploit-model', '~>5.0.4'
40
- s.add_runtime_dependency 'railties', '~>7.0'
42
+ s.add_runtime_dependency 'metasploit-model', '>= 5.0.4'
43
+ s.add_runtime_dependency 'railties', '>= 7.0', '< 8.1'
41
44
  s.add_runtime_dependency 'webrick'
42
45
 
43
46
  # os fingerprinting
@@ -20,6 +20,8 @@ RSpec.describe Mdm::VulnAttempt, type: :model do
20
20
  it { is_expected.to have_db_column(:session_id).of_type(:integer) }
21
21
  it { is_expected.to have_db_column(:loot_id).of_type(:integer) }
22
22
  it { is_expected.to have_db_column(:fail_detail).of_type(:text) }
23
+ it { is_expected.to have_db_column(:check_code).of_type(:string) }
24
+ it { is_expected.to have_db_column(:check_detail).of_type(:text) }
23
25
  end
24
26
  end
25
27
 
@@ -53,11 +53,6 @@ module Dummy
53
53
  # This is necessary if your schema can't be completely dumped by the schema dumper,
54
54
  # like if you have constraints or database-specific column types
55
55
  config.active_record.schema_format = :sql
56
-
57
- # 5.x change to belongs_to
58
- config.active_record.belongs_to_required_by_default = true
59
-
60
- config.autoloader = :zeitwerk
61
56
  end
62
57
  end
63
58
 
@@ -1755,7 +1755,9 @@ CREATE TABLE public.vuln_attempts (
1755
1755
  module text,
1756
1756
  session_id integer,
1757
1757
  loot_id integer,
1758
- fail_detail text
1758
+ fail_detail text,
1759
+ check_code character varying,
1760
+ check_detail text
1759
1761
  );
1760
1762
 
1761
1763
 
@@ -3602,6 +3604,7 @@ INSERT INTO "schema_migrations" (version) VALUES
3602
3604
  ('20250721114306'),
3603
3605
  ('20251231162000'),
3604
3606
  ('20260130124052'),
3607
+ ('20260411000000'),
3605
3608
  ('21'),
3606
3609
  ('22'),
3607
3610
  ('23'),
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metasploit_data_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.15
4
+ version: 6.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Metasploit Hackers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-05 00:00:00.000000000 Z
11
+ date: 2026-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metasploit-yard
@@ -98,30 +98,42 @@ dependencies:
98
98
  name: activerecord
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '7.0'
104
+ - - "<"
105
+ - !ruby/object:Gem::Version
106
+ version: '8.1'
104
107
  type: :runtime
105
108
  prerelease: false
106
109
  version_requirements: !ruby/object:Gem::Requirement
107
110
  requirements:
108
- - - "~>"
111
+ - - ">="
109
112
  - !ruby/object:Gem::Version
110
113
  version: '7.0'
114
+ - - "<"
115
+ - !ruby/object:Gem::Version
116
+ version: '8.1'
111
117
  - !ruby/object:Gem::Dependency
112
118
  name: activesupport
113
119
  requirement: !ruby/object:Gem::Requirement
114
120
  requirements:
115
- - - "~>"
121
+ - - ">="
116
122
  - !ruby/object:Gem::Version
117
123
  version: '7.0'
124
+ - - "<"
125
+ - !ruby/object:Gem::Version
126
+ version: '8.1'
118
127
  type: :runtime
119
128
  prerelease: false
120
129
  version_requirements: !ruby/object:Gem::Requirement
121
130
  requirements:
122
- - - "~>"
131
+ - - ">="
123
132
  - !ruby/object:Gem::Version
124
133
  version: '7.0'
134
+ - - "<"
135
+ - !ruby/object:Gem::Version
136
+ version: '8.1'
125
137
  - !ruby/object:Gem::Dependency
126
138
  name: metasploit-concern
127
139
  requirement: !ruby/object:Gem::Requirement
@@ -140,30 +152,36 @@ dependencies:
140
152
  name: metasploit-model
141
153
  requirement: !ruby/object:Gem::Requirement
142
154
  requirements:
143
- - - "~>"
155
+ - - ">="
144
156
  - !ruby/object:Gem::Version
145
157
  version: 5.0.4
146
158
  type: :runtime
147
159
  prerelease: false
148
160
  version_requirements: !ruby/object:Gem::Requirement
149
161
  requirements:
150
- - - "~>"
162
+ - - ">="
151
163
  - !ruby/object:Gem::Version
152
164
  version: 5.0.4
153
165
  - !ruby/object:Gem::Dependency
154
166
  name: railties
155
167
  requirement: !ruby/object:Gem::Requirement
156
168
  requirements:
157
- - - "~>"
169
+ - - ">="
158
170
  - !ruby/object:Gem::Version
159
171
  version: '7.0'
172
+ - - "<"
173
+ - !ruby/object:Gem::Version
174
+ version: '8.1'
160
175
  type: :runtime
161
176
  prerelease: false
162
177
  version_requirements: !ruby/object:Gem::Requirement
163
178
  requirements:
164
- - - "~>"
179
+ - - ">="
165
180
  - !ruby/object:Gem::Version
166
181
  version: '7.0'
182
+ - - "<"
183
+ - !ruby/object:Gem::Version
184
+ version: '8.1'
167
185
  - !ruby/object:Gem::Dependency
168
186
  name: webrick
169
187
  requirement: !ruby/object:Gem::Requirement
@@ -517,6 +535,7 @@ files:
517
535
  - db/migrate/20250721114306_remove_duplicate_services3.rb
518
536
  - db/migrate/20251231162000_add_session_tags.rb
519
537
  - db/migrate/20260130124052_add_sso_status_to_user.rb
538
+ - db/migrate/20260411000000_add_check_code_to_vuln_attempts.rb
520
539
  - lib/mdm.rb
521
540
  - lib/mdm/host/operating_system_normalization.rb
522
541
  - lib/mdm/module.rb