mihari 5.2.3 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -1
  3. data/README.md +0 -10
  4. data/Rakefile +7 -1
  5. data/build_frontend.sh +2 -10
  6. data/frontend/.eslintrc.cjs +22 -0
  7. data/frontend/.gitignore +31 -0
  8. data/frontend/.prettierrc.json +8 -0
  9. data/frontend/README.md +3 -0
  10. data/frontend/env.d.ts +5 -0
  11. data/frontend/index.html +21 -0
  12. data/frontend/package-lock.json +8650 -0
  13. data/frontend/package.json +64 -0
  14. data/frontend/public/favicon.ico +0 -0
  15. data/frontend/scripts/swagger_doc_to_yaml.rb +23 -0
  16. data/frontend/src/App.vue +27 -0
  17. data/frontend/src/api-helper.ts +111 -0
  18. data/frontend/src/api.ts +105 -0
  19. data/frontend/src/components/ErrorMessage.vue +32 -0
  20. data/frontend/src/components/Loading.vue +15 -0
  21. data/frontend/src/components/Navbar.vue +42 -0
  22. data/frontend/src/components/Pagination.vue +119 -0
  23. data/frontend/src/components/alert/Alert.vue +87 -0
  24. data/frontend/src/components/alert/Alerts.vue +64 -0
  25. data/frontend/src/components/alert/AlertsWithPagination.vue +91 -0
  26. data/frontend/src/components/alert/AlertsWrapper.vue +134 -0
  27. data/frontend/src/components/alert/Form.vue +184 -0
  28. data/frontend/src/components/artifact/AS.vue +29 -0
  29. data/frontend/src/components/artifact/Artifact.vue +304 -0
  30. data/frontend/src/components/artifact/ArtifactTag.vue +64 -0
  31. data/frontend/src/components/artifact/ArtifactTags.vue +29 -0
  32. data/frontend/src/components/artifact/ArtifactWrapper.vue +59 -0
  33. data/frontend/src/components/artifact/CPEs.vue +23 -0
  34. data/frontend/src/components/artifact/DnsRecords.vue +38 -0
  35. data/frontend/src/components/artifact/Ports.vue +23 -0
  36. data/frontend/src/components/artifact/ReverseDnsNames.vue +31 -0
  37. data/frontend/src/components/artifact/Tags.vue +29 -0
  38. data/frontend/src/components/artifact/WhoisRecord.vue +47 -0
  39. data/frontend/src/components/config/Configs.vue +65 -0
  40. data/frontend/src/components/config/ConfigsWrapper.vue +34 -0
  41. data/frontend/src/components/link/Link.vue +32 -0
  42. data/frontend/src/components/link/Links.vue +42 -0
  43. data/frontend/src/components/rule/EditRule.vue +74 -0
  44. data/frontend/src/components/rule/EditRuleWrapper.vue +50 -0
  45. data/frontend/src/components/rule/Form.vue +160 -0
  46. data/frontend/src/components/rule/InputForm.vue +86 -0
  47. data/frontend/src/components/rule/NewRule.vue +60 -0
  48. data/frontend/src/components/rule/Rule.vue +106 -0
  49. data/frontend/src/components/rule/RuleWrapper.vue +55 -0
  50. data/frontend/src/components/rule/Rules.vue +84 -0
  51. data/frontend/src/components/rule/RulesWrapper.vue +127 -0
  52. data/frontend/src/components/rule/YAML.vue +44 -0
  53. data/frontend/src/components/tag/Tag.vue +65 -0
  54. data/frontend/src/components/tag/Tags.vue +37 -0
  55. data/frontend/src/countries.ts +350 -0
  56. data/frontend/src/index.ts +20 -0
  57. data/frontend/src/links/anyrun.ts +19 -0
  58. data/frontend/src/links/base.ts +14 -0
  59. data/frontend/src/links/censys.ts +20 -0
  60. data/frontend/src/links/crtsh.ts +20 -0
  61. data/frontend/src/links/dnslytics.ts +38 -0
  62. data/frontend/src/links/greynoise.ts +20 -0
  63. data/frontend/src/links/index.ts +40 -0
  64. data/frontend/src/links/intezer.ts +20 -0
  65. data/frontend/src/links/otx.ts +33 -0
  66. data/frontend/src/links/securitytrails.ts +38 -0
  67. data/frontend/src/links/shodan.ts +20 -0
  68. data/frontend/src/links/urlscan.ts +50 -0
  69. data/frontend/src/links/virustotal.ts +72 -0
  70. data/frontend/src/main.ts +11 -0
  71. data/frontend/src/router/index.ts +57 -0
  72. data/frontend/src/rule.ts +14 -0
  73. data/frontend/src/shims-vue.d.ts +6 -0
  74. data/frontend/src/swagger.yaml +737 -0
  75. data/frontend/src/types.ts +188 -0
  76. data/frontend/src/utils.ts +54 -0
  77. data/frontend/src/views/Alerts.vue +20 -0
  78. data/frontend/src/views/Artifact.vue +44 -0
  79. data/frontend/src/views/Configs.vue +20 -0
  80. data/frontend/src/views/EditRule.vue +44 -0
  81. data/frontend/src/views/NewRule.vue +26 -0
  82. data/frontend/src/views/Rule.vue +44 -0
  83. data/frontend/src/views/Rules.vue +20 -0
  84. data/frontend/tests/utils.spec.ts +9 -0
  85. data/frontend/tsconfig.app.json +21 -0
  86. data/frontend/tsconfig.json +14 -0
  87. data/frontend/tsconfig.node.json +13 -0
  88. data/frontend/tsconfig.vitest.json +12 -0
  89. data/frontend/vite.config.ts +24 -0
  90. data/frontend/vitest.config.ts +21 -0
  91. data/lefthook.yml +12 -0
  92. data/lib/mihari/analyzers/base.rb +63 -12
  93. data/lib/mihari/analyzers/binaryedge.rb +10 -15
  94. data/lib/mihari/analyzers/censys.rb +12 -15
  95. data/lib/mihari/analyzers/circl.rb +10 -10
  96. data/lib/mihari/analyzers/crtsh.rb +10 -6
  97. data/lib/mihari/analyzers/dnstwister.rb +6 -8
  98. data/lib/mihari/analyzers/feed.rb +21 -10
  99. data/lib/mihari/analyzers/greynoise.rb +10 -20
  100. data/lib/mihari/analyzers/onyphe.rb +9 -14
  101. data/lib/mihari/analyzers/otx.rb +8 -9
  102. data/lib/mihari/analyzers/passivetotal.rb +10 -10
  103. data/lib/mihari/analyzers/pulsedive.rb +21 -31
  104. data/lib/mihari/analyzers/rule.rb +8 -29
  105. data/lib/mihari/analyzers/securitytrails.rb +8 -6
  106. data/lib/mihari/analyzers/shodan.rb +8 -13
  107. data/lib/mihari/analyzers/urlscan.rb +15 -20
  108. data/lib/mihari/analyzers/virustotal.rb +16 -26
  109. data/lib/mihari/analyzers/virustotal_intelligence.rb +11 -17
  110. data/lib/mihari/analyzers/zoomeye.rb +12 -17
  111. data/lib/mihari/commands/search.rb +16 -7
  112. data/lib/mihari/config.rb +133 -0
  113. data/lib/mihari/constants.rb +3 -0
  114. data/lib/mihari/emitters/slack.rb +13 -3
  115. data/lib/mihari/entities/rule.rb +1 -1
  116. data/lib/mihari/entities/tag.rb +1 -1
  117. data/lib/mihari/errors.rb +1 -1
  118. data/lib/mihari/http.rb +2 -3
  119. data/lib/mihari/schemas/analyzer.rb +4 -7
  120. data/lib/mihari/schemas/rule.rb +1 -1
  121. data/lib/mihari/structs/config.rb +39 -16
  122. data/lib/mihari/structs/rule.rb +1 -1
  123. data/lib/mihari/type_checker.rb +6 -6
  124. data/lib/mihari/version.rb +1 -1
  125. data/lib/mihari/web/endpoints/configs.rb +5 -1
  126. data/lib/mihari/web/public/assets/{index-eed1bcd8.css → index-2ba8f0a6.css} +1 -1
  127. data/lib/mihari/web/public/assets/index-71285b15.js +50 -0
  128. data/lib/mihari/web/public/index.html +2 -2
  129. data/lib/mihari/web/public/redoc-static.html +388 -2193
  130. data/lib/mihari.rb +9 -59
  131. data/mihari.gemspec +13 -13
  132. metadata +112 -69
  133. data/.gitmodules +0 -0
  134. data/.overcommit.yml +0 -12
  135. data/lib/mihari/web/public/assets/index-cbe1734c.js +0 -50
