metasploit_data_models 0.7.0 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/.gitignore +3 -0
  2. data/.travis.yml +1 -0
  3. data/app/models/mdm/host.rb +352 -26
  4. data/app/models/mdm/loot.rb +72 -7
  5. data/app/models/mdm/{module_action.rb → module/action.rb} +3 -3
  6. data/app/models/mdm/{module_arch.rb → module/arch.rb} +3 -3
  7. data/app/models/mdm/{module_author.rb → module/author.rb} +3 -3
  8. data/app/models/mdm/module/detail.rb +280 -0
  9. data/app/models/mdm/{module_mixin.rb → module/mixin.rb} +3 -3
  10. data/app/models/mdm/{module_platform.rb → module/platform.rb} +3 -3
  11. data/app/models/mdm/module/ref.rb +48 -0
  12. data/app/models/mdm/{module_target.rb → module/target.rb} +3 -3
  13. data/app/models/mdm/note.rb +61 -6
  14. data/app/models/mdm/ref.rb +39 -1
  15. data/app/models/mdm/service.rb +85 -7
  16. data/app/models/mdm/session.rb +100 -6
  17. data/app/models/mdm/vuln.rb +104 -24
  18. data/db/migrate/20130228214900_change_required_columns_to_null_false_in_web_vulns.rb +1 -17
  19. data/db/migrate/20130412154159_change_foreign_key_in_module_actions.rb +25 -0
  20. data/db/migrate/20130412171844_change_foreign_key_in_module_archs.rb +25 -0
  21. data/db/migrate/20130412173121_change_foreign_key_in_module_authors.rb +25 -0
  22. data/db/migrate/20130412173640_change_foreign_key_in_module_mixins.rb +25 -0
  23. data/db/migrate/20130412174254_change_foreign_key_in_module_platforms.rb +25 -0
  24. data/db/migrate/20130412174719_change_foreign_key_in_module_refs.rb +25 -0
  25. data/db/migrate/20130412175040_change_foreign_key_in_module_targets.rb +25 -0
  26. data/db/migrate/20130430151353_change_required_columns_to_null_false_in_hosts.rb +11 -0
  27. data/db/migrate/20130430162145_enforce_address_uniqueness_in_workspace_in_hosts.rb +23 -0
  28. data/lib/mdm/module.rb +4 -0
  29. data/lib/metasploit_data_models.rb +1 -0
  30. data/lib/metasploit_data_models/change_required_columns_to_null_false.rb +23 -0
  31. data/lib/metasploit_data_models/version.rb +1 -1
  32. data/spec/app/models/mdm/host_spec.rb +411 -0
  33. data/spec/app/models/mdm/host_tag_spec.rb +13 -0
  34. data/spec/app/models/mdm/{module_action_spec.rb → module/action_spec.rb} +6 -6
  35. data/spec/app/models/mdm/{module_arch_spec.rb → module/arch_spec.rb} +6 -6
  36. data/spec/app/models/mdm/{module_author_spec.rb → module/author_spec.rb} +6 -6
  37. data/spec/app/models/mdm/{module_detail_spec.rb → module/detail_spec.rb} +101 -11
  38. data/spec/app/models/mdm/{module_mixin_spec.rb → module/mixin_spec.rb} +6 -6
  39. data/spec/app/models/mdm/{module_platform_spec.rb → module/platform_spec.rb} +6 -6
  40. data/spec/app/models/mdm/module/ref_spec.rb +62 -0
  41. data/spec/app/models/mdm/{module_target_spec.rb → module/target_spec.rb} +6 -6
  42. data/spec/app/models/mdm/ref_spec.rb +62 -0
  43. data/spec/app/models/mdm/tag_spec.rb +13 -0
  44. data/spec/app/models/mdm/vuln_ref_spec.rb +13 -0
  45. data/spec/app/models/mdm/vuln_spec.rb +231 -0
  46. data/spec/dummy/db/schema.rb +20 -20
  47. data/spec/factories/mdm/host_tags.rb +9 -0
  48. data/spec/factories/mdm/hosts.rb +65 -0
  49. data/spec/factories/mdm/module/actions.rb +14 -0
  50. data/spec/factories/mdm/module/archs.rb +14 -0
  51. data/spec/factories/mdm/{module_authors.rb → module/authors.rb} +4 -4
  52. data/spec/factories/mdm/module/details.rb +66 -0
  53. data/spec/factories/mdm/module/mixins.rb +14 -0
  54. data/spec/factories/mdm/module/platforms.rb +14 -0
  55. data/spec/factories/mdm/module/refs.rb +14 -0
  56. data/spec/factories/mdm/{module_targets.rb → module/targets.rb} +3 -3
  57. data/spec/factories/mdm/refs.rb +9 -0
  58. data/spec/factories/mdm/tags.rb +14 -0
  59. data/spec/factories/mdm/vuln_refs.rb +4 -0
  60. data/spec/factories/mdm/vulns.rb +20 -0
  61. metadata +78 -45
  62. data/app/models/mdm/module_detail.rb +0 -59
  63. data/app/models/mdm/module_ref.rb +0 -24
  64. data/spec/app/models/mdm/module_ref_spec.rb +0 -38
  65. data/spec/factories/mdm/module_actions.rb +0 -14
  66. data/spec/factories/mdm/module_archs.rb +0 -14
  67. data/spec/factories/mdm/module_details.rb +0 -9
  68. data/spec/factories/mdm/module_mixins.rb +0 -14
  69. data/spec/factories/mdm/module_platforms.rb +0 -14
  70. data/spec/factories/mdm/module_refs.rb +0 -14
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_module_action, :class => Mdm::Module::Action do
3
+ name { generate :mdm_module_action_name }
4
+
5
+ #
6
+ # Associations
7
+ #
8
+ association :detail, :factory => :mdm_module_detail
9
+ end
10
+
11
+ sequence :mdm_module_action_name do |n|
12
+ "Mdm::Module::Action#name #{n}"
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_module_arch, :class => Mdm::Module::Arch do
3
+ name { generate :mdm_module_arch_name }
4
+
5
+ #
6
+ # Associations
7
+ #
8
+ association :detail, :factory => :mdm_module_detail
9
+ end
10
+
11
+ sequence :mdm_module_arch_name do |n|
12
+ "Mdm::Module::Arch#name #{n}"
13
+ end
14
+ end
@@ -1,11 +1,11 @@
1
1
  FactoryGirl.define do
