mihari 3.7.1 → 3.9.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/README.md +1 -3
- data/lib/mihari/analyzers/rule.rb +24 -19
- data/lib/mihari/analyzers/virustotal_intelligence.rb +63 -0
- data/lib/mihari/cli/analyzer.rb +2 -0
- data/lib/mihari/commands/passivetotal.rb +1 -0
- data/lib/mihari/commands/virustotal.rb +1 -0
- data/lib/mihari/commands/virustotal_intelligence.rb +22 -0
- data/lib/mihari/commands/web.rb +9 -5
- data/lib/mihari/database.rb +1 -1
- data/lib/mihari/models/alert.rb +28 -46
- data/lib/mihari/structs/alert.rb +45 -0
- data/lib/mihari/structs/virustotal_intelligence.rb +75 -0
- data/lib/mihari/types.rb +18 -3
- data/lib/mihari/version.rb +1 -1
- data/lib/mihari/web/app.rb +2 -2
- data/lib/mihari/web/controllers/alerts_controller.rb +21 -28
- data/lib/mihari/web/public/index.html +1 -1
- data/lib/mihari/web/public/redoc-static.html +2 -2
- data/lib/mihari/web/public/static/js/app.378da3dc.js +50 -0
- data/lib/mihari/web/public/static/js/app.378da3dc.js.map +1 -0
- data/lib/mihari/web/public/static/js/app.a862ebca.js +50 -0
- data/lib/mihari/web/public/static/js/app.a862ebca.js.map +1 -0
- data/lib/mihari.rb +29 -27
- data/mihari.gemspec +5 -5
- data/sig/lib/mihari/analyzers/rule.rbs +3 -3
- data/sig/lib/mihari/analyzers/virustotal_intelligence.rbs +32 -0
- data/sig/lib/mihari/models/alert.rbs +3 -31
- data/sig/lib/mihari/structs/alert.rbs +27 -0
- data/sig/lib/mihari/structs/virustotal_intelligence.rbs +33 -0
- data/sig/lib/mihari/web/app.rbs +1 -1
- metadata +23 -12
data/lib/mihari.rb
CHANGED
@@ -30,32 +30,32 @@ module Mihari
|
|
30
30
|
extend Dry::Configurable
|
31
31
|
extend Mixins::Configuration
|
32
32
|
|
33
|
-
setting :binaryedge_api_key, ENV["BINARYEDGE_API_KEY"]
|
34
|
-
setting :censys_id, ENV["CENSYS_ID"]
|
35
|
-
setting :censys_secret, ENV["CENSYS_SECRET"]
|
36
|
-
setting :circl_passive_password, ENV["CIRCL_PASSIVE_PASSWORD"]
|
37
|
-
setting :circl_passive_username, ENV["CIRCL_PASSIVE_USERNAME"]
|
38
|
-
setting :ipinfo_api_key, ENV["IPINFO_API_KEY"]
|
39
|
-
setting :misp_api_endpoint, ENV["MISP_API_ENDPOINT"]
|
40
|
-
setting :misp_api_key, ENV["MISP_API_KEY"]
|
41
|
-
setting :onyphe_api_key, ENV["ONYPHE_API_KEY"]
|
42
|
-
setting :otx_api_key, ENV["OTX_API_KEY"]
|
43
|
-
setting :passivetotal_api_key, ENV["PASSIVETOTAL_API_KEY"]
|
44
|
-
setting :passivetotal_username, ENV["PASSIVETOTAL_USERNAME"]
|
45
|
-
setting :pulsedive_api_key, ENV["PULSEDIVE_API_KEY"]
|
46
|
-
setting :securitytrails_api_key, ENV["SECURITYTRAILS_API_KEY"]
|
47
|
-
setting :shodan_api_key, ENV["SHODAN_API_KEY"]
|
48
|
-
setting :slack_channel, ENV["SLACK_CHANNEL"]
|
49
|
-
setting :slack_webhook_url, ENV["SLACK_WEBHOOK_URL"]
|
50
|
-
setting :spyse_api_key, ENV["SPYSE_API_KEY"]
|
51
|
-
setting :thehive_api_endpoint, ENV["THEHIVE_API_ENDPOINT"]
|
52
|
-
setting :thehive_api_key, ENV["THEHIVE_API_KEY"]
|
53
|
-
setting :urlscan_api_key, ENV["URLSCAN_API_KEY"]
|
54
|
-
setting :virustotal_api_key, ENV["VIRUSTOTAL_API_KEY"]
|
55
|
-
setting :zoomeye_api_key, ENV["ZOOMEYE_API_KEY"]
|
56
|
-
setting :webhook_url, ENV["WEBHOOK_URL"]
|
57
|
-
setting
|
58
|
-
setting :database, ENV["DATABASE"] || "mihari.db"
|
33
|
+
setting :binaryedge_api_key, default: ENV["BINARYEDGE_API_KEY"]
|
34
|
+
setting :censys_id, default: ENV["CENSYS_ID"]
|
35
|
+
setting :censys_secret, default: ENV["CENSYS_SECRET"]
|
36
|
+
setting :circl_passive_password, default: ENV["CIRCL_PASSIVE_PASSWORD"]
|
37
|
+
setting :circl_passive_username, default: ENV["CIRCL_PASSIVE_USERNAME"]
|
38
|
+
setting :ipinfo_api_key, default: ENV["IPINFO_API_KEY"]
|
39
|
+
setting :misp_api_endpoint, default: ENV["MISP_API_ENDPOINT"]
|
40
|
+
setting :misp_api_key, default: ENV["MISP_API_KEY"]
|
41
|
+
setting :onyphe_api_key, default: ENV["ONYPHE_API_KEY"]
|
42
|
+
setting :otx_api_key, default: ENV["OTX_API_KEY"]
|
43
|
+
setting :passivetotal_api_key, default: ENV["PASSIVETOTAL_API_KEY"]
|
44
|
+
setting :passivetotal_username, default: ENV["PASSIVETOTAL_USERNAME"]
|
45
|
+
setting :pulsedive_api_key, default: ENV["PULSEDIVE_API_KEY"]
|
46
|
+
setting :securitytrails_api_key, default: ENV["SECURITYTRAILS_API_KEY"]
|
47
|
+
setting :shodan_api_key, default: ENV["SHODAN_API_KEY"]
|
48
|
+
setting :slack_channel, default: ENV["SLACK_CHANNEL"]
|
49
|
+
setting :slack_webhook_url, default: ENV["SLACK_WEBHOOK_URL"]
|
50
|
+
setting :spyse_api_key, default: ENV["SPYSE_API_KEY"]
|
51
|
+
setting :thehive_api_endpoint, default: ENV["THEHIVE_API_ENDPOINT"]
|
52
|
+
setting :thehive_api_key, default: ENV["THEHIVE_API_KEY"]
|
53
|
+
setting :urlscan_api_key, default: ENV["URLSCAN_API_KEY"]
|
54
|
+
setting :virustotal_api_key, default: ENV["VIRUSTOTAL_API_KEY"]
|
55
|
+
setting :zoomeye_api_key, default: ENV["ZOOMEYE_API_KEY"]
|
56
|
+
setting :webhook_url, default: ENV["WEBHOOK_URL"]
|
57
|
+
setting :webhook_use_json_body, constructor: ->(value = ENV["WEBHOOK_USE_JSON_BODY"]) { truthy?(value) }
|
58
|
+
setting :database, default: ENV["DATABASE"] || "mihari.db"
|
59
59
|
|
60
60
|
class << self
|
61
61
|
include Mem
|
@@ -108,10 +108,12 @@ require "mihari/constants"
|
|
108
108
|
require "mihari/types"
|
109
109
|
|
110
110
|
# Structs
|
111
|
+
require "mihari/structs/alert"
|
111
112
|
require "mihari/structs/censys"
|
112
113
|
require "mihari/structs/ipinfo"
|
113
114
|
require "mihari/structs/onyphe"
|
114
115
|
require "mihari/structs/shodan"
|
116
|
+
require "mihari/structs/virustotal_intelligence"
|
115
117
|
|
116
118
|
# Schemas
|
117
119
|
require "mihari/schemas/analyzer"
|
@@ -163,9 +165,9 @@ require "mihari/analyzers/securitytrails"
|
|
163
165
|
require "mihari/analyzers/shodan"
|
164
166
|
require "mihari/analyzers/spyse"
|
165
167
|
require "mihari/analyzers/urlscan"
|
168
|
+
require "mihari/analyzers/virustotal_intelligence"
|
166
169
|
require "mihari/analyzers/virustotal"
|
167
170
|
require "mihari/analyzers/zoomeye"
|
168
|
-
|
169
171
|
require "mihari/analyzers/rule"
|
170
172
|
|
171
173
|
# Notifiers
|
data/mihari.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.require_paths = ["lib"]
|
27
27
|
|
28
28
|
spec.add_development_dependency "bundler", "~> 2.2"
|
29
|
-
spec.add_development_dependency "coveralls_reborn", "~> 0.
|
29
|
+
spec.add_development_dependency "coveralls_reborn", "~> 0.23"
|
30
30
|
spec.add_development_dependency "fakefs", "~> 1.3"
|
31
31
|
spec.add_development_dependency "mysql2", "~> 0.5"
|
32
32
|
spec.add_development_dependency "overcommit", "~> 0.58"
|
@@ -55,11 +55,11 @@ Gem::Specification.new do |spec|
|
|
55
55
|
spec.add_dependency "dnpedia", "~> 0.1"
|
56
56
|
spec.add_dependency "dnstwister", "~> 0.1"
|
57
57
|
spec.add_dependency "dotenv", "~> 2.7"
|
58
|
-
spec.add_dependency "dry-configurable", "~> 0.
|
58
|
+
spec.add_dependency "dry-configurable", "~> 0.13"
|
59
59
|
spec.add_dependency "dry-files", "~> 0.1"
|
60
60
|
spec.add_dependency "dry-initializer", "~> 3.0"
|
61
61
|
spec.add_dependency "dry-struct", "~> 1.4"
|
62
|
-
spec.add_dependency "dry-validation", "~> 1.
|
62
|
+
spec.add_dependency "dry-validation", "~> 1.7"
|
63
63
|
spec.add_dependency "email_address", "~> 0.2"
|
64
64
|
spec.add_dependency "hachi", "~> 1.0"
|
65
65
|
spec.add_dependency "http", "~> 5.0"
|
@@ -76,7 +76,7 @@ Gem::Specification.new do |spec|
|
|
76
76
|
spec.add_dependency "passivetotalx", "~> 0.1"
|
77
77
|
spec.add_dependency "public_suffix", "~> 4.0"
|
78
78
|
spec.add_dependency "pulsedive", "~> 0.1"
|
79
|
-
spec.add_dependency "puma", "~> 5.
|
79
|
+
spec.add_dependency "puma", "~> 5.5"
|
80
80
|
spec.add_dependency "rack", "~> 2.2"
|
81
81
|
spec.add_dependency "rack-contrib", "~> 2.3"
|
82
82
|
spec.add_dependency "safe_shell", "~> 1.1"
|
@@ -92,7 +92,7 @@ Gem::Specification.new do |spec|
|
|
92
92
|
spec.add_dependency "thread_safe", "~> 0.3"
|
93
93
|
spec.add_dependency "urlscan", "~> 0.7"
|
94
94
|
spec.add_dependency "uuidtools", "~> 2.2"
|
95
|
-
spec.add_dependency "virustotalx", "~> 1.
|
95
|
+
spec.add_dependency "virustotalx", "~> 1.2"
|
96
96
|
spec.add_dependency "whois", "~> 5.0"
|
97
97
|
spec.add_dependency "whois-parser", "~> 1.2"
|
98
98
|
spec.add_dependency "zoomeye-rb", "~> 0.2"
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module Mihari
|
2
2
|
module Analyzers
|
3
|
+
ANALYZER_TO_CLASS: Hash[String, singleton(Mihari::Analyzers::Base)]
|
4
|
+
|
3
5
|
class Rule < Base
|
4
6
|
include Mihari::Mixins::DisallowedDataValue
|
5
7
|
|
@@ -14,14 +16,12 @@ module Mihari
|
|
14
16
|
|
15
17
|
def initialize: (**untyped kwargs) -> void
|
16
18
|
|
17
|
-
ANALYZER_TO_CLASS: Hash[String, singleton(Mihari::Analyzers::Base)]
|
18
|
-
|
19
19
|
#
|
20
20
|
# Returns a list of artifacts matched with queries
|
21
21
|
#
|
22
22
|
# @return [Array<Mihari::Artifact>]
|
23
23
|
#
|
24
|
-
def artifacts: () -> (Array[
|
24
|
+
def artifacts: () -> (Array[Mihari::Artifact])
|
25
25
|
|
26
26
|
#
|
27
27
|
# Normalize artifacts
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Mihari
|
2
|
+
module Analyzers
|
3
|
+
class VirusTotalIntelligence < Base
|
4
|
+
attr_reader query: String
|
5
|
+
attr_reader title: String
|
6
|
+
attr_reader description: String
|
7
|
+
attr_reader tags: Array[String]
|
8
|
+
|
9
|
+
def initialize: (*untyped args, **untyped kwargs) -> void
|
10
|
+
|
11
|
+
def artifacts: () -> (Array[String] | Array[Mihari::Artifact])
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def configuration_keys: () -> ::Array["virustotal_api_key"]
|
16
|
+
|
17
|
+
#
|
18
|
+
# VT API
|
19
|
+
#
|
20
|
+
# @return [::VirusTotal::API]
|
21
|
+
#
|
22
|
+
def api: () -> untyped
|
23
|
+
|
24
|
+
#
|
25
|
+
# Search with cursor
|
26
|
+
#
|
27
|
+
# @return [Array<Mihari::Structs::VirusTotalIntelligence::Response>]
|
28
|
+
#
|
29
|
+
def search_witgh_cursor: () -> Array[Mihari::Structs::VirusTotalIntelligence::Response]
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -7,40 +7,12 @@ module Mihari
|
|
7
7
|
attr_accessor artifacts(): Array[Mihari::Artifact]
|
8
8
|
attr_accessor Tags(): Array[Mihari::Tag]
|
9
9
|
|
10
|
-
|
11
|
-
# Search alerts
|
12
|
-
#
|
13
|
-
# @param [String, nil] artifact_data
|
14
|
-
# @param [String, nil] description
|
15
|
-
# @param [String, nil] source
|
16
|
-
# @param [String, nil] tag_name
|
17
|
-
# @param [String, nil] title
|
18
|
-
# @param [DateTime, nil] from_at
|
19
|
-
# @param [DateTime, nil] to_at
|
20
|
-
# @param [Integer, nil] limit
|
21
|
-
# @param [Integer, nil] page
|
22
|
-
#
|
23
|
-
# @return [Array<Hash>]
|
24
|
-
#
|
25
|
-
def self.search: (?artifact_data: String? artifact_data, ?description: String? description, ?source: String? source, ?tag_name: String? tag_name, ?title: String? title, ?from_at: DateTime? from_at, ?to_at: DateTime? to_at, ?limit: ::Integer limit, ?page: ::Integer page) -> Array[Hash[(String | Symbol), untyped]]
|
10
|
+
def self.search: (Mihari::Structs::Alert::SearchFilterWithPagination filter) -> Array[Hash[(String | Symbol), untyped]]
|
26
11
|
|
27
|
-
|
28
|
-
# Count alerts
|
29
|
-
#
|
30
|
-
# @param [String, nil] artifact_data
|
31
|
-
# @param [String, nil] description
|
32
|
-
# @param [String, nil] source
|
33
|
-
# @param [String, nil] tag_name
|
34
|
-
# @param [String, nil] title
|
35
|
-
# @param [DateTime, nil] from_at
|
36
|
-
# @param [DateTime, nil] to_at
|
37
|
-
#
|
38
|
-
# @return [Integer]
|
39
|
-
#
|
40
|
-
def self.count: (?artifact_data: String? artifact_data, ?description: String? description, ?source: String? source, ?tag_name: String? tag_name, ?title: String? title, ?from_at: DateTime? from_at, ?to_at: DateTime? to_at) -> Integer
|
12
|
+
def self.count: (Mihari::Structs::Alert::SearchFilter filter) -> Integer
|
41
13
|
|
42
14
|
private
|
43
15
|
|
44
|
-
def self.build_relation: (
|
16
|
+
def self.build_relation: (Mihari::Structs::Alert::SearchFilter filter) -> Mihari::Alert
|
45
17
|
end
|
46
18
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Mihari
|
2
|
+
module Structs
|
3
|
+
module Alert
|
4
|
+
class SearchFilter
|
5
|
+
attr_reader artifact_data: String?
|
6
|
+
attr_reader description: String?
|
7
|
+
attr_reader source: String?
|
8
|
+
attr_reader tag_name: String?
|
9
|
+
attr_reader title: String?
|
10
|
+
attr_reader from_at: DateTime?
|
11
|
+
attr_reader to_at: DateTime?
|
12
|
+
attr_reader asn: Integer?
|
13
|
+
attr_reader dns_record: String?
|
14
|
+
attr_reader reverse_dns_name: String?
|
15
|
+
|
16
|
+
def has_valid_artifact_filters: () -> bool
|
17
|
+
end
|
18
|
+
|
19
|
+
class SearchFilterWithPagination
|
20
|
+
attr_reader page: Integer
|
21
|
+
attr_reader limit: Integer
|
22
|
+
|
23
|
+
def without_pagination: () -> Mihari::Structs::Alert::SearchFilter
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Mihari
|
2
|
+
module Structs
|
3
|
+
module VirusTotalIntelligence
|
4
|
+
class ContextAttributes
|
5
|
+
attr_reader url: Array[String]?
|
6
|
+
|
7
|
+
def self.from_dynamic!: (Hash[(String | Symbol), untyped] d) -> Mihari::Structs::VirusTotalIntelligence::ContextAttributes
|
8
|
+
end
|
9
|
+
|
10
|
+
class Datum
|
11
|
+
attr_reader type: String
|
12
|
+
attr_reader context_attributes: Mihari::Structs::VirusTotalIntelligence::ContextAttributes?
|
13
|
+
|
14
|
+
def value: () -> String?
|
15
|
+
|
16
|
+
def self.from_dynamic!: (Hash[(String | Symbol), untyped] d) -> Mihari::Structs::VirusTotalIntelligence::Datum
|
17
|
+
end
|
18
|
+
|
19
|
+
class Meta
|
20
|
+
attr_reader cursor: String?
|
21
|
+
|
22
|
+
def self.from_dynamic!: (Hash[(String | Symbol), untyped] d) -> Mihari::Structs::VirusTotalIntelligence::Meta
|
23
|
+
end
|
24
|
+
|
25
|
+
class Response
|
26
|
+
attr_reader meta: Mihari::Structs::VirusTotalIntelligence::Meta
|
27
|
+
attr_reader data: Array[Mihari::Structs::VirusTotalIntelligence::Datum]
|
28
|
+
|
29
|
+
def self.from_dynamic!: (Hash[(String | Symbol), untyped] d) -> Mihari::Structs::VirusTotalIntelligence::Response
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/sig/lib/mihari/web/app.rbs
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: 3.
|
4
|
+
version: 3.9.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: 2021-09-
|
11
|
+
date: 2021-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.23'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
40
|
+
version: '0.23'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: fakefs
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -422,14 +422,14 @@ dependencies:
|
|
422
422
|
requirements:
|
423
423
|
- - "~>"
|
424
424
|
- !ruby/object:Gem::Version
|
425
|
-
version: '0.
|
425
|
+
version: '0.13'
|
426
426
|
type: :runtime
|
427
427
|
prerelease: false
|
428
428
|
version_requirements: !ruby/object:Gem::Requirement
|
429
429
|
requirements:
|
430
430
|
- - "~>"
|
431
431
|
- !ruby/object:Gem::Version
|
432
|
-
version: '0.
|
432
|
+
version: '0.13'
|
433
433
|
- !ruby/object:Gem::Dependency
|
434
434
|
name: dry-files
|
435
435
|
requirement: !ruby/object:Gem::Requirement
|
@@ -478,14 +478,14 @@ dependencies:
|
|
478
478
|
requirements:
|
479
479
|
- - "~>"
|
480
480
|
- !ruby/object:Gem::Version
|
481
|
-
version: '1.
|
481
|
+
version: '1.7'
|
482
482
|
type: :runtime
|
483
483
|
prerelease: false
|
484
484
|
version_requirements: !ruby/object:Gem::Requirement
|
485
485
|
requirements:
|
486
486
|
- - "~>"
|
487
487
|
- !ruby/object:Gem::Version
|
488
|
-
version: '1.
|
488
|
+
version: '1.7'
|
489
489
|
- !ruby/object:Gem::Dependency
|
490
490
|
name: email_address
|
491
491
|
requirement: !ruby/object:Gem::Requirement
|
@@ -716,14 +716,14 @@ dependencies:
|
|
716
716
|
requirements:
|
717
717
|
- - "~>"
|
718
718
|
- !ruby/object:Gem::Version
|
719
|
-
version: '5.
|
719
|
+
version: '5.5'
|
720
720
|
type: :runtime
|
721
721
|
prerelease: false
|
722
722
|
version_requirements: !ruby/object:Gem::Requirement
|
723
723
|
requirements:
|
724
724
|
- - "~>"
|
725
725
|
- !ruby/object:Gem::Version
|
726
|
-
version: '5.
|
726
|
+
version: '5.5'
|
727
727
|
- !ruby/object:Gem::Dependency
|
728
728
|
name: rack
|
729
729
|
requirement: !ruby/object:Gem::Requirement
|
@@ -940,14 +940,14 @@ dependencies:
|
|
940
940
|
requirements:
|
941
941
|
- - "~>"
|
942
942
|
- !ruby/object:Gem::Version
|
943
|
-
version: '1.
|
943
|
+
version: '1.2'
|
944
944
|
type: :runtime
|
945
945
|
prerelease: false
|
946
946
|
version_requirements: !ruby/object:Gem::Requirement
|
947
947
|
requirements:
|
948
948
|
- - "~>"
|
949
949
|
- !ruby/object:Gem::Version
|
950
|
-
version: '1.
|
950
|
+
version: '1.2'
|
951
951
|
- !ruby/object:Gem::Dependency
|
952
952
|
name: whois
|
953
953
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1046,6 +1046,7 @@ files:
|
|
1046
1046
|
- lib/mihari/analyzers/spyse.rb
|
1047
1047
|
- lib/mihari/analyzers/urlscan.rb
|
1048
1048
|
- lib/mihari/analyzers/virustotal.rb
|
1049
|
+
- lib/mihari/analyzers/virustotal_intelligence.rb
|
1049
1050
|
- lib/mihari/analyzers/zoomeye.rb
|
1050
1051
|
- lib/mihari/cli/analyzer.rb
|
1051
1052
|
- lib/mihari/cli/base.rb
|
@@ -1072,6 +1073,7 @@ files:
|
|
1072
1073
|
- lib/mihari/commands/urlscan.rb
|
1073
1074
|
- lib/mihari/commands/validator.rb
|
1074
1075
|
- lib/mihari/commands/virustotal.rb
|
1076
|
+
- lib/mihari/commands/virustotal_intelligence.rb
|
1075
1077
|
- lib/mihari/commands/web.rb
|
1076
1078
|
- lib/mihari/commands/zoomeye.rb
|
1077
1079
|
- lib/mihari/constants.rb
|
@@ -1119,10 +1121,12 @@ files:
|
|
1119
1121
|
- lib/mihari/serializers/tag.rb
|
1120
1122
|
- lib/mihari/serializers/whois.rb
|
1121
1123
|
- lib/mihari/status.rb
|
1124
|
+
- lib/mihari/structs/alert.rb
|
1122
1125
|
- lib/mihari/structs/censys.rb
|
1123
1126
|
- lib/mihari/structs/ipinfo.rb
|
1124
1127
|
- lib/mihari/structs/onyphe.rb
|
1125
1128
|
- lib/mihari/structs/shodan.rb
|
1129
|
+
- lib/mihari/structs/virustotal_intelligence.rb
|
1126
1130
|
- lib/mihari/templates/rule.yml.erb
|
1127
1131
|
- lib/mihari/type_checker.rb
|
1128
1132
|
- lib/mihari/types.rb
|
@@ -1175,8 +1179,12 @@ files:
|
|
1175
1179
|
- lib/mihari/web/public/static/js/app.06d5cf1c.js.map
|
1176
1180
|
- lib/mihari/web/public/static/js/app.365f1907.js
|
1177
1181
|
- lib/mihari/web/public/static/js/app.365f1907.js.map
|
1182
|
+
- lib/mihari/web/public/static/js/app.378da3dc.js
|
1183
|
+
- lib/mihari/web/public/static/js/app.378da3dc.js.map
|
1178
1184
|
- lib/mihari/web/public/static/js/app.8e3e5150.js
|
1179
1185
|
- lib/mihari/web/public/static/js/app.8e3e5150.js.map
|
1186
|
+
- lib/mihari/web/public/static/js/app.a862ebca.js
|
1187
|
+
- lib/mihari/web/public/static/js/app.a862ebca.js.map
|
1180
1188
|
- lib/mihari/web/public/static/js/app.ab213f7c.js
|
1181
1189
|
- lib/mihari/web/public/static/js/app.ab213f7c.js.map
|
1182
1190
|
- lib/mihari/web/public/static/js/app.b5914c39.js
|
@@ -1204,6 +1212,7 @@ files:
|
|
1204
1212
|
- sig/lib/mihari/analyzers/spyse.rbs
|
1205
1213
|
- sig/lib/mihari/analyzers/urlscan.rbs
|
1206
1214
|
- sig/lib/mihari/analyzers/virustotal.rbs
|
1215
|
+
- sig/lib/mihari/analyzers/virustotal_intelligence.rbs
|
1207
1216
|
- sig/lib/mihari/analyzers/zoomeye.rbs
|
1208
1217
|
- sig/lib/mihari/cli/analyzer.rbs
|
1209
1218
|
- sig/lib/mihari/cli/base.rbs
|
@@ -1265,10 +1274,12 @@ files:
|
|
1265
1274
|
- sig/lib/mihari/notifiers/exception_notifier.rbs
|
1266
1275
|
- sig/lib/mihari/notifiers/slack.rbs
|
1267
1276
|
- sig/lib/mihari/status.rbs
|
1277
|
+
- sig/lib/mihari/structs/alert.rbs
|
1268
1278
|
- sig/lib/mihari/structs/censys.rbs
|
1269
1279
|
- sig/lib/mihari/structs/ipinfo.rbs
|
1270
1280
|
- sig/lib/mihari/structs/onyphe.rbs
|
1271
1281
|
- sig/lib/mihari/structs/shodan.rbs
|
1282
|
+
- sig/lib/mihari/structs/virustotal_intelligence.rbs
|
1272
1283
|
- sig/lib/mihari/type_checker.rbs
|
1273
1284
|
- sig/lib/mihari/types.rbs
|
1274
1285
|
- sig/lib/mihari/version.rbs
|