data/lib/mihari.rb CHANGED
@@ -19,7 +19,6 @@ require "active_support/core_ext/object/deep_dup"
19
19
  require "active_record"
20
20
 
21
21
  # dry-rb
22
- require "dry/configurable"
23
22
  require "dry/files"
24
23
  require "dry/initializer"
25
24
  require "dry/schema"
@@ -51,6 +50,8 @@ require "dotenv/load"
51
50
  require "mihari/version"
52
51
  require "mihari/errors"
53
52
 
53
+ require "mihari/config"
54
+
54
55
  # Mixins
55
56
  require "mihari/mixins/autonomous_system"
56
57
  require "mihari/mixins/configurable"
@@ -60,55 +61,6 @@ require "mihari/mixins/refang"
60
61
  require "mihari/mixins/retriable"
61
62
 
62
63
  module Mihari
63
- extend Dry::Configurable
64
-
65
- setting :binaryedge_api_key, default: ENV.fetch("BINARYEDGE_API_KEY", nil)
66
-
67
- setting :censys_id, default: ENV.fetch("CENSYS_ID", nil)
68
- setting :censys_secret, default: ENV.fetch("CENSYS_SECRET", nil)
69
-
70
- setting :circl_passive_password, default: ENV.fetch("CIRCL_PASSIVE_PASSWORD", nil)
71
- setting :circl_passive_username, default: ENV.fetch("CIRCL_PASSIVE_USERNAME", nil)
72
-
73
- setting :database_url, default: URI(ENV.fetch("DATABASE_URL", "sqlite3:///mihari.db"))
74
-
75
- setting :greynoise_api_key, default: ENV.fetch("GREYNOISE_API_KEY", nil)
76
-
77
- setting :ipinfo_api_key, default: ENV.fetch("IPINFO_API_KEY", nil)
78
-
79
- setting :misp_url, default: ENV.fetch("MISP_URL", nil)
80
- setting :misp_api_key, default: ENV.fetch("MISP_API_KEY", nil)
81
-
82
- setting :onyphe_api_key, default: ENV.fetch("ONYPHE_API_KEY", nil)
83
-
84
- setting :otx_api_key, default: ENV.fetch("OTX_API_KEY", nil)
85
-
86
- setting :passivetotal_api_key, default: ENV.fetch("PASSIVETOTAL_API_KEY", nil)
87
- setting :passivetotal_username, default: ENV.fetch("PASSIVETOTAL_USERNAME", nil)
88
-
89
- setting :pulsedive_api_key, default: ENV.fetch("PULSEDIVE_API_KEY", nil)
90
-
91
- setting :securitytrails_api_key, default: ENV.fetch("SECURITYTRAILS_API_KEY", nil)
92
-
93
- setting :shodan_api_key, default: ENV.fetch("SHODAN_API_KEY", nil)
94
-
95
- setting :slack_channel, default: ENV.fetch("SLACK_CHANNEL", nil)
96
- setting :slack_webhook_url, default: ENV.fetch("SLACK_WEBHOOK_URL", nil)
97
-
98
- setting :thehive_url, default: ENV.fetch("THEHIVE_URL", nil)
99
- setting :thehive_api_key, default: ENV.fetch("THEHIVE_API_KEY", nil)
100
- setting :thehive_api_version, default: ENV.fetch("THEHIVE_API_VERSION", nil)
101
-
102
- setting :urlscan_api_key, default: ENV.fetch("URLSCAN_API_KEY", nil)
103
-
104
- setting :virustotal_api_key, default: ENV.fetch("VIRUSTOTAL_API_KEY", nil)
105
-
106
- setting :zoomeye_api_key, default: ENV.fetch("ZOOMEYE_API_KEY", nil)
107
-
108
- setting :sentry_dsn, default: ENV.fetch("SENTRY_DSN", nil)
109
-
110
- setting :hide_config_values, default: ENV.fetch("HIDE_CONFIG_VALUES", false)
111
-
112
64
  class << self
