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/clients/yeti.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/clients/whois.rb,
lib/mihari/commands/rule.rb,
lib/mihari/emitters/base.rb,
lib/mihari/emitters/misp.rb,
lib/mihari/emitters/yeti.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/validin.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/validin.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/models/vulnerability.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/entities/vulnerability.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/falsepositive_normalizable.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, UnenrichableError, ValidationError, ValueError
Constant Summary
collapse
- VERSION =
"8.0.0"
- 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
98
99
100
101
102
|
# File 'lib/mihari.rb', line 98
def analyzer_to_class
@analyzer_to_class ||= analyzers.flat_map do |klass|
klass.keys.map { |key| [key, klass] }
end.to_h
end
|
90
91
92
|
# File 'lib/mihari.rb', line 90
def analyzers
[]
end
|
124
125
126
|
# File 'lib/mihari.rb', line 124
def config
@config ||= Config.new
end
|
.development? ⇒ Boolean
147
148
149
|
# File 'lib/mihari.rb', line 147
def development?
env == "development"
end
|
81
82
83
84
85
|
# File 'lib/mihari.rb', line 81
def emitter_to_class
@emitter_to_class ||= emitters.flat_map do |klass|
klass.keys.map { |key| [key, klass] }
end.to_h
end
|
73
74
75
|
# File 'lib/mihari.rb', line 73
def emitters
[]
end
|
115
116
117
118
119
|
# File 'lib/mihari.rb', line 115
def enricher_to_class
@enricher_to_class ||= enrichers.flat_map do |klass|
klass.keys.map { |key| [key, klass] }
end.to_h
end
|
107
108
109
|
# File 'lib/mihari.rb', line 107
def enrichers
[]
end
|
.env ⇒ String
140
141
142
|
# File 'lib/mihari.rb', line 140
def env
ENV["APP_ENV"] || ENV["RACK_ENV"]
end
|
.initialize_sentry ⇒ Object
.logger ⇒ Object
128
129
130
131
132
133
134
|
# File 'lib/mihari.rb', line 128
def logger
SemanticLogger.sync! unless puma?
SemanticLogger.default_level = :info
SemanticLogger.add_appender(io: $stderr, formatter: :color)
SemanticLogger["Mihari"]
end
|
.puma? ⇒ Boolean
161
162
163
164
165
|
# File 'lib/mihari.rb', line 161
def puma?
!Puma.stats.nil?
rescue
false
end
|