mihari 7.1.0 → 7.1.2
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 +4 -4
- data/.rubocop.yml +2 -0
- data/README.md +2 -1
- data/Rakefile +39 -1
- data/lib/mihari/actor.rb +5 -5
- data/lib/mihari/analyzers/base.rb +18 -11
- data/lib/mihari/analyzers/passivetotal.rb +1 -1
- data/lib/mihari/analyzers/securitytrails.rb +1 -1
- data/lib/mihari/analyzers/virustotal.rb +1 -1
- data/lib/mihari/analyzers/virustotal_intelligence.rb +2 -2
- data/lib/mihari/cli/application.rb +16 -4
- data/lib/mihari/commands/alert.rb +5 -5
- data/lib/mihari/commands/artifact.rb +5 -5
- data/lib/mihari/commands/rule.rb +6 -6
- data/lib/mihari/commands/search.rb +1 -1
- data/lib/mihari/commands/tag.rb +3 -3
- data/lib/mihari/concerns/retriable.rb +1 -1
- data/lib/mihari/constants.rb +1 -1
- data/lib/mihari/database.rb +1 -1
- data/lib/mihari/emitters/base.rb +15 -1
- data/lib/mihari/emitters/database.rb +4 -0
- data/lib/mihari/emitters/misp.rb +7 -0
- data/lib/mihari/emitters/slack.rb +7 -0
- data/lib/mihari/emitters/the_hive.rb +7 -0
- data/lib/mihari/emitters/webhook.rb +7 -0
- data/lib/mihari/enrichers/base.rb +9 -1
- data/lib/mihari/enrichers/google_public_dns.rb +1 -1
- data/lib/mihari/rule.rb +2 -14
- data/lib/mihari/schemas/analyzer.rb +19 -19
- data/lib/mihari/schemas/emitter.rb +5 -5
- data/lib/mihari/schemas/enricher.rb +4 -4
- data/lib/mihari/structs/config.rb +1 -1
- data/lib/mihari/version.rb +1 -1
- data/lib/mihari/web/public/assets/{index-U5u7qHZZ.js → index-Guw2aMpk.js} +53 -53
- data/lib/mihari/web/public/index.html +1 -1
- data/lib/mihari/web/public/redoc-static.html +28 -28
- data/lib/mihari.rb +14 -3
- data/mihari.gemspec +4 -4
- data/mkdocs.yml +1 -1
- metadata +57 -15
data/lib/mihari.rb
CHANGED
@@ -79,7 +79,7 @@ module Mihari
|
|
79
79
|
#
|
80
80
|
def emitter_to_class
|
81
81
|
@emitter_to_class ||= emitters.flat_map do |klass|
|
82
|
-
klass.
|
82
|
+
klass.keys.map { |key| [key, klass] }
|
83
83
|
end.to_h
|
84
84
|
end
|
85
85
|
|
@@ -96,7 +96,7 @@ module Mihari
|
|
96
96
|
#
|
97
97
|
def analyzer_to_class
|
98
98
|
@analyzer_to_class ||= analyzers.flat_map do |klass|
|
99
|
-
klass.
|
99
|
+
klass.keys.map { |key| [key, klass] }
|
100
100
|
end.to_h
|
101
101
|
end
|
102
102
|
|
@@ -113,7 +113,7 @@ module Mihari
|
|
113
113
|
#
|
114
114
|
def enricher_to_class
|
115
115
|
@enricher_to_class ||= enrichers.flat_map do |klass|
|
116
|
-
klass.
|
116
|
+
klass.keys.map { |key| [key, klass] }
|
117
117
|
end.to_h
|
118
118
|
end
|
119
119
|
|
@@ -125,6 +125,8 @@ module Mihari
|
|
125
125
|
end
|
126
126
|
|
127
127
|
def logger
|
128
|
+
SemanticLogger.sync! unless puma?
|
129
|
+
|
128
130
|
SemanticLogger.default_level = :info
|
129
131
|
SemanticLogger.add_appender(io: $stderr, formatter: :color)
|
130
132
|
SemanticLogger["Mihari"]
|
@@ -152,6 +154,15 @@ module Mihari
|
|
152
154
|
!Mihari.config.sidekiq_redis_url.nil?
|
153
155
|
end
|
154
156
|
|
157
|
+
#
|
158
|
+
# @return [Boolean]
|
159
|
+
#
|
160
|
+
def puma?
|
161
|
+
!Puma.stats.nil?
|
162
|
+
rescue StandardError
|
163
|
+
false
|
164
|
+
end
|
165
|
+
|
155
166
|
def initialize_sentry
|
156
167
|
return if Mihari.config.sentry_dsn.nil?
|
157
168
|
return if Sentry.initialized?
|
data/mihari.gemspec
CHANGED
@@ -72,7 +72,7 @@ Gem::Specification.new do |spec|
|
|
72
72
|
|
73
73
|
spec.add_dependency "activerecord", "7.1.2"
|
74
74
|
spec.add_dependency "addressable", "~> 2.8"
|
75
|
-
spec.add_dependency "anyway_config", "2.
|
75
|
+
spec.add_dependency "anyway_config", "2.6.2"
|
76
76
|
spec.add_dependency "awrence", "2.0.1"
|
77
77
|
spec.add_dependency "csv", "~> 3.2"
|
78
78
|
spec.add_dependency "dotenv", "2.8.1"
|
@@ -96,15 +96,15 @@ Gem::Specification.new do |spec|
|
|
96
96
|
spec.add_dependency "parallel", "1.24.0"
|
97
97
|
spec.add_dependency "plissken", "2.0.1"
|
98
98
|
spec.add_dependency "public_suffix", "5.0.4"
|
99
|
-
spec.add_dependency "puma", "6.4.
|
99
|
+
spec.add_dependency "puma", "6.4.2"
|
100
100
|
spec.add_dependency "rack", "3.0.8"
|
101
101
|
spec.add_dependency "rack-cors", "2.0.1"
|
102
102
|
spec.add_dependency "rack-session", "2.0.0"
|
103
103
|
spec.add_dependency "rackup", "2.1.0"
|
104
104
|
spec.add_dependency "search_cop", "1.2.3"
|
105
105
|
spec.add_dependency "semantic_logger", "4.15.0"
|
106
|
-
spec.add_dependency "sentry-ruby", "~> 5.
|
107
|
-
spec.add_dependency "sentry-sidekiq", "~> 5.
|
106
|
+
spec.add_dependency "sentry-ruby", "~> 5.16"
|
107
|
+
spec.add_dependency "sentry-sidekiq", "~> 5.16"
|
108
108
|
spec.add_dependency "sidekiq", "7.2.0"
|
109
109
|
spec.add_dependency "slack-notifier", "2.4.0"
|
110
110
|
spec.add_dependency "sqlite3", "~> 1.7"
|
data/mkdocs.yml
CHANGED
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: 7.1.
|
4
|
+
version: 7.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Manabu Niseki
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: better_errors
|
@@ -388,6 +388,48 @@ dependencies:
|
|
388
388
|
- - "~>"
|
389
389
|
- !ruby/object:Gem::Version
|
390
390
|
version: '3.19'
|
391
|
+
- !ruby/object:Gem::Dependency
|
392
|
+
name: lefthook
|
393
|
+
requirement: !ruby/object:Gem::Requirement
|
394
|
+
requirements:
|
395
|
+
- - "~>"
|
396
|
+
- !ruby/object:Gem::Version
|
397
|
+
version: '1.5'
|
398
|
+
type: :development
|
399
|
+
prerelease: false
|
400
|
+
version_requirements: !ruby/object:Gem::Requirement
|
401
|
+
requirements:
|
402
|
+
- - "~>"
|
403
|
+
- !ruby/object:Gem::Version
|
404
|
+
version: '1.5'
|
405
|
+
- !ruby/object:Gem::Dependency
|
406
|
+
name: ruby-lsp-rspec
|
407
|
+
requirement: !ruby/object:Gem::Requirement
|
408
|
+
requirements:
|
409
|
+
- - "~>"
|
410
|
+
- !ruby/object:Gem::Version
|
411
|
+
version: '0.1'
|
412
|
+
type: :development
|
413
|
+
prerelease: false
|
414
|
+
version_requirements: !ruby/object:Gem::Requirement
|
415
|
+
requirements:
|
416
|
+
- - "~>"
|
417
|
+
- !ruby/object:Gem::Version
|
418
|
+
version: '0.1'
|
419
|
+
- !ruby/object:Gem::Dependency
|
420
|
+
name: solargraph
|
421
|
+
requirement: !ruby/object:Gem::Requirement
|
422
|
+
requirements:
|
423
|
+
- - "~>"
|
424
|
+
- !ruby/object:Gem::Version
|
425
|
+
version: '0.50'
|
426
|
+
type: :development
|
427
|
+
prerelease: false
|
428
|
+
version_requirements: !ruby/object:Gem::Requirement
|
429
|
+
requirements:
|
430
|
+
- - "~>"
|
431
|
+
- !ruby/object:Gem::Version
|
432
|
+
version: '0.50'
|
391
433
|
- !ruby/object:Gem::Dependency
|
392
434
|
name: activerecord
|
393
435
|
requirement: !ruby/object:Gem::Requirement
|
@@ -422,14 +464,14 @@ dependencies:
|
|
422
464
|
requirements:
|
423
465
|
- - '='
|
424
466
|
- !ruby/object:Gem::Version
|
425
|
-
version: 2.
|
467
|
+
version: 2.6.2
|
426
468
|
type: :runtime
|
427
469
|
prerelease: false
|
428
470
|
version_requirements: !ruby/object:Gem::Requirement
|
429
471
|
requirements:
|
430
472
|
- - '='
|
431
473
|
- !ruby/object:Gem::Version
|
432
|
-
version: 2.
|
474
|
+
version: 2.6.2
|
433
475
|
- !ruby/object:Gem::Dependency
|
434
476
|
name: awrence
|
435
477
|
requirement: !ruby/object:Gem::Requirement
|
@@ -758,14 +800,14 @@ dependencies:
|
|
758
800
|
requirements:
|
759
801
|
- - '='
|
760
802
|
- !ruby/object:Gem::Version
|
761
|
-
version: 6.4.
|
803
|
+
version: 6.4.2
|
762
804
|
type: :runtime
|
763
805
|
prerelease: false
|
764
806
|
version_requirements: !ruby/object:Gem::Requirement
|
765
807
|
requirements:
|
766
808
|
- - '='
|
767
809
|
- !ruby/object:Gem::Version
|
768
|
-
version: 6.4.
|
810
|
+
version: 6.4.2
|
769
811
|
- !ruby/object:Gem::Dependency
|
770
812
|
name: rack
|
771
813
|
requirement: !ruby/object:Gem::Requirement
|
@@ -856,28 +898,28 @@ dependencies:
|
|
856
898
|
requirements:
|
857
899
|
- - "~>"
|
858
900
|
- !ruby/object:Gem::Version
|
859
|
-
version: '5.
|
901
|
+
version: '5.16'
|
860
902
|
type: :runtime
|
861
903
|
prerelease: false
|
862
904
|
version_requirements: !ruby/object:Gem::Requirement
|
863
905
|
requirements:
|
864
906
|
- - "~>"
|
865
907
|
- !ruby/object:Gem::Version
|
866
|
-
version: '5.
|
908
|
+
version: '5.16'
|
867
909
|
- !ruby/object:Gem::Dependency
|
868
910
|
name: sentry-sidekiq
|
869
911
|
requirement: !ruby/object:Gem::Requirement
|
870
912
|
requirements:
|
871
913
|
- - "~>"
|
872
914
|
- !ruby/object:Gem::Version
|
873
|
-
version: '5.
|
915
|
+
version: '5.16'
|
874
916
|
type: :runtime
|
875
917
|
prerelease: false
|
876
918
|
version_requirements: !ruby/object:Gem::Requirement
|
877
919
|
requirements:
|
878
920
|
- - "~>"
|
879
921
|
- !ruby/object:Gem::Version
|
880
|
-
version: '5.
|
922
|
+
version: '5.16'
|
881
923
|
- !ruby/object:Gem::Dependency
|
882
924
|
name: sidekiq
|
883
925
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1018,7 +1060,7 @@ dependencies:
|
|
1018
1060
|
- - '='
|
1019
1061
|
- !ruby/object:Gem::Version
|
1020
1062
|
version: 2.0.0
|
1021
|
-
description:
|
1063
|
+
description:
|
1022
1064
|
email:
|
1023
1065
|
- manabu.niseki@gmail.com
|
1024
1066
|
executables:
|
@@ -1204,7 +1246,7 @@ files:
|
|
1204
1246
|
- lib/mihari/web/endpoints/tags.rb
|
1205
1247
|
- lib/mihari/web/middleware/capture_exceptions.rb
|
1206
1248
|
- lib/mihari/web/middleware/connection.rb
|
1207
|
-
- lib/mihari/web/public/assets/index-
|
1249
|
+
- lib/mihari/web/public/assets/index-Guw2aMpk.js
|
1208
1250
|
- lib/mihari/web/public/assets/index-dVaNxqTC.css
|
1209
1251
|
- lib/mihari/web/public/assets/mode-yaml-BC4MIiYj.js
|
1210
1252
|
- lib/mihari/web/public/favicon.ico
|
@@ -1220,7 +1262,7 @@ licenses:
|
|
1220
1262
|
- MIT
|
1221
1263
|
metadata:
|
1222
1264
|
rubygems_mfa_required: 'true'
|
1223
|
-
post_install_message:
|
1265
|
+
post_install_message:
|
1224
1266
|
rdoc_options: []
|
1225
1267
|
require_paths:
|
1226
1268
|
- lib
|
@@ -1236,7 +1278,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1236
1278
|
version: '0'
|
1237
1279
|
requirements: []
|
1238
1280
|
rubygems_version: 3.5.3
|
1239
|
-
signing_key:
|
1281
|
+
signing_key:
|
1240
1282
|
specification_version: 4
|
1241
1283
|
summary: A query aggregator for OSINT based threat hunting
|
1242
1284
|
test_files: []
|