113
65
  include Memist::Memoizable
114
66
 
@@ -127,10 +79,8 @@ module Mihari
127
79
  end
128
80
  memoize :enrichers
129
81
 
130
- def configs
131
- (Mihari.analyzers + Mihari.emitters + Mihari.enrichers).map do |klass|
132
- Mihari::Structs::Config.from_class(klass)
133
- end.compact
82
+ def config
83
+ @config ||= Config.new
134
84
  end
135
85
 
136
86
  def logger
@@ -153,17 +103,17 @@ module Mihari
153
103
  end
154
104
  end
155
105
 
156
- require "mihari/database"
157
- require "mihari/type_checker"
158
-
159
- require "mihari/http"
160
-
161
106
  # Constants
162
107
  require "mihari/constants"
163
108
 
164
109
  # Types
165
110
  require "mihari/types"
166
111
 
112
+ # Core classes
113
+ require "mihari/database"
114
+ require "mihari/type_checker"
115
+ require "mihari/http"
116
+
167
117
  # Structs
168
118
  require "mihari/structs/censys"
169
119
  require "mihari/structs/config"
data/mihari.gemspec CHANGED
@@ -28,6 +28,9 @@ Gem::Specification.new do |spec|
28
28
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
29
29
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|images|docker|.github)/}) }
30
30
  end