2
- factory :mdm_module_author, :class => Mdm::ModuleAuthor do
2
+ factory :mdm_module_author, :class => Mdm::Module::Author do
3
3
  name { generate :mdm_module_author_name }
4
4
 
5
5
  #
6
6
  # Associations
7
7
  #
8
- association :module_detail, :factory => :mdm_module_detail
8
+ association :detail, :factory => :mdm_module_detail
9
9
 
10
10
  factory :full_mdm_module_author do
11
11
  email { generate :mdm_module_author_name }
@@ -13,10 +13,10 @@ FactoryGirl.define do
13
13
  end
14
14
 
15
15
  sequence :mdm_module_author_name do |n|
16
- "Mdm::ModuleAuthor#name #{n}"
16
+ "Mdm::Module::Author#name #{n}"
17
17
  end
18
18
 
19
19
  sequence :mdm_module_author_email do |n|
20
- "Mdm::ModuleAuthor#email #{n}"
20
+ "Mdm::Module::Author#email #{n}"
21
21
  end
22
22
  end
@@ -0,0 +1,66 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_module_detail, :class => Mdm::Module::Detail do
3
+ ignore do
4
+ root {
5
+ MetasploitDataModels.root
6
+ }
7
+ modules_pathname { root.join('modules') }
8
+ end
9
+
10
+ description { generate :mdm_module_detail_description }
11
+ disclosure_date { generate :mdm_module_detail_disclosure_date }
12
+ license { generate :mdm_module_detail_license }
13
+ mtime { generate :mdm_module_detail_mtime }
14
+ mtype { generate :mdm_module_detail_mtype }
15
+ privileged { generate :mdm_module_detail_privileged }
16
+ name { generate :mdm_module_detail_name }
17
+ rank { generate :mdm_module_detail_rank }
18
+ refname { generate :mdm_module_detail_refname }
19
+ fullname { "#{mtype}/#{refname}" }
20
+ stance { generate :mdm_module_detail_stance }
21
+
22
+ file {
23
+ type_directory = Mdm::Module::Detail::DIRECTORY_BY_TYPE[mtype]
24
+
25
+ modules_pathname.join(
26
+ type_directory,
27
+ "#{refname}.rb"
28
+ ).to_path
29
+ }
30
+ end
31
+
32
+ sequence :mdm_module_detail_disclosure_date do |n|
33
+ # @todo https://www.pivotaltracker.com/story/show/48450593
34
+ Date.today - n
35
+ end
36
+
37
+ sequence :mdm_module_detail_description do |n|
38
+ "Module Description #{n}"
39
+ end
40
+
41
+ sequence :mdm_module_detail_license do |n|
42
+ "Module License v#{n}"
43
+ end
44
+
45
+ sequence :mdm_module_detail_privileged, Mdm::Module::Detail::PRIVILEGES.cycle
46
+
47
+ sequence :mdm_module_detail_mtime do |n|
48
+ Time.now.utc - n.seconds
49
+ end
50
+
51
+ ordered_types = Mdm::Module::Detail::DIRECTORY_BY_TYPE.keys.sort
52
+ sequence :mdm_module_detail_mtype, ordered_types.cycle
53
+
54
+ sequence :mdm_module_detail_name do |n|
55
+ "Module Name #{n}"
56
+ end
57
+
58
+ ordered_ranks = Mdm::Module::Detail::RANK_BY_NAME.values.sort
59
+ sequence :mdm_module_detail_rank, ordered_ranks.cycle
60
+
61
+ sequence :mdm_module_detail_refname do |n|
62
+ "module/ref/name#{n}"
63
+ end
64
+
65
+ sequence :mdm_module_detail_stance, Mdm::Module::Detail::STANCES.cycle
66
+ end
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_module_mixin, :class => Mdm::Module::Mixin do
3
+ name { generate :mdm_module_mixin_name }
4
+
5
+ #
6
+ # Associations
7
+ #
8
+ association :detail, :factory => :mdm_module_detail
9
+ end
10
+
11
+ sequence :mdm_module_mixin_name do |n|
12
+ "Mdm::Module::Mixin#name #{n}"
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_module_platform, :class => Mdm::Module::Platform do
3
+ name { generate :mdm_module_platform_name }
4
+
5
+ #
6
+ # Associations
7
+ #
8
+ association :detail, :factory => :mdm_module_detail
9
+ end
10
+
11
+ sequence :mdm_module_platform_name do |n|
12
+ "Mdm::Module::Platform#name #{n}"
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_module_ref, :class => Mdm::Module::Ref do
3
+ name { generate :mdm_module_ref_name }
4
+
5
+ #
6
+ # Associations
7
+ #
8
+ association :detail, :factory => :mdm_module_detail
9
+ end
10
+
11
+ sequence :mdm_module_ref_name do |n|
12
+ "Mdm::Module::Ref#name #{n}"
13
+ end
14
+ end
@@ -1,12 +1,12 @@
1
1
  FactoryGirl.define do
