Module: Mihari
- Extended by:
- MemoWise
- Defined in:
- lib/mihari.rb,
lib/mihari/http.rb,
lib/mihari/rule.rb,
lib/mihari/actor.rb,
lib/mihari/types.rb,
lib/mihari/config.rb,
lib/mihari/errors.rb,
lib/mihari/cli/tag.rb,
lib/mihari/service.rb,
lib/mihari/version.rb,
lib/mihari/web/api.rb,
lib/mihari/cli/base.rb,
lib/mihari/cli/rule.rb,
lib/mihari/database.rb,
lib/mihari/cli/alert.rb,
lib/mihari/constants.rb,
lib/mihari/data_type.rb,
lib/mihari/cli/config.rb,
lib/mihari/models/cpe.rb,
lib/mihari/models/dns.rb,
lib/mihari/models/tag.rb,
lib/mihari/clients/otx.rb,
lib/mihari/models/port.rb,
lib/mihari/models/rule.rb,
lib/mihari/cli/artifact.rb,
lib/mihari/cli/database.rb,
lib/mihari/clients/base.rb,
lib/mihari/clients/fofa.rb,
lib/mihari/clients/misp.rb,
lib/mihari/clients/mmdb.rb,
lib/mihari/commands/tag.rb,
lib/mihari/commands/web.rb,
lib/mihari/entities/cpe.rb,
lib/mihari/entities/dns.rb,
lib/mihari/entities/tag.rb,
lib/mihari/models/alert.rb,
lib/mihari/models/whois.rb,
lib/mihari/schemas/rule.rb,
lib/mihari/sidekiq/jobs.rb,
lib/mihari/structs/fofa.rb,
lib/mihari/structs/mmdb.rb,
lib/mihari/analyzers/otx.rb,
lib/mihari/clients/circl.rb,
lib/mihari/clients/crtsh.rb,
lib/mihari/commands/rule.rb,
lib/mihari/emitters/base.rb,
lib/mihari/emitters/misp.rb,
lib/mihari/entities/port.rb,
lib/mihari/entities/rule.rb,
lib/mihari/schemas/alert.rb,
lib/mihari/services/feed.rb,
lib/mihari/analyzers/base.rb,
lib/mihari/analyzers/feed.rb,
lib/mihari/analyzers/fofa.rb,
lib/mihari/clients/censys.rb,
lib/mihari/clients/onyphe.rb,
lib/mihari/clients/shodan.rb,
lib/mihari/commands/alert.rb,
lib/mihari/emitters/slack.rb,
lib/mihari/enrichers/base.rb,
lib/mihari/enrichers/mmdb.rb,
lib/mihari/entities/alert.rb,
lib/mihari/entities/whois.rb,
lib/mihari/models/tagging.rb,
lib/mihari/structs/censys.rb,
lib/mihari/structs/config.rb,
lib/mihari/structs/onyphe.rb,
lib/mihari/structs/shodan.rb,
lib/mihari/analyzers/circl.rb,
lib/mihari/analyzers/crtsh.rb,
lib/mihari/cli/application.rb,
lib/mihari/clients/urlscan.rb,
lib/mihari/clients/zoomeye.rb,
lib/mihari/commands/config.rb,
lib/mihari/commands/search.rb,
lib/mihari/enrichers/whois.rb,
lib/mihari/entities/config.rb,
lib/mihari/models/artifact.rb,
lib/mihari/schemas/emitter.rb,
lib/mihari/schemas/options.rb,
lib/mihari/structs/filters.rb,
lib/mihari/structs/urlscan.rb,
lib/mihari/web/application.rb,
lib/mihari/analyzers/censys.rb,
lib/mihari/analyzers/onyphe.rb,
lib/mihari/analyzers/shodan.rb,
lib/mihari/clients/the_hive.rb,
lib/mihari/commands/sidekiq.rb,
lib/mihari/commands/version.rb,
lib/mihari/emitters/webhook.rb,
lib/mihari/enrichers/shodan.rb,
lib/mihari/schemas/analyzer.rb,
lib/mihari/schemas/enricher.rb,
lib/mihari/services/getters.rb,
lib/mihari/services/proxies.rb,
lib/mihari/analyzers/urlscan.rb,
lib/mihari/analyzers/zoomeye.rb,
lib/mihari/clients/greynoise.rb,
lib/mihari/clients/hunterhow.rb,
lib/mihari/commands/artifact.rb,
lib/mihari/commands/database.rb,
lib/mihari/emitters/database.rb,
lib/mihari/emitters/the_hive.rb,
lib/mihari/entities/artifact.rb,
lib/mihari/entities/messages.rb,
lib/mihari/services/builders.rb,
lib/mihari/services/creators.rb,
lib/mihari/services/renderer.rb,
lib/mihari/structs/greynoise.rb,
lib/mihari/structs/hunterhow.rb,
lib/mihari/clients/binaryedge.rb,
lib/mihari/clients/dnstwister.rb,
lib/mihari/clients/publsedive.rb,
lib/mihari/clients/virustotal.rb,
lib/mihari/concerns/retriable.rb,
lib/mihari/models/geolocation.rb,
lib/mihari/models/reverse_dns.rb,
lib/mihari/services/enrichers.rb,
lib/mihari/services/searchers.rb,
lib/mihari/structs/binaryedge.rb,
lib/mihari/web/endpoints/tags.rb,
lib/mihari/analyzers/greynoise.rb,
lib/mihari/analyzers/hunterhow.rb,
lib/mihari/analyzers/pulsedive.rb,
lib/mihari/concerns/refangable.rb,
lib/mihari/entities/ip_address.rb,
lib/mihari/entities/pagination.rb,
lib/mihari/services/destroyers.rb,
lib/mihari/web/endpoints/rules.rb,
lib/mihari/analyzers/binaryedge.rb,
lib/mihari/analyzers/dnstwister.rb,
lib/mihari/analyzers/virustotal.rb,
lib/mihari/clients/passivetotal.rb,
lib/mihari/entities/geolocation.rb,
lib/mihari/entities/reverse_dns.rb,
lib/mihari/web/endpoints/alerts.rb,
lib/mihari/concerns/configurable.rb,
lib/mihari/services/initializers.rb,
lib/mihari/web/endpoints/configs.rb,
lib/mihari/analyzers/passivetotal.rb,
lib/mihari/clients/securitytrails.rb,
lib/mihari/web/endpoints/artifacts.rb,
lib/mihari/analyzers/securitytrails.rb,
lib/mihari/models/autonomous_system.rb,
lib/mihari/schemas/concerns/orrable.rb,
lib/mihari/clients/google_public_dns.rb,
lib/mihari/structs/google_public_dns.rb,
lib/mihari/web/middleware/connection.rb,
lib/mihari/clients/shodan_internet_db.rb,
lib/mihari/concerns/error_unwrappable.rb,
lib/mihari/entities/autonomous_system.rb,
lib/mihari/models/concerns/searchable.rb,
lib/mihari/web/endpoints/ip_addresses.rb,
lib/mihari/enrichers/google_public_dns.rb,
lib/mihari/concerns/database_connectable.rb,
lib/mihari/structs/virustotal_intelligence.rb,
lib/mihari/analyzers/virustotal_intelligence.rb,
lib/mihari/web/middleware/capture_exceptions.rb,
lib/mihari/concerns/falsepositive_validatable.rb,
lib/mihari/concerns/autonomous_system_normalizable.rb
Overview
Defined Under Namespace
Modules: Analyzers, CLI, Clients, Commands, Concerns, Emitters, Enrichers, Entities, HTTP, Jobs, Models, Schemas, Services, Structs, Types, Web
Classes: Actor, AnalyzerError, Config, ConfigurationError, DataType, Database, Error, IntegrityError, ResponseError, Rule, Service, StatusError, ValidationError, ValueError
Constant Summary
collapse
- VERSION =
"7.1.3"
- DEFAULT_DATA_TYPES =
Types::DataTypes.values.freeze
- DEFAULT_EMITTERS =
Emitters::Database.keys.map { |name| { emitter: name.downcase } }.freeze
- DEFAULT_ENRICHERS =
Mihari.enricher_to_class.keys.map { |name| { enricher: name.downcase } }.freeze
Class Method Summary
collapse
Class Method Details
97
98
99
100
101
|
# File 'lib/mihari.rb', line 97
def analyzer_to_class
@analyzer_to_class ||= analyzers.flat_map do |klass|
klass.keys.map { |key| [key, klass] }
end.to_h
end
|
89
90
91
|
# File 'lib/mihari.rb', line 89
def analyzers
[]
end
|
123
124
125
|
# File 'lib/mihari.rb', line 123
def config
@config ||= Config.new
end
|
.development? ⇒ Boolean
146
147
148
|
# File 'lib/mihari.rb', line 146
def development?
env == "development"
end
|
80
81
82
83
84
|
# File 'lib/mihari.rb', line 80
def emitter_to_class
@emitter_to_class ||= emitters.flat_map do |klass|
klass.keys.map { |key| [key, klass] }
end.to_h
end
|
72
73
74
|
# File 'lib/mihari.rb', line 72
def emitters
[]
end
|
114
115
116
117
118
|
# File 'lib/mihari.rb', line 114
def enricher_to_class
@enricher_to_class ||= enrichers.flat_map do |klass|
klass.keys.map { |key| [key, klass] }
end.to_h
end
|
106
107
108
|
# File 'lib/mihari.rb', line 106
def enrichers
[]
end
|
.env ⇒ String
139
140
141
|
# File 'lib/mihari.rb', line 139
def env
ENV["APP_ENV"] || ENV["RACK_ENV"]
end
|
.initialize_sentry ⇒ Object
.logger ⇒ Object
127
128
129
130
131
132
133
|
# File 'lib/mihari.rb', line 127
def logger
SemanticLogger.sync! unless puma?
SemanticLogger.default_level = :info
SemanticLogger.add_appender(io: $stderr, formatter: :color)
SemanticLogger["Mihari"]
end
|
.puma? ⇒ Boolean
160
161
162
163
164
|
# File 'lib/mihari.rb', line 160
def puma?
!Puma.stats.nil?
rescue StandardError
false
end
|