31
+ # Include frontend assets in lib/mihari/web/public
32
+ spec.files += Dir.glob("lib/mihari/web/public/**/*")
33
+
31
34
  spec.bindir = "exe"
32
35
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
33
36
  spec.require_paths = ["lib"]
@@ -44,34 +47,31 @@ Gem::Specification.new do |spec|
44
47
  spec.add_development_dependency "rerun", "~> 0.14"
45
48
  spec.add_development_dependency "rspec", "~> 3.12"
46
49
  spec.add_development_dependency "simplecov-lcov", "~> 0.8.0"
47
- spec.add_development_dependency "standard", "~> 1.28"
50
+ spec.add_development_dependency "standard", "~> 1.29"
48
51
  spec.add_development_dependency "timecop", "~> 0.9"
49
- spec.add_development_dependency "vcr", "~> 6.1"
52
+ spec.add_development_dependency "vcr", "~> 6.2"
50
53
  spec.add_development_dependency "webmock", "~> 3.18"
51
54
 
52
55
  unless ci_env?
53
- spec.add_development_dependency "overcommit", "~> 0.60"
54
- spec.add_development_dependency "ruby-lsp", "~> 0.5"
56
+ spec.add_development_dependency "lefthook", "~> 1.4"
55
57
  spec.add_development_dependency "solargraph", "~> 0.49"
56
58
  spec.add_development_dependency "steep", "~> 1.4"
57
59
  end
58
60
 
59
- spec.add_dependency "activerecord", "7.0.5"
61
+ spec.add_dependency "activerecord", "7.0.6"
60
62
  spec.add_dependency "addressable", "2.8.4"
61
63
  spec.add_dependency "awrence", "2.0.1"
62
64
  spec.add_dependency "dotenv", "2.8.1"
63
- spec.add_dependency "dry-configurable", "1.0.1"
64
65
  spec.add_dependency "dry-container", "0.11.0"
65
66
  spec.add_dependency "dry-files", "1.0.1"
66
- spec.add_dependency "dry-initializer", "3.1.1"
67
- spec.add_dependency "dry-schema", "1.13.1"
67
+ spec.add_dependency "dry-schema", "1.13.2"
68
68
  spec.add_dependency "dry-struct", "1.6.0"