2
- factory :mdm_module_target, :class => Mdm::ModuleTarget do
2
+ factory :mdm_module_target, :class => Mdm::Module::Target do
3
3
  index { generate :mdm_module_target_index }
4
4
  name { generate :mdm_module_target_name }
5
5
 
6
6
  #
7
7
  # Associations
8
8
  #
9
- association :module_detail, :factory => :mdm_module_detail
9
+ association :detail, :factory => :mdm_module_detail
10
10
  end
11
11
 
12
12
  sequence :mdm_module_target_index do |n|
@@ -14,6 +14,6 @@ FactoryGirl.define do
14
14
  end
15
15
 
16
16
  sequence :mdm_module_target_name do |n|
17
- "Mdm::ModuleTarget#name #{n}"
17
+ "Mdm::Module::Target#name #{n}"
18
18
  end
19
19
  end
@@ -0,0 +1,9 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_ref, :class => Mdm::Ref do
3
+ name { generate :mdm_ref_name }
4
+ end
5
+
6
+ sequence :mdm_ref_name do |n|
7
+ "Mdm::Ref#name #{n}"
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_tag, :class => Mdm::Tag do
3
+ desc { generate :mdm_tag_desc }
4
+ name { generate :mdm_tag_name }
5
+ end
6
+
7
+ sequence :mdm_tag_desc do |n|
8
+ "Mdm::Tag#description #{n}"
9
+ end
10
+
11
+ sequence :mdm_tag_name do |n|
12
+ "mdm_tag_name#{n}"
13
+ end
14
+ end
@@ -0,0 +1,4 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_vuln_ref, :class => Mdm::VulnRef do
3
+ end
4
+ end
@@ -0,0 +1,20 @@
1
+ FactoryGirl.define do
2
+ factory :mdm_vuln, :class => Mdm::Vuln do
3
+ name { generate :mdm_vuln_name }
4
+
5
+ trait :host do
6
+ association :host, :factory => :mdm_host
7
+ end
8
+
9
+ trait :service do
10
+ association :service, :factory => :mdm_service
11
+ end
12
+
13
+ factory :mdm_host_vuln, :traits => [:host]
14
+ factory :mdm_service_vuln, :traits => [:service]
15
+ end
16
+
17
+ sequence :mdm_vuln_name do |n|
18
+ "Mdm::Vuln#name #{n}"
19
+ end
20
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metasploit_data_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.11.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-05-06 00:00:00.000000000 Z
14
+ date: 2013-05-13 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake
@@ -159,14 +159,14 @@ files:
159
159
  - app/models/mdm/loot.rb
