mihari 4.1.2 → 4.2.0
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/.github/workflows/test.yml +1 -1
- data/README.md +1 -1
- data/lib/mihari/analyzers/base.rb +18 -10
- data/lib/mihari/analyzers/rule.rb +1 -1
- data/lib/mihari/cli/base.rb +0 -4
- data/lib/mihari/commands/init.rb +1 -1
- data/lib/mihari/commands/search.rb +11 -58
- data/lib/mihari/commands/validator.rb +1 -2
- data/lib/mihari/emitters/base.rb +5 -2
- data/lib/mihari/emitters/slack.rb +40 -4
- data/lib/mihari/enrichers/base.rb +5 -2
- data/lib/mihari/enrichers/ipinfo.rb +4 -3
- data/lib/mihari/{web/entities → entities}/alert.rb +0 -0
- data/lib/mihari/{web/entities → entities}/artifact.rb +0 -0
- data/lib/mihari/{web/entities → entities}/autonomous_system.rb +0 -0
- data/lib/mihari/{web/entities → entities}/command.rb +0 -0
- data/lib/mihari/{web/entities → entities}/config.rb +0 -0
- data/lib/mihari/{web/entities → entities}/dns.rb +0 -0
- data/lib/mihari/{web/entities → entities}/geolocation.rb +0 -0
- data/lib/mihari/{web/entities → entities}/ip_address.rb +0 -0
- data/lib/mihari/{web/entities → entities}/message.rb +0 -0
- data/lib/mihari/{web/entities → entities}/reverse_dns.rb +0 -0
- data/lib/mihari/{web/entities → entities}/rule.rb +0 -0
- data/lib/mihari/{web/entities → entities}/source.rb +0 -0
- data/lib/mihari/{web/entities → entities}/tag.rb +0 -0
- data/lib/mihari/{web/entities → entities}/whois.rb +0 -0
- data/lib/mihari/errors.rb +2 -0
- data/lib/mihari/feed/reader.rb +11 -55
- data/lib/mihari/http.rb +94 -0
- data/lib/mihari/mixins/error_notification.rb +20 -0
- data/lib/mihari/mixins/retriable.rb +12 -2
- data/lib/mihari/mixins/rule.rb +1 -2
- data/lib/mihari/structs/ipinfo.rb +2 -3
- data/lib/mihari/structs/rule.rb +30 -0
- data/lib/mihari/structs/shodan.rb +9 -1
- data/lib/mihari/version.rb +1 -1
- data/lib/mihari/web/api.rb +0 -20
- data/lib/mihari/web/app.rb +2 -2
- data/lib/mihari/web/endpoints/rules.rb +3 -1
- data/lib/mihari/web/middleware/error_notification_adapter.rb +19 -0
- data/lib/mihari/web/public/index.html +1 -1
- data/lib/mihari/web/public/redoc-static.html +1881 -165
- data/lib/mihari/web/public/static/css/app.43138058.css +1 -0
- data/lib/mihari/web/public/static/css/chunk-vendors.3ed9b08e.css +7 -0
- data/lib/mihari/web/public/static/fonts/fa-brands-400.1fd0b4d7.ttf +0 -0
- data/lib/mihari/web/public/static/fonts/fa-brands-400.5d5236fb.woff2 +0 -0
- data/lib/mihari/web/public/static/fonts/fa-regular-400.64b3730e.woff2 +0 -0
- data/lib/mihari/web/public/static/fonts/fa-regular-400.95a8a8af.ttf +0 -0
- data/lib/mihari/web/public/static/fonts/fa-solid-900.6115ad71.woff2 +0 -0
- data/lib/mihari/web/public/static/fonts/fa-solid-900.f0203cfc.ttf +0 -0
- data/lib/mihari/web/public/static/fonts/fa-v4compatibility.e1023515.ttf +0 -0
- data/lib/mihari/web/public/static/js/app-legacy.46b666f0.js +2 -0
- data/lib/mihari/web/public/static/js/app-legacy.46b666f0.js.map +1 -0
- data/lib/mihari/web/public/static/js/app.4818aedd.js +2 -0
- data/lib/mihari/web/public/static/js/app.4818aedd.js.map +1 -0
- data/lib/mihari/web/public/static/js/chunk-vendors-legacy.c99e452e.js +17 -0
- data/lib/mihari/web/public/static/js/chunk-vendors-legacy.c99e452e.js.map +1 -0
- data/lib/mihari/web/public/static/js/chunk-vendors.15e84e22.js +23 -0
- data/lib/mihari/web/public/static/js/chunk-vendors.15e84e22.js.map +1 -0
- data/lib/mihari.rb +63 -15
- data/mihari.gemspec +3 -3
- data/sig/lib/mihari/emitters/slack.rbs +29 -1
- data/sig/lib/mihari/feed/reader.rbs +2 -2
- data/sig/lib/mihari/http.rbs +65 -0
- data/sig/lib/mihari/mixins/error_notification.rbs +12 -0
- data/sig/lib/mihari/structs/rule.rbs +6 -0
- data/sig/lib/mihari.rbs +4 -8
- metadata +68 -55
- data/lib/mihari/cli/mixins/utils.rb +0 -72
- data/lib/mihari/emitters/stdout.rb +0 -22
- data/lib/mihari/notifiers/base.rb +0 -24
- data/lib/mihari/notifiers/exception_notifier.rb +0 -126
- data/lib/mihari/notifiers/slack.rb +0 -63
- data/sig/lib/mihari/cli/mixins/utils.rbs +0 -50
- data/sig/lib/mihari/notifiers/base.rbs +0 -18
- data/sig/lib/mihari/notifiers/exception_notifier.rbs +0 -75
- data/sig/lib/mihari/notifiers/slack.rbs +0 -50
data/lib/mihari.rb
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
# standard libs
|
|
4
|
+
require "ipaddr"
|
|
5
|
+
require "json"
|
|
6
|
+
require "net/http"
|
|
7
|
+
require "net/https"
|
|
8
|
+
require "resolv"
|
|
9
|
+
require "yaml"
|
|
10
|
+
|
|
11
|
+
# Active Support & Active Record
|
|
3
12
|
require "active_support"
|
|
4
13
|
|
|
5
14
|
require "active_support/core_ext/hash"
|
|
@@ -17,23 +26,22 @@ require "dry/struct"
|
|
|
17
26
|
require "dry/types"
|
|
18
27
|
require "dry/validation"
|
|
19
28
|
|
|
20
|
-
#
|
|
29
|
+
# Grape
|
|
30
|
+
require "grape"
|
|
31
|
+
require "grape-entity"
|
|
32
|
+
|
|
33
|
+
# Other utility libs
|
|
21
34
|
require "addressable/uri"
|
|
22
35
|
require "awrence"
|
|
23
|
-
require "colorize"
|
|
24
36
|
require "email_address"
|
|
25
|
-
require "ipaddr"
|
|
26
|
-
require "json"
|
|
27
37
|
require "memist"
|
|
28
|
-
require "net/http"
|
|
29
|
-
require "net/https"
|
|
30
38
|
require "net/ping"
|
|
39
|
+
require "parallel"
|
|
31
40
|
require "plissken"
|
|
32
41
|
require "public_suffix"
|
|
33
|
-
require "
|
|
42
|
+
require "semantic_logger"
|
|
43
|
+
require "sentry-ruby"
|
|
34
44
|
require "uuidtools"
|
|
35
|
-
require "yaml"
|
|
36
|
-
require "parallel"
|
|
37
45
|
|
|
38
46
|
# Load .env
|
|
39
47
|
require "dotenv/load"
|
|
@@ -47,6 +55,7 @@ require "mihari/mixins/autonomous_system"
|
|
|
47
55
|
require "mihari/mixins/configurable"
|
|
48
56
|
require "mihari/mixins/database"
|
|
49
57
|
require "mihari/mixins/disallowed_data_value"
|
|
58
|
+
require "mihari/mixins/error_notification"
|
|
50
59
|
require "mihari/mixins/refang"
|
|
51
60
|
require "mihari/mixins/retriable"
|
|
52
61
|
require "mihari/mixins/rule"
|
|
@@ -88,6 +97,7 @@ module Mihari
|
|
|
88
97
|
setting :webhook_url, default: ENV["WEBHOOK_URL"]
|
|
89
98
|
setting :webhook_use_json_body, constructor: ->(value = ENV["WEBHOOK_USE_JSON_BODY"]) { truthy?(value) }
|
|
90
99
|
setting :zoomeye_api_key, default: ENV["ZOOMEYE_API_KEY"]
|
|
100
|
+
setting :sentry_dsn, default: ENV["SENTRY_DSN"]
|
|
91
101
|
|
|
92
102
|
class << self
|
|
93
103
|
include Memist::Memoizable
|
|
@@ -106,12 +116,32 @@ module Mihari
|
|
|
106
116
|
[]
|
|
107
117
|
end
|
|
108
118
|
memoize :enrichers
|
|
119
|
+
|
|
120
|
+
def logger
|
|
121
|
+
SemanticLogger.default_level = :info
|
|
122
|
+
SemanticLogger.add_appender(io: $stderr, formatter: :color)
|
|
123
|
+
SemanticLogger["Mihari"]
|
|
124
|
+
end
|
|
125
|
+
memoize :logger
|
|
126
|
+
|
|
127
|
+
def initialize_sentry
|
|
128
|
+
return if Mihari.config.sentry_dsn.nil?
|
|
129
|
+
return if Sentry.initialized?
|
|
130
|
+
|
|
131
|
+
Sentry.init do |config|
|
|
132
|
+
config.dsn = Mihari.config.sentry_dsn
|
|
133
|
+
|
|
134
|
+
config.traces_sample_rate = 0.5
|
|
135
|
+
end
|
|
136
|
+
end
|
|
109
137
|
end
|
|
110
138
|
end
|
|
111
139
|
|
|
112
140
|
require "mihari/database"
|
|
113
141
|
require "mihari/type_checker"
|
|
114
142
|
|
|
143
|
+
require "mihari/http"
|
|
144
|
+
|
|
115
145
|
# Constants
|
|
116
146
|
require "mihari/constants"
|
|
117
147
|
|
|
@@ -175,20 +205,35 @@ require "mihari/analyzers/virustotal"
|
|
|
175
205
|
require "mihari/analyzers/zoomeye"
|
|
176
206
|
require "mihari/analyzers/rule"
|
|
177
207
|
|
|
178
|
-
# Notifiers
|
|
179
|
-
require "mihari/notifiers/base"
|
|
180
|
-
require "mihari/notifiers/slack"
|
|
181
|
-
require "mihari/notifiers/exception_notifier"
|
|
182
|
-
|
|
183
208
|
# Emitters
|
|
184
209
|
require "mihari/emitters/base"
|
|
185
210
|
require "mihari/emitters/database"
|
|
186
211
|
require "mihari/emitters/misp"
|
|
187
212
|
require "mihari/emitters/slack"
|
|
188
|
-
require "mihari/emitters/stdout"
|
|
189
213
|
require "mihari/emitters/the_hive"
|
|
190
214
|
require "mihari/emitters/webhook"
|
|
191
215
|
|
|
216
|
+
# Entities
|
|
217
|
+
|
|
218
|
+
require "mihari/entities/message"
|
|
219
|
+
|
|
220
|
+
require "mihari/entities/autonomous_system"
|
|
221
|
+
require "mihari/entities/command"
|
|
222
|
+
require "mihari/entities/config"
|
|
223
|
+
require "mihari/entities/dns"
|
|
224
|
+
require "mihari/entities/geolocation"
|
|
225
|
+
require "mihari/entities/ip_address"
|
|
226
|
+
require "mihari/entities/reverse_dns"
|
|
227
|
+
require "mihari/entities/source"
|
|
228
|
+
require "mihari/entities/tag"
|
|
229
|
+
require "mihari/entities/whois"
|
|
230
|
+
|
|
231
|
+
require "mihari/entities/artifact"
|
|
232
|
+
|
|
233
|
+
require "mihari/entities/alert"
|
|
234
|
+
|
|
235
|
+
require "mihari/entities/rule"
|
|
236
|
+
|
|
192
237
|
# Status checker
|
|
193
238
|
require "mihari/status"
|
|
194
239
|
|
|
@@ -197,3 +242,6 @@ require "mihari/web/app"
|
|
|
197
242
|
|
|
198
243
|
# CLIs
|
|
199
244
|
require "mihari/cli/main"
|
|
245
|
+
|
|
246
|
+
# initialize Sentry
|
|
247
|
+
Mihari.initialize_sentry
|
data/mihari.gemspec
CHANGED
|
@@ -47,7 +47,6 @@ Gem::Specification.new do |spec|
|
|
|
47
47
|
spec.add_dependency "awrence", "~> 2.0"
|
|
48
48
|
spec.add_dependency "binaryedge", "~> 0.1"
|
|
49
49
|
spec.add_dependency "censysx", "~> 0.1"
|
|
50
|
-
spec.add_dependency "colorize", "~> 0.8"
|
|
51
50
|
spec.add_dependency "crtsh-rb", "~> 0.3"
|
|
52
51
|
spec.add_dependency "dnpedia", "~> 0.1"
|
|
53
52
|
spec.add_dependency "dnstwister", "~> 0.1"
|
|
@@ -57,7 +56,7 @@ Gem::Specification.new do |spec|
|
|
|
57
56
|
spec.add_dependency "dry-files", "0.1.0"
|
|
58
57
|
spec.add_dependency "dry-initializer", "3.1.1"
|
|
59
58
|
spec.add_dependency "dry-struct", "1.4.0"
|
|
60
|
-
spec.add_dependency "dry-validation", "1.
|
|
59
|
+
spec.add_dependency "dry-validation", "1.8.0"
|
|
61
60
|
spec.add_dependency "email_address", "~> 0.2"
|
|
62
61
|
spec.add_dependency "grape", "1.6.2"
|
|
63
62
|
spec.add_dependency "grape-entity", "0.10.1"
|
|
@@ -65,7 +64,6 @@ Gem::Specification.new do |spec|
|
|
|
65
64
|
spec.add_dependency "grape-swagger-entity", "0.5.1"
|
|
66
65
|
spec.add_dependency "greynoise", "~> 0.1"
|
|
67
66
|
spec.add_dependency "hachi", "~> 1.0"
|
|
68
|
-
spec.add_dependency "http", "~> 5.0"
|
|
69
67
|
spec.add_dependency "jr-cli", "~> 0.5"
|
|
70
68
|
spec.add_dependency "launchy", "~> 2.5"
|
|
71
69
|
spec.add_dependency "memist", "~> 2.0"
|
|
@@ -86,6 +84,8 @@ Gem::Specification.new do |spec|
|
|
|
86
84
|
spec.add_dependency "rack-cors", "~> 1.1"
|
|
87
85
|
spec.add_dependency "safe_shell", "~> 1.1"
|
|
88
86
|
spec.add_dependency "securitytrails", "~> 1.0"
|
|
87
|
+
spec.add_dependency "semantic_logger", "~> 4.10"
|
|
88
|
+
spec.add_dependency "sentry-ruby", "~> 5.1.1"
|
|
89
89
|
spec.add_dependency "shodanx", "~> 0.2"
|
|
90
90
|
spec.add_dependency "slack-notifier", "~> 2.4"
|
|
91
91
|
spec.add_dependency "spysex", "~> 0.2"
|
|
@@ -39,7 +39,35 @@ module Mihari
|
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
class Slack < Base
|
|
42
|
-
|
|
42
|
+
SLACK_WEBHOOK_URL_KEY: ::String
|
|
43
|
+
|
|
44
|
+
SLACK_CHANNEL_KEY: ::String
|
|
45
|
+
|
|
46
|
+
DEFAULT_USERNAME: ::String
|
|
47
|
+
|
|
48
|
+
#
|
|
49
|
+
# Slack channel to post
|
|
50
|
+
#
|
|
51
|
+
# @return [String]
|
|
52
|
+
#
|
|
53
|
+
def slack_channel: () -> String
|
|
54
|
+
|
|
55
|
+
#
|
|
56
|
+
# Slack webhook URL
|
|
57
|
+
#
|
|
58
|
+
# @return [String]
|
|
59
|
+
#
|
|
60
|
+
def slack_webhook_url: () -> String
|
|
61
|
+
|
|
62
|
+
#
|
|
63
|
+
# Check Slack webhook URL is set
|
|
64
|
+
#
|
|
65
|
+
# @return [Boolean]
|
|
66
|
+
#
|
|
67
|
+
def slack_webhook_url?: () -> bool
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def notifier: () -> ::Slack::Notifier
|
|
43
71
|
|
|
44
72
|
def valid?: () -> bool
|
|
45
73
|
|
|
@@ -12,8 +12,8 @@ module Mihari
|
|
|
12
12
|
|
|
13
13
|
def initialize: (
|
|
14
14
|
String uri,
|
|
15
|
-
?http_request_headers: Hash[(String | Symbol), untyped]
|
|
16
|
-
?http_request_method:
|
|
15
|
+
?http_request_headers: Hash[(String | Symbol), untyped] http_request_headers,
|
|
16
|
+
?http_request_method: String http_request_method,
|
|
17
17
|
?http_request_payload_type: String? http_request_payload_type,
|
|
18
18
|
?http_request_payload: Hash[(String | Symbol), untyped] http_request_payload
|
|
19
19
|
) -> void
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
|
|
2
|
+
module Mihari
|
|
3
|
+
class HTTP
|
|
4
|
+
attr_reader uri: URI
|
|
5
|
+
|
|
6
|
+
attr_reader headers: Hash[(String | Symbol), untyped]
|
|
7
|
+
|
|
8
|
+
attr_reader payload_type: String?
|
|
9
|
+
|
|
10
|
+
attr_reader payload: Hash[(String | Symbol), untyped]
|
|
11
|
+
|
|
12
|
+
def initialize: (
|
|
13
|
+
String uri,
|
|
14
|
+
?headers: Hash[(String | Symbol), untyped] headers,
|
|
15
|
+
?payload_type: String? payload_type,
|
|
16
|
+
?payload: Hash[(String | Symbol), untyped] payload
|
|
17
|
+
) -> void
|
|
18
|
+
|
|
19
|
+
#
|
|
20
|
+
# Make a GET request
|
|
21
|
+
#
|
|
22
|
+
# @return [Net::HTTPResponse]
|
|
23
|
+
#
|
|
24
|
+
def get: () -> Net::HTTPResponse
|
|
25
|
+
|
|
26
|
+
#
|
|
27
|
+
# Make a POST request
|
|
28
|
+
#
|
|
29
|
+
# @return [Net::HTTPResponse]
|
|
30
|
+
#
|
|
31
|
+
def post: () -> Net::HTTPResponse
|
|
32
|
+
|
|
33
|
+
def self.get: (
|
|
34
|
+
String uri,
|
|
35
|
+
?headers: Hash[(String | Symbol), untyped] headers,
|
|
36
|
+
?payload_type: String? payload_type,
|
|
37
|
+
?payload: Hash[(String | Symbol), untyped] payload
|
|
38
|
+
) -> Net::HTTPResponse
|
|
39
|
+
|
|
40
|
+
def self.post: (
|
|
41
|
+
String uri,
|
|
42
|
+
?headers: Hash[(String | Symbol), untyped] headers,
|
|
43
|
+
?payload_type: String? payload_type,
|
|
44
|
+
?payload: Hash[(String | Symbol), untyped] payload
|
|
45
|
+
) -> Net::HTTPResponse
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
#
|
|
50
|
+
# Get options for HTTP request
|
|
51
|
+
#
|
|
52
|
+
# @return [Hahs]
|
|
53
|
+
#
|
|
54
|
+
def https_options: () -> ({ use_ssl: ::TrueClass } | ::Hash[untyped, untyped])
|
|
55
|
+
|
|
56
|
+
#
|
|
57
|
+
# Make a HTTP request
|
|
58
|
+
#
|
|
59
|
+
# @param [Net::HTTPRequest] req
|
|
60
|
+
#
|
|
61
|
+
# @return [Net::HTTPResponse]
|
|
62
|
+
#
|
|
63
|
+
def request: (untyped req) -> Net::HTTPResponse
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -50,6 +50,12 @@ module Mihari
|
|
|
50
50
|
# @return [Mihari::Rule]
|
|
51
51
|
#
|
|
52
52
|
def to_model: () -> Mihari::Rule
|
|
53
|
+
|
|
54
|
+
def to_analyzer: () -> Mihari::Analyzers::Rule
|
|
55
|
+
|
|
56
|
+
class << self
|
|
57
|
+
def from_model: (Mihari::Rule model) -> Mihari::Structs::Rule::Rule
|
|
58
|
+
end
|
|
53
59
|
end
|
|
54
60
|
end
|
|
55
61
|
end
|
data/sig/lib/mihari.rbs
CHANGED
|
@@ -25,6 +25,7 @@ class Configuration
|
|
|
25
25
|
attr_accessor webhook_url (): String?
|
|
26
26
|
attr_accessor webhook_use_json_body (): (bool | nil)
|
|
27
27
|
attr_accessor database (): String?
|
|
28
|
+
attr_accessor sentry_dsn(): String?
|
|
28
29
|
|
|
29
30
|
attr_reader values: Hash[(String | Symbol), String?]
|
|
30
31
|
end
|
|
@@ -42,14 +43,9 @@ module Mihari
|
|
|
42
43
|
|
|
43
44
|
def self.enrichers: () -> ::Array[singleton(Mihari::Enrichers::Base)]
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
# @param [String] path Path to YAML file
|
|
49
|
-
#
|
|
50
|
-
# @return [nil]
|
|
51
|
-
#
|
|
52
|
-
def self.load_config_from_yaml: (String path) -> void
|
|
46
|
+
def self.logger: () -> SemanticLogger
|
|
47
|
+
|
|
48
|
+
def self.initialize_sentry: () -> void
|
|
53
49
|
end
|
|
54
50
|
|
|
55
51
|
class Object
|
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: 4.
|
|
4
|
+
version: 4.2.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: 2022-
|
|
11
|
+
date: 2022-03-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -304,20 +304,6 @@ dependencies:
|
|
|
304
304
|
- - "~>"
|
|
305
305
|
- !ruby/object:Gem::Version
|
|
306
306
|
version: '0.1'
|
|
307
|
-
- !ruby/object:Gem::Dependency
|
|
308
|
-
name: colorize
|
|
309
|
-
requirement: !ruby/object:Gem::Requirement
|
|
310
|
-
requirements:
|
|
311
|
-
- - "~>"
|
|
312
|
-
- !ruby/object:Gem::Version
|
|
313
|
-
version: '0.8'
|
|
314
|
-
type: :runtime
|
|
315
|
-
prerelease: false
|
|
316
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
317
|
-
requirements:
|
|
318
|
-
- - "~>"
|
|
319
|
-
- !ruby/object:Gem::Version
|
|
320
|
-
version: '0.8'
|
|
321
307
|
- !ruby/object:Gem::Dependency
|
|
322
308
|
name: crtsh-rb
|
|
323
309
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -450,14 +436,14 @@ dependencies:
|
|
|
450
436
|
requirements:
|
|
451
437
|
- - '='
|
|
452
438
|
- !ruby/object:Gem::Version
|
|
453
|
-
version: 1.
|
|
439
|
+
version: 1.8.0
|
|
454
440
|
type: :runtime
|
|
455
441
|
prerelease: false
|
|
456
442
|
version_requirements: !ruby/object:Gem::Requirement
|
|
457
443
|
requirements:
|
|
458
444
|
- - '='
|
|
459
445
|
- !ruby/object:Gem::Version
|
|
460
|
-
version: 1.
|
|
446
|
+
version: 1.8.0
|
|
461
447
|
- !ruby/object:Gem::Dependency
|
|
462
448
|
name: email_address
|
|
463
449
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -556,20 +542,6 @@ dependencies:
|
|
|
556
542
|
- - "~>"
|
|
557
543
|
- !ruby/object:Gem::Version
|
|
558
544
|
version: '1.0'
|
|
559
|
-
- !ruby/object:Gem::Dependency
|
|
560
|
-
name: http
|
|
561
|
-
requirement: !ruby/object:Gem::Requirement
|
|
562
|
-
requirements:
|
|
563
|
-
- - "~>"
|
|
564
|
-
- !ruby/object:Gem::Version
|
|
565
|
-
version: '5.0'
|
|
566
|
-
type: :runtime
|
|
567
|
-
prerelease: false
|
|
568
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
569
|
-
requirements:
|
|
570
|
-
- - "~>"
|
|
571
|
-
- !ruby/object:Gem::Version
|
|
572
|
-
version: '5.0'
|
|
573
545
|
- !ruby/object:Gem::Dependency
|
|
574
546
|
name: jr-cli
|
|
575
547
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -850,6 +822,34 @@ dependencies:
|
|
|
850
822
|
- - "~>"
|
|
851
823
|
- !ruby/object:Gem::Version
|
|
852
824
|
version: '1.0'
|
|
825
|
+
- !ruby/object:Gem::Dependency
|
|
826
|
+
name: semantic_logger
|
|
827
|
+
requirement: !ruby/object:Gem::Requirement
|
|
828
|
+
requirements:
|
|
829
|
+
- - "~>"
|
|
830
|
+
- !ruby/object:Gem::Version
|
|
831
|
+
version: '4.10'
|
|
832
|
+
type: :runtime
|
|
833
|
+
prerelease: false
|
|
834
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
835
|
+
requirements:
|
|
836
|
+
- - "~>"
|
|
837
|
+
- !ruby/object:Gem::Version
|
|
838
|
+
version: '4.10'
|
|
839
|
+
- !ruby/object:Gem::Dependency
|
|
840
|
+
name: sentry-ruby
|
|
841
|
+
requirement: !ruby/object:Gem::Requirement
|
|
842
|
+
requirements:
|
|
843
|
+
- - "~>"
|
|
844
|
+
- !ruby/object:Gem::Version
|
|
845
|
+
version: 5.1.1
|
|
846
|
+
type: :runtime
|
|
847
|
+
prerelease: false
|
|
848
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
849
|
+
requirements:
|
|
850
|
+
- - "~>"
|
|
851
|
+
- !ruby/object:Gem::Version
|
|
852
|
+
version: 5.1.1
|
|
853
853
|
- !ruby/object:Gem::Dependency
|
|
854
854
|
name: shodanx
|
|
855
855
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1080,7 +1080,6 @@ files:
|
|
|
1080
1080
|
- lib/mihari/cli/base.rb
|
|
1081
1081
|
- lib/mihari/cli/init.rb
|
|
1082
1082
|
- lib/mihari/cli/main.rb
|
|
1083
|
-
- lib/mihari/cli/mixins/utils.rb
|
|
1084
1083
|
- lib/mihari/cli/validator.rb
|
|
1085
1084
|
- lib/mihari/commands/init.rb
|
|
1086
1085
|
- lib/mihari/commands/search.rb
|
|
@@ -1092,18 +1091,33 @@ files:
|
|
|
1092
1091
|
- lib/mihari/emitters/database.rb
|
|
1093
1092
|
- lib/mihari/emitters/misp.rb
|
|
1094
1093
|
- lib/mihari/emitters/slack.rb
|
|
1095
|
-
- lib/mihari/emitters/stdout.rb
|
|
1096
1094
|
- lib/mihari/emitters/the_hive.rb
|
|
1097
1095
|
- lib/mihari/emitters/webhook.rb
|
|
1098
1096
|
- lib/mihari/enrichers/base.rb
|
|
1099
1097
|
- lib/mihari/enrichers/ipinfo.rb
|
|
1098
|
+
- lib/mihari/entities/alert.rb
|
|
1099
|
+
- lib/mihari/entities/artifact.rb
|
|
1100
|
+
- lib/mihari/entities/autonomous_system.rb
|
|
1101
|
+
- lib/mihari/entities/command.rb
|
|
1102
|
+
- lib/mihari/entities/config.rb
|
|
1103
|
+
- lib/mihari/entities/dns.rb
|
|
1104
|
+
- lib/mihari/entities/geolocation.rb
|
|
1105
|
+
- lib/mihari/entities/ip_address.rb
|
|
1106
|
+
- lib/mihari/entities/message.rb
|
|
1107
|
+
- lib/mihari/entities/reverse_dns.rb
|
|
1108
|
+
- lib/mihari/entities/rule.rb
|
|
1109
|
+
- lib/mihari/entities/source.rb
|
|
1110
|
+
- lib/mihari/entities/tag.rb
|
|
1111
|
+
- lib/mihari/entities/whois.rb
|
|
1100
1112
|
- lib/mihari/errors.rb
|
|
1101
1113
|
- lib/mihari/feed/parser.rb
|
|
1102
1114
|
- lib/mihari/feed/reader.rb
|
|
1115
|
+
- lib/mihari/http.rb
|
|
1103
1116
|
- lib/mihari/mixins/autonomous_system.rb
|
|
1104
1117
|
- lib/mihari/mixins/configurable.rb
|
|
1105
1118
|
- lib/mihari/mixins/database.rb
|
|
1106
1119
|
- lib/mihari/mixins/disallowed_data_value.rb
|
|
1120
|
+
- lib/mihari/mixins/error_notification.rb
|
|
1107
1121
|
- lib/mihari/mixins/refang.rb
|
|
1108
1122
|
- lib/mihari/mixins/retriable.rb
|
|
1109
1123
|
- lib/mihari/mixins/rule.rb
|
|
@@ -1117,9 +1131,6 @@ files:
|
|
|
1117
1131
|
- lib/mihari/models/tag.rb
|
|
1118
1132
|
- lib/mihari/models/tagging.rb
|
|
1119
1133
|
- lib/mihari/models/whois.rb
|
|
1120
|
-
- lib/mihari/notifiers/base.rb
|
|
1121
|
-
- lib/mihari/notifiers/exception_notifier.rb
|
|
1122
|
-
- lib/mihari/notifiers/slack.rb
|
|
1123
1134
|
- lib/mihari/schemas/analyzer.rb
|
|
1124
1135
|
- lib/mihari/schemas/macros.rb
|
|
1125
1136
|
- lib/mihari/schemas/rule.rb
|
|
@@ -1147,36 +1158,29 @@ files:
|
|
|
1147
1158
|
- lib/mihari/web/endpoints/rules.rb
|
|
1148
1159
|
- lib/mihari/web/endpoints/sources.rb
|
|
1149
1160
|
- lib/mihari/web/endpoints/tags.rb
|
|
1150
|
-
- lib/mihari/web/entities/alert.rb
|
|
1151
|
-
- lib/mihari/web/entities/artifact.rb
|
|
1152
|
-
- lib/mihari/web/entities/autonomous_system.rb
|
|
1153
|
-
- lib/mihari/web/entities/command.rb
|
|
1154
|
-
- lib/mihari/web/entities/config.rb
|
|
1155
|
-
- lib/mihari/web/entities/dns.rb
|
|
1156
|
-
- lib/mihari/web/entities/geolocation.rb
|
|
1157
|
-
- lib/mihari/web/entities/ip_address.rb
|
|
1158
|
-
- lib/mihari/web/entities/message.rb
|
|
1159
|
-
- lib/mihari/web/entities/reverse_dns.rb
|
|
1160
|
-
- lib/mihari/web/entities/rule.rb
|
|
1161
|
-
- lib/mihari/web/entities/source.rb
|
|
1162
|
-
- lib/mihari/web/entities/tag.rb
|
|
1163
|
-
- lib/mihari/web/entities/whois.rb
|
|
1164
1161
|
- lib/mihari/web/middleware/connection_adapter.rb
|
|
1162
|
+
- lib/mihari/web/middleware/error_notification_adapter.rb
|
|
1165
1163
|
- lib/mihari/web/public/index.html
|
|
1166
1164
|
- lib/mihari/web/public/redoc-static.html
|
|
1165
|
+
- lib/mihari/web/public/static/css/app.43138058.css
|
|
1166
|
+
- lib/mihari/web/public/static/css/chunk-vendors.3ed9b08e.css
|
|
1167
1167
|
- lib/mihari/web/public/static/favicon.ico
|
|
1168
1168
|
- lib/mihari/web/public/static/fonts/fa-brands-400.099a9556.woff
|
|
1169
1169
|
- lib/mihari/web/public/static/fonts/fa-brands-400.1a575a41.woff
|
|
1170
|
+
- lib/mihari/web/public/static/fonts/fa-brands-400.1fd0b4d7.ttf
|
|
1170
1171
|
- lib/mihari/web/public/static/fonts/fa-brands-400.30cc681d.eot
|
|
1171
1172
|
- lib/mihari/web/public/static/fonts/fa-brands-400.3b89dd10.ttf
|
|
1172
1173
|
- lib/mihari/web/public/static/fonts/fa-brands-400.513aa607.ttf
|
|
1173
1174
|
- lib/mihari/web/public/static/fonts/fa-brands-400.592643a8.eot
|
|
1175
|
+
- lib/mihari/web/public/static/fonts/fa-brands-400.5d5236fb.woff2
|
|
1174
1176
|
- lib/mihari/web/public/static/fonts/fa-brands-400.ed311c7a.woff2
|
|
1175
1177
|
- lib/mihari/web/public/static/fonts/fa-brands-400.f7307680.woff2
|
|
1176
1178
|
- lib/mihari/web/public/static/fonts/fa-regular-400.1f77739c.ttf
|
|
1179
|
+
- lib/mihari/web/public/static/fonts/fa-regular-400.64b3730e.woff2
|
|
1177
1180
|
- lib/mihari/web/public/static/fonts/fa-regular-400.7124eb50.woff
|
|
1178
1181
|
- lib/mihari/web/public/static/fonts/fa-regular-400.7630483d.eot
|
|
1179
1182
|
- lib/mihari/web/public/static/fonts/fa-regular-400.766913e6.ttf
|
|
1183
|
+
- lib/mihari/web/public/static/fonts/fa-regular-400.95a8a8af.ttf
|
|
1180
1184
|
- lib/mihari/web/public/static/fonts/fa-regular-400.b0e2db3b.eot
|
|
1181
1185
|
- lib/mihari/web/public/static/fonts/fa-regular-400.b91d376b.woff2
|
|
1182
1186
|
- lib/mihari/web/public/static/fonts/fa-regular-400.d1d7e3b4.woff
|
|
@@ -1184,17 +1188,22 @@ files:
|
|
|
1184
1188
|
- lib/mihari/web/public/static/fonts/fa-solid-900.0c6bfc66.eot
|
|
1185
1189
|
- lib/mihari/web/public/static/fonts/fa-solid-900.1042e8ca.eot
|
|
1186
1190
|
- lib/mihari/web/public/static/fonts/fa-solid-900.605ed792.ttf
|
|
1191
|
+
- lib/mihari/web/public/static/fonts/fa-solid-900.6115ad71.woff2
|
|
1187
1192
|
- lib/mihari/web/public/static/fonts/fa-solid-900.9fe5a17c.woff
|
|
1188
1193
|
- lib/mihari/web/public/static/fonts/fa-solid-900.b9625119.ttf
|
|
1189
1194
|
- lib/mihari/web/public/static/fonts/fa-solid-900.d745348d.woff
|
|
1190
1195
|
- lib/mihari/web/public/static/fonts/fa-solid-900.d824df7e.woff2
|
|
1191
1196
|
- lib/mihari/web/public/static/fonts/fa-solid-900.e8a427e1.woff2
|
|
1197
|
+
- lib/mihari/web/public/static/fonts/fa-solid-900.f0203cfc.ttf
|
|
1198
|
+
- lib/mihari/web/public/static/fonts/fa-v4compatibility.e1023515.ttf
|
|
1192
1199
|
- lib/mihari/web/public/static/img/fa-brands-400.1d5619cd.svg
|
|
1193
1200
|
- lib/mihari/web/public/static/img/fa-brands-400.ba7ed552.svg
|
|
1194
1201
|
- lib/mihari/web/public/static/img/fa-regular-400.0bb42845.svg
|
|
1195
1202
|
- lib/mihari/web/public/static/img/fa-regular-400.c5d109be.svg
|
|
1196
1203
|
- lib/mihari/web/public/static/img/fa-solid-900.376c1f97.svg
|
|
1197
1204
|
- lib/mihari/web/public/static/img/fa-solid-900.37bc7099.svg
|
|
1205
|
+
- lib/mihari/web/public/static/js/app-legacy.46b666f0.js
|
|
1206
|
+
- lib/mihari/web/public/static/js/app-legacy.46b666f0.js.map
|
|
1198
1207
|
- lib/mihari/web/public/static/js/app.06d5cf1c.js
|
|
1199
1208
|
- lib/mihari/web/public/static/js/app.06d5cf1c.js.map
|
|
1200
1209
|
- lib/mihari/web/public/static/js/app.0a0cc502.js
|
|
@@ -1205,6 +1214,8 @@ files:
|
|
|
1205
1214
|
- lib/mihari/web/public/static/js/app.365f1907.js.map
|
|
1206
1215
|
- lib/mihari/web/public/static/js/app.378da3dc.js
|
|
1207
1216
|
- lib/mihari/web/public/static/js/app.378da3dc.js.map
|
|
1217
|
+
- lib/mihari/web/public/static/js/app.4818aedd.js
|
|
1218
|
+
- lib/mihari/web/public/static/js/app.4818aedd.js.map
|
|
1208
1219
|
- lib/mihari/web/public/static/js/app.49ab738a.js
|
|
1209
1220
|
- lib/mihari/web/public/static/js/app.49ab738a.js.map
|
|
1210
1221
|
- lib/mihari/web/public/static/js/app.5dc97aae.js
|
|
@@ -1231,6 +1242,10 @@ files:
|
|
|
1231
1242
|
- lib/mihari/web/public/static/js/app.f2b8890f.js.map
|
|
1232
1243
|
- lib/mihari/web/public/static/js/app.fbc19869.js
|
|
1233
1244
|
- lib/mihari/web/public/static/js/app.fbc19869.js.map
|
|
1245
|
+
- lib/mihari/web/public/static/js/chunk-vendors-legacy.c99e452e.js
|
|
1246
|
+
- lib/mihari/web/public/static/js/chunk-vendors-legacy.c99e452e.js.map
|
|
1247
|
+
- lib/mihari/web/public/static/js/chunk-vendors.15e84e22.js
|
|
1248
|
+
- lib/mihari/web/public/static/js/chunk-vendors.15e84e22.js.map
|
|
1234
1249
|
- mihari.gemspec
|
|
1235
1250
|
- renovate.json
|
|
1236
1251
|
- sig/lib/mihari.rbs
|
|
@@ -1257,7 +1272,6 @@ files:
|
|
|
1257
1272
|
- sig/lib/mihari/cli/base.rbs
|
|
1258
1273
|
- sig/lib/mihari/cli/init.rbs
|
|
1259
1274
|
- sig/lib/mihari/cli/main.rbs
|
|
1260
|
-
- sig/lib/mihari/cli/mixins/utils.rbs
|
|
1261
1275
|
- sig/lib/mihari/cli/validator.rbs
|
|
1262
1276
|
- sig/lib/mihari/commands/init.rbs
|
|
1263
1277
|
- sig/lib/mihari/commands/json.rbs
|
|
@@ -1278,10 +1292,12 @@ files:
|
|
|
1278
1292
|
- sig/lib/mihari/errors.rbs
|
|
1279
1293
|
- sig/lib/mihari/feed/parser.rbs
|
|
1280
1294
|
- sig/lib/mihari/feed/reader.rbs
|
|
1295
|
+
- sig/lib/mihari/http.rbs
|
|
1281
1296
|
- sig/lib/mihari/mixins/autonomous_system.rbs
|
|
1282
1297
|
- sig/lib/mihari/mixins/configurable.rbs
|
|
1283
1298
|
- sig/lib/mihari/mixins/configuration.rbs
|
|
1284
1299
|
- sig/lib/mihari/mixins/disallowed_data_value.rbs
|
|
1300
|
+
- sig/lib/mihari/mixins/error_notification.rbs
|
|
1285
1301
|
- sig/lib/mihari/mixins/hash.rbs
|
|
1286
1302
|
- sig/lib/mihari/mixins/refang.rbs
|
|
1287
1303
|
- sig/lib/mihari/mixins/retriable.rbs
|
|
@@ -1296,9 +1312,6 @@ files:
|
|
|
1296
1312
|
- sig/lib/mihari/models/tag.rbs
|
|
1297
1313
|
- sig/lib/mihari/models/tagging.rbs
|
|
1298
1314
|
- sig/lib/mihari/models/whois.rbs
|
|
1299
|
-
- sig/lib/mihari/notifiers/base.rbs
|
|
1300
|
-
- sig/lib/mihari/notifiers/exception_notifier.rbs
|
|
1301
|
-
- sig/lib/mihari/notifiers/slack.rbs
|
|
1302
1315
|
- sig/lib/mihari/status.rbs
|
|
1303
1316
|
- sig/lib/mihari/structs/alert.rbs
|
|
1304
1317
|
- sig/lib/mihari/structs/censys.rbs
|