69
69
  spec.add_dependency "dry-validation", "1.10.0"
70
70
  spec.add_dependency "email_address", "0.2.4"
71
71
  spec.add_dependency "grape", "1.7.0"
72
72
  spec.add_dependency "grape-entity", "1.0.0"
73
73
  spec.add_dependency "grape-swagger", "1.6.1"
74
- spec.add_dependency "grape-swagger-entity", "0.5.1"
74
+ spec.add_dependency "grape-swagger-entity", "0.5.2"
75
75
  spec.add_dependency "insensitive_hash", "0.3.3"
76
76
  spec.add_dependency "jr-cli", "0.6.0"
77
77
  spec.add_dependency "launchy", "2.5.2"
@@ -80,13 +80,13 @@ Gem::Specification.new do |spec|
80
80
  spec.add_dependency "normalize_country", "0.3.2"
81
81
  spec.add_dependency "parallel", "1.23.0"
82
82
  spec.add_dependency "plissken", "2.0.1"
83
- spec.add_dependency "public_suffix", "5.0.1"
84
- spec.add_dependency "puma", "6.2.2"
85
- spec.add_dependency "rack", "3.0.7"
83
+ spec.add_dependency "public_suffix", "5.0.3"
84
+ spec.add_dependency "puma", "6.3.0"
85
+ spec.add_dependency "rack", "3.0.8"
86
86
  spec.add_dependency "rack-cors", "2.0.1"
87
87
  spec.add_dependency "rackup", "2.1.0"
88
88
  spec.add_dependency "semantic_logger", "4.13.0"
89
- spec.add_dependency "sentry-ruby", "5.9.0"
89
+ spec.add_dependency "sentry-ruby", "5.10.0"
90
90
  spec.add_dependency "slack-notifier", "2.4.0"
91
91
  spec.add_dependency "sqlite3", "1.6.3"
92
92
  spec.add_dependency "thor", "1.2.2"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mihari
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.3
4
+ version: 5.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manabu Niseki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-27 00:00:00.000000000 Z
11
+ date: 2023-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '1.28'
187
+ version: '1.29'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '1.28'
194
+ version: '1.29'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: timecop
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +212,14 @@ dependencies:
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '6.1'
215
+ version: '6.2'
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: '6.1'
222
+ version: '6.2'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: webmock
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -235,33 +235,19 @@ dependencies:
235
235
  - !ruby/object:Gem::Version
236
236
  version: '3.18'
237
237
  - !ruby/object:Gem::Dependency
238
- name: overcommit
238
+ name: lefthook
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
241
  - - "~>"
242
242
  - !ruby/object:Gem::Version
243
- version: '0.60'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - "~>"
249
- - !ruby/object:Gem::Version
250
- version: '0.60'
251
- - !ruby/object:Gem::Dependency
252
- name: ruby-lsp
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - "~>"
256
- - !ruby/object:Gem::Version
257
- version: '0.5'
243
+ version: '1.4'
258
244
  type: :development
259
245
  prerelease: false
260
246
  version_requirements: !ruby/object:Gem::Requirement
261
247
  requirements:
262
248
  - - "~>"
263
249
  - !ruby/object:Gem::Version
264
- version: '0.5'
250
+ version: '1.4'
265
251
  - !ruby/object:Gem::Dependency
266
252
  name: solargraph
267
253
  requirement: !ruby/object:Gem::Requirement
@@ -296,14 +282,14 @@ dependencies:
296
282
  requirements:
297
283
  - - '='
298
284
  - !ruby/object:Gem::Version
299
- version: 7.0.5
285
+ version: 7.0.6
300
286
  type: :runtime
301
287
  prerelease: false
302
288
  version_requirements: !ruby/object:Gem::Requirement
303
289
  requirements:
304
290
  - - '='
305
291
  - !ruby/object:Gem::Version
306
- version: 7.0.5
292
+ version: 7.0.6
307
293
  - !ruby/object:Gem::Dependency
308
294
  name: addressable
309
295
  requirement: !ruby/object:Gem::Requirement