160
160
  - app/models/mdm/macro.rb
161
161
  - app/models/mdm/mod_ref.rb
162
- - app/models/mdm/module_action.rb
163
- - app/models/mdm/module_arch.rb
164
- - app/models/mdm/module_author.rb
165
- - app/models/mdm/module_detail.rb
166
- - app/models/mdm/module_mixin.rb
167
- - app/models/mdm/module_platform.rb
168
- - app/models/mdm/module_ref.rb
169
- - app/models/mdm/module_target.rb
162
+ - app/models/mdm/module/action.rb
163
+ - app/models/mdm/module/arch.rb
164
+ - app/models/mdm/module/author.rb
165
+ - app/models/mdm/module/detail.rb
166
+ - app/models/mdm/module/mixin.rb
167
+ - app/models/mdm/module/platform.rb
168
+ - app/models/mdm/module/ref.rb
169
+ - app/models/mdm/module/target.rb
170
170
  - app/models/mdm/nexpose_console.rb
171
171
  - app/models/mdm/note.rb
172
172
  - app/models/mdm/profile.rb
@@ -278,11 +278,22 @@ files:
278
278
  - db/migrate/20120625000008_add_fail_message.rb
279
279
  - db/migrate/20120718202805_add_owner_and_payload_to_web_vulns.rb
280
280
  - db/migrate/20130228214900_change_required_columns_to_null_false_in_web_vulns.rb
281
+ - db/migrate/20130412154159_change_foreign_key_in_module_actions.rb
282
+ - db/migrate/20130412171844_change_foreign_key_in_module_archs.rb
283
+ - db/migrate/20130412173121_change_foreign_key_in_module_authors.rb
284
+ - db/migrate/20130412173640_change_foreign_key_in_module_mixins.rb
285
+ - db/migrate/20130412174254_change_foreign_key_in_module_platforms.rb
286
+ - db/migrate/20130412174719_change_foreign_key_in_module_refs.rb
287
+ - db/migrate/20130412175040_change_foreign_key_in_module_targets.rb
281
288
  - db/migrate/20130423211152_add_creds_counter_cache.rb
289
+ - db/migrate/20130430151353_change_required_columns_to_null_false_in_hosts.rb
290
+ - db/migrate/20130430162145_enforce_address_uniqueness_in_workspace_in_hosts.rb
282
291
  - lib/mdm.rb
283
292
  - lib/mdm/host/operating_system_normalization.rb