@@ -346,20 +332,6 @@ dependencies:
346
332
  - - '='
347
333
  - !ruby/object:Gem::Version
348
334
  version: 2.8.1
349
- - !ruby/object:Gem::Dependency
350
- name: dry-configurable
351
- requirement: !ruby/object:Gem::Requirement
352
- requirements:
353
- - - '='
354
- - !ruby/object:Gem::Version
355
- version: 1.0.1
356
- type: :runtime
357
- prerelease: false
358
- version_requirements: !ruby/object:Gem::Requirement
359
- requirements:
360
- - - '='
361
- - !ruby/object:Gem::Version
362
- version: 1.0.1
363
335
  - !ruby/object:Gem::Dependency
364
336
  name: dry-container
365
337
  requirement: !ruby/object:Gem::Requirement
@@ -388,34 +360,20 @@ dependencies:
388
360
  - - '='
389
361
  - !ruby/object:Gem::Version
390
362
  version: 1.0.1
391
- - !ruby/object:Gem::Dependency
392
- name: dry-initializer
393
- requirement: !ruby/object:Gem::Requirement
394
- requirements:
395
- - - '='
396
- - !ruby/object:Gem::Version
397
- version: 3.1.1
398
- type: :runtime
399
- prerelease: false
400
- version_requirements: !ruby/object:Gem::Requirement
401
- requirements:
402
- - - '='
403
- - !ruby/object:Gem::Version
404
- version: 3.1.1
405
363
  - !ruby/object:Gem::Dependency
406
364
  name: dry-schema
407
365
  requirement: !ruby/object:Gem::Requirement
408
366
  requirements:
409
367
  - - '='
410
368
  - !ruby/object:Gem::Version
411
- version: 1.13.1
369
+ version: 1.13.2
412
370
  type: :runtime
413
371
  prerelease: false
414
372
  version_requirements: !ruby/object:Gem::Requirement
415
373
  requirements:
416
374
  - - '='
417
375
  - !ruby/object:Gem::Version
418
- version: 1.13.1
376
+ version: 1.13.2
419
377
  - !ruby/object:Gem::Dependency
420
378
  name: dry-struct
421
379
  requirement: !ruby/object:Gem::Requirement
@@ -506,14 +464,14 @@ dependencies:
506
464
  requirements:
507
465
  - - '='
508
466
  - !ruby/object:Gem::Version
509
- version: 0.5.1
467
+ version: 0.5.2
510
468
  type: :runtime
511
469
  prerelease: false
512
470
  version_requirements: !ruby/object:Gem::Requirement
513
471
  requirements:
514
472
  - - '='
515
473
  - !ruby/object:Gem::Version
516
- version: 0.5.1
474
+ version: 0.5.2
517
475
  - !ruby/object:Gem::Dependency
518
476
  name: insensitive_hash
519
477
  requirement: !ruby/object:Gem::Requirement
@@ -632,42 +590,42 @@ dependencies:
632
590
  requirements:
633
591
  - - '='
634
592
  - !ruby/object:Gem::Version
635
- version: 5.0.1
593
+ version: 5.0.3
636
594
  type: :runtime
637
595
  prerelease: false
638
596
  version_requirements: !ruby/object:Gem::Requirement
639
597
  requirements:
640
598
  - - '='
641
599
  - !ruby/object:Gem::Version
642
- version: 5.0.1
600
+ version: 5.0.3
643
601
  - !ruby/object:Gem::Dependency
644
602
  name: puma
645
603
  requirement: !ruby/object:Gem::Requirement
646
604
  requirements:
647
605
  - - '='
648
606
  - !ruby/object:Gem::Version
649
- version: 6.2.2
607
+ version: 6.3.0
650
608
  type: :runtime
651
609
  prerelease: false
652
610
  version_requirements: !ruby/object:Gem::Requirement
653
611
  requirements:
654
612
  - - '='
655
613
  - !ruby/object:Gem::Version
656
- version: 6.2.2
614
+ version: 6.3.0
657
615
  - !ruby/object:Gem::Dependency
658
616
  name: rack
659
617
  requirement: !ruby/object:Gem::Requirement
660
618
  requirements:
661
619
  - - '='
662
620
  - !ruby/object:Gem::Version
663
- version: 3.0.7
621
+ version: 3.0.8
664
622
  type: :runtime
665
623
  prerelease: false
666
624
  version_requirements: !ruby/object:Gem::Requirement
667
625
  requirements:
668
626
  - - '='
669
627
  - !ruby/object:Gem::Version
670
- version: 3.0.7
628
+ version: 3.0.8
671
629
  - !ruby/object:Gem::Dependency
672
630
  name: rack-cors
673
631
  requirement: !ruby/object:Gem::Requirement
@@ -716,14 +674,14 @@ dependencies:
716
674
  requirements:
717
675
  - - '='
718
676
  - !ruby/object:Gem::Version
719
- version: 5.9.0
677
+ version: 5.10.0
720
678
  type: :runtime
721
679
  prerelease: false
722
680
  version_requirements: !ruby/object:Gem::Requirement
723
681
  requirements:
724
682
  - - '='
725
683
  - !ruby/object:Gem::Version
726
- version: 5.9.0
684
+ version: 5.10.0
727
685
  - !ruby/object:Gem::Dependency
728
686
  name: slack-notifier
729
687
  requirement: !ruby/object:Gem::Requirement
@@ -817,8 +775,6 @@ extensions: []
817
775
  extra_rdoc_files: []
818
776
  files:
819
777
  - ".gitignore"
820
- - ".gitmodules"
821
- - ".overcommit.yml"
822
778
  - ".rspec"
823
779
  - ".rubocop.yml"
824
780
  - ".standard.yml"
@@ -832,6 +788,92 @@ files:
832
788
  - build_frontend.sh
833
789
  - config.ru
834
790
  - exe/mihari
791
+ - frontend/.eslintrc.cjs
792
+ - frontend/.gitignore
793
+ - frontend/.prettierrc.json
794
+ - frontend/README.md
795
+ - frontend/env.d.ts
796
+ - frontend/index.html
797
+ - frontend/package-lock.json
798
+ - frontend/package.json
799
+ - frontend/public/favicon.ico
800
+ - frontend/scripts/swagger_doc_to_yaml.rb
801
+ - frontend/src/App.vue
802
+ - frontend/src/api-helper.ts
803
+ - frontend/src/api.ts
804
+ - frontend/src/components/ErrorMessage.vue
805
+ - frontend/src/components/Loading.vue
806
+ - frontend/src/components/Navbar.vue
807
+ - frontend/src/components/Pagination.vue
808
+ - frontend/src/components/alert/Alert.vue
809
+ - frontend/src/components/alert/Alerts.vue
810
+ - frontend/src/components/alert/AlertsWithPagination.vue
811
+ - frontend/src/components/alert/AlertsWrapper.vue
812
+ - frontend/src/components/alert/Form.vue
813
+ - frontend/src/components/artifact/AS.vue
814
+ - frontend/src/components/artifact/Artifact.vue
815
+ - frontend/src/components/artifact/ArtifactTag.vue
816
+ - frontend/src/components/artifact/ArtifactTags.vue
817
+ - frontend/src/components/artifact/ArtifactWrapper.vue
818
+ - frontend/src/components/artifact/CPEs.vue
819
+ - frontend/src/components/artifact/DnsRecords.vue
820
+ - frontend/src/components/artifact/Ports.vue
821
+ - frontend/src/components/artifact/ReverseDnsNames.vue
822
+ - frontend/src/components/artifact/Tags.vue
823
+ - frontend/src/components/artifact/WhoisRecord.vue
824
+ - frontend/src/components/config/Configs.vue
825
+ - frontend/src/components/config/ConfigsWrapper.vue
826
+ - frontend/src/components/link/Link.vue
827
+ - frontend/src/components/link/Links.vue
828
+ - frontend/src/components/rule/EditRule.vue
829
+ - frontend/src/components/rule/EditRuleWrapper.vue
830
+ - frontend/src/components/rule/Form.vue
831
+ - frontend/src/components/rule/InputForm.vue
832
+ - frontend/src/components/rule/NewRule.vue
833
+ - frontend/src/components/rule/Rule.vue
834
+ - frontend/src/components/rule/RuleWrapper.vue
835
+ - frontend/src/components/rule/Rules.vue
836
+ - frontend/src/components/rule/RulesWrapper.vue
837
+ - frontend/src/components/rule/YAML.vue
838
+ - frontend/src/components/tag/Tag.vue
839
+ - frontend/src/components/tag/Tags.vue
840
+ - frontend/src/countries.ts
841
+ - frontend/src/index.ts
842
+ - frontend/src/links/anyrun.ts
843
+ - frontend/src/links/base.ts
844
+ - frontend/src/links/censys.ts
845
+ - frontend/src/links/crtsh.ts
846
+ - frontend/src/links/dnslytics.ts
847
+ - frontend/src/links/greynoise.ts
848
+ - frontend/src/links/index.ts
849
+ - frontend/src/links/intezer.ts
850
+ - frontend/src/links/otx.ts
851
+ - frontend/src/links/securitytrails.ts
852
+ - frontend/src/links/shodan.ts
853
+ - frontend/src/links/urlscan.ts
854
+ - frontend/src/links/virustotal.ts
855
+ - frontend/src/main.ts
856
+ - frontend/src/router/index.ts
857
+ - frontend/src/rule.ts
858
+ - frontend/src/shims-vue.d.ts
859
+ - frontend/src/swagger.yaml
860
+ - frontend/src/types.ts
861
+ - frontend/src/utils.ts
862
+ - frontend/src/views/Alerts.vue
863
+ - frontend/src/views/Artifact.vue
864
+ - frontend/src/views/Configs.vue
865
+ - frontend/src/views/EditRule.vue
866
+ - frontend/src/views/NewRule.vue
867
+ - frontend/src/views/Rule.vue
868
+ - frontend/src/views/Rules.vue
869
+ - frontend/tests/utils.spec.ts
870
+ - frontend/tsconfig.app.json
871
+ - frontend/tsconfig.json
872
+ - frontend/tsconfig.node.json
873
+ - frontend/tsconfig.vitest.json
874
+ - frontend/vite.config.ts
875
+ - frontend/vitest.config.ts
876
+ - lefthook.yml
835
877
  - lib/mihari.rb