293
+ - lib/mdm/module.rb
284
294
  - lib/metasploit_data_models.rb
285
295
  - lib/metasploit_data_models/base64_serializer.rb
296
+ - lib/metasploit_data_models/change_required_columns_to_null_false.rb
286
297
  - lib/metasploit_data_models/engine.rb
287
298
  - lib/metasploit_data_models/serialized_prefs.rb
288
299
  - lib/metasploit_data_models/validators/ip_format_validator.rb
@@ -291,14 +302,20 @@ files:
291
302
  - lib/tasks/yard.rake
292
303
  - metasploit_data_models.gemspec
293
304
  - script/rails
294
- - spec/app/models/mdm/module_action_spec.rb
295
- - spec/app/models/mdm/module_arch_spec.rb
296
- - spec/app/models/mdm/module_author_spec.rb
297
- - spec/app/models/mdm/module_detail_spec.rb
298
- - spec/app/models/mdm/module_mixin_spec.rb
299
- - spec/app/models/mdm/module_platform_spec.rb
300
- - spec/app/models/mdm/module_ref_spec.rb
301
- - spec/app/models/mdm/module_target_spec.rb
305
+ - spec/app/models/mdm/host_spec.rb
306
+ - spec/app/models/mdm/host_tag_spec.rb
307
+ - spec/app/models/mdm/module/action_spec.rb
308
+ - spec/app/models/mdm/module/arch_spec.rb
309
+ - spec/app/models/mdm/module/author_spec.rb
310
+ - spec/app/models/mdm/module/detail_spec.rb
311
+ - spec/app/models/mdm/module/mixin_spec.rb
312
+ - spec/app/models/mdm/module/platform_spec.rb
313
+ - spec/app/models/mdm/module/ref_spec.rb
314
+ - spec/app/models/mdm/module/target_spec.rb
315
+ - spec/app/models/mdm/ref_spec.rb
316
+ - spec/app/models/mdm/tag_spec.rb
317
+ - spec/app/models/mdm/vuln_ref_spec.rb
318
+ - spec/app/models/mdm/vuln_spec.rb
302
319
  - spec/app/models/mdm/web_vuln_spec.rb
303
320
  - spec/dummy/Rakefile
304
321
  - spec/dummy/app/assets/javascripts/application.js
@@ -333,17 +350,22 @@ files:
333
350
  - spec/dummy/public/favicon.ico
334
351
  - spec/dummy/script/rails
335
352
  - spec/factories/mdm/addresses.rb
353
+ - spec/factories/mdm/host_tags.rb
336
354
  - spec/factories/mdm/hosts.rb
337
- - spec/factories/mdm/module_actions.rb
338
- - spec/factories/mdm/module_archs.rb
339
- - spec/factories/mdm/module_authors.rb
340
- - spec/factories/mdm/module_details.rb
341
- - spec/factories/mdm/module_mixins.rb
342
- - spec/factories/mdm/module_platforms.rb
343
- - spec/factories/mdm/module_refs.rb
344
- - spec/factories/mdm/module_targets.rb
355
+ - spec/factories/mdm/module/actions.rb
356
+ - spec/factories/mdm/module/archs.rb
357
+ - spec/factories/mdm/module/authors.rb
358
+ - spec/factories/mdm/module/details.rb
359
+ - spec/factories/mdm/module/mixins.rb
360
+ - spec/factories/mdm/module/platforms.rb
361
+ - spec/factories/mdm/module/refs.rb
362
+ - spec/factories/mdm/module/targets.rb
363
+ - spec/factories/mdm/refs.rb
345
364
  - spec/factories/mdm/services.rb
365
+ - spec/factories/mdm/tags.rb
346
366
  - spec/factories/mdm/users.rb
367
+ - spec/factories/mdm/vuln_refs.rb
368
+ - spec/factories/mdm/vulns.rb
347
369
  - spec/factories/mdm/web_sites.rb
348
370
  - spec/factories/mdm/web_vulns.rb
349
371
  - spec/factories/mdm/workspaces.rb
@@ -363,7 +385,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
363
385
  version: '0'
364
386
  segments:
365
387
  - 0