836
878
  - lib/mihari/analyzers/base.rb
837
879
  - lib/mihari/analyzers/binaryedge.rb
@@ -879,6 +921,7 @@ files:
879
921
  - lib/mihari/commands/search.rb
880
922
  - lib/mihari/commands/version.rb
881
923
  - lib/mihari/commands/web.rb
924
+ - lib/mihari/config.rb
882
925
  - lib/mihari/constants.rb
883
926
  - lib/mihari/database.rb
884
927
  - lib/mihari/emitters/base.rb
@@ -966,8 +1009,8 @@ files:
966
1009
  - lib/mihari/web/public/assets/fa-solid-900-7152a693.woff2
967
1010
  - lib/mihari/web/public/assets/fa-v4compatibility-0515a423.ttf
968
1011
  - lib/mihari/web/public/assets/fa-v4compatibility-694a17c3.woff2
969
- - lib/mihari/web/public/assets/index-cbe1734c.js
970
- - lib/mihari/web/public/assets/index-eed1bcd8.css
1012
+ - lib/mihari/web/public/assets/index-2ba8f0a6.css
1013
+ - lib/mihari/web/public/assets/index-71285b15.js
971
1014
  - lib/mihari/web/public/favicon.ico
972
1015
  - lib/mihari/web/public/index.html
973
1016
  - lib/mihari/web/public/redoc-static.html
data/.gitmodules DELETED
File without changes
data/.overcommit.yml DELETED
@@ -1,12 +0,0 @@
1
- PreCommit:
2
- BundleCheck:
3
- enabled: true
4
-
5
- RuboCop:
6
- enabled: true
7
- required_executable: bundle
8
- command: ["bundle", "exec", "standardrb"]
9
- on_warn: fail
10
-
11
- YamlSyntax:
12
- enabled: true