366
- hash: 1381775602727200262
388
+ hash: -2449468095593204156
367
389
  required_rubygems_version: !ruby/object:Gem::Requirement
368
390
  none: false
369
391
  requirements:
@@ -372,22 +394,28 @@ required_rubygems_version: !ruby/object:Gem::Requirement
372
394
  version: '0'
373
395
  segments:
374
396
  - 0
375
- hash: 1381775602727200262
397
+ hash: -2449468095593204156
376
398
  requirements: []
377
399
  rubyforge_project:
378
- rubygems_version: 1.8.24
400
+ rubygems_version: 1.8.25
379
401
  signing_key:
380
402
  specification_version: 3
381
403
  summary: Database code for MSF and Metasploit Pro
382
404
  test_files:
383
- - spec/app/models/mdm/module_action_spec.rb
384
- - spec/app/models/mdm/module_arch_spec.rb
385
- - spec/app/models/mdm/module_author_spec.rb
386
- - spec/app/models/mdm/module_detail_spec.rb
387
- - spec/app/models/mdm/module_mixin_spec.rb
388
- - spec/app/models/mdm/module_platform_spec.rb
389
- - spec/app/models/mdm/module_ref_spec.rb
390
- - spec/app/models/mdm/module_target_spec.rb
405
+ - spec/app/models/mdm/host_spec.rb
406
+ - spec/app/models/mdm/host_tag_spec.rb
407
+ - spec/app/models/mdm/module/action_spec.rb
408
+ - spec/app/models/mdm/module/arch_spec.rb
409
+ - spec/app/models/mdm/module/author_spec.rb
410
+ - spec/app/models/mdm/module/detail_spec.rb
411
+ - spec/app/models/mdm/module/mixin_spec.rb
412
+ - spec/app/models/mdm/module/platform_spec.rb
413
+ - spec/app/models/mdm/module/ref_spec.rb
414
+ - spec/app/models/mdm/module/target_spec.rb
415
+ - spec/app/models/mdm/ref_spec.rb
416
+ - spec/app/models/mdm/tag_spec.rb
417
+ - spec/app/models/mdm/vuln_ref_spec.rb
418
+ - spec/app/models/mdm/vuln_spec.rb
391
419
  - spec/app/models/mdm/web_vuln_spec.rb
392
420
  - spec/dummy/Rakefile
393
421
  - spec/dummy/app/assets/javascripts/application.js
@@ -422,17 +450,22 @@ test_files:
422
450
  - spec/dummy/public/favicon.ico
423
451
  - spec/dummy/script/rails
424
452
  - spec/factories/mdm/addresses.rb
453
+ - spec/factories/mdm/host_tags.rb
425
454
  - spec/factories/mdm/hosts.rb
426
- - spec/factories/mdm/module_actions.rb
427
- - spec/factories/mdm/module_archs.rb
428
- - spec/factories/mdm/module_authors.rb
429
- - spec/factories/mdm/module_details.rb
430
- - spec/factories/mdm/module_mixins.rb
431
- - spec/factories/mdm/module_platforms.rb
432
- - spec/factories/mdm/module_refs.rb
433
- - spec/factories/mdm/module_targets.rb
455
+ - spec/factories/mdm/module/actions.rb
456
+ - spec/factories/mdm/module/archs.rb
457
+ - spec/factories/mdm/module/authors.rb
458
+ - spec/factories/mdm/module/details.rb
459
+ - spec/factories/mdm/module/mixins.rb
460
+ - spec/factories/mdm/module/platforms.rb
461
+ - spec/factories/mdm/module/refs.rb
462
+ - spec/factories/mdm/module/targets.rb
463
+ - spec/factories/mdm/refs.rb
434
464
  - spec/factories/mdm/services.rb
465
+ - spec/factories/mdm/tags.rb
435
466
  - spec/factories/mdm/users.rb
467
+ - spec/factories/mdm/vuln_refs.rb
468
+ - spec/factories/mdm/vulns.rb
436
469
  - spec/factories/mdm/web_sites.rb
437
470
  - spec/factories/mdm/web_vulns.rb
438
471
  - spec/factories/mdm/workspaces.rb