Module: Mihari

Extended by:
Dry::Configurable, Memist::Memoizable
Defined in:
lib/mihari.rb,
lib/mihari/http.rb,
lib/mihari/types.rb,
lib/mihari/errors.rb,
lib/mihari/status.rb,
lib/mihari/version.rb,
lib/mihari/web/api.rb,
lib/mihari/web/app.rb,
lib/mihari/cli/base.rb,
lib/mihari/cli/init.rb,
lib/mihari/cli/main.rb,
lib/mihari/database.rb,
lib/mihari/constants.rb,
lib/mihari/models/cpe.rb,
lib/mihari/models/dns.rb,
lib/mihari/models/tag.rb,
lib/mihari/feed/parser.rb,
lib/mihari/feed/reader.rb,
lib/mihari/mixins/rule.rb,
lib/mihari/models/port.rb,
lib/mihari/models/rule.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/structs/rule.rb,
lib/mihari/type_checker.rb,
lib/mihari/analyzers/otx.rb,
lib/mihari/cli/validator.rb,
lib/mihari/commands/init.rb,
lib/mihari/emitters/base.rb,
lib/mihari/emitters/http.rb,
lib/mihari/emitters/misp.rb,
lib/mihari/entities/port.rb,
lib/mihari/entities/rule.rb,
lib/mihari/mixins/refang.rb,
lib/mihari/structs/alert.rb,
lib/mihari/analyzers/base.rb,
lib/mihari/analyzers/feed.rb,
lib/mihari/analyzers/rule.rb,
lib/mihari/emitters/slack.rb,
lib/mihari/enrichers/base.rb,
lib/mihari/entities/alert.rb,
lib/mihari/entities/whois.rb,
lib/mihari/models/tagging.rb,
lib/mihari/structs/censys.rb,
lib/mihari/structs/ipinfo.rb,
lib/mihari/structs/onyphe.rb,
lib/mihari/structs/shodan.rb,
lib/mihari/analyzers/circl.rb,
lib/mihari/analyzers/crtsh.rb,
lib/mihari/analyzers/spyse.rb,
lib/mihari/commands/search.rb,
lib/mihari/entities/config.rb,
lib/mihari/entities/source.rb,
lib/mihari/mixins/database.rb,
lib/mihari/models/artifact.rb,
lib/mihari/schemas/emitter.rb,
lib/mihari/structs/urlscan.rb,
lib/mihari/analyzers/censys.rb,
lib/mihari/analyzers/onyphe.rb,
lib/mihari/analyzers/shodan.rb,
lib/mihari/commands/version.rb,
lib/mihari/emitters/webhook.rb,
lib/mihari/enrichers/ipinfo.rb,
lib/mihari/enrichers/shodan.rb,
lib/mihari/entities/message.rb,
lib/mihari/mixins/retriable.rb,
lib/mihari/schemas/analyzer.rb,
lib/mihari/analyzers/dnpedia.rb,
lib/mihari/analyzers/urlscan.rb,
lib/mihari/analyzers/zoomeye.rb,
lib/mihari/emitters/database.rb,
lib/mihari/emitters/the_hive.rb,
lib/mihari/entities/artifact.rb,
lib/mihari/structs/greynoise.rb,
lib/mihari/commands/validator.rb,
lib/mihari/models/geolocation.rb,
lib/mihari/models/reverse_dns.rb,
lib/mihari/web/endpoints/tags.rb,
lib/mihari/analyzers/greynoise.rb,
lib/mihari/analyzers/pulsedive.rb,
lib/mihari/entities/ip_address.rb,
lib/mihari/mixins/configurable.rb,
lib/mihari/web/endpoints/rules.rb,
lib/mihari/analyzers/binaryedge.rb,
lib/mihari/analyzers/dnstwister.rb,
lib/mihari/analyzers/virustotal.rb,
lib/mihari/entities/geolocation.rb,
lib/mihari/entities/reverse_dns.rb,
lib/mihari/web/endpoints/alerts.rb,
lib/mihari/web/endpoints/configs.rb,
lib/mihari/web/endpoints/sources.rb,
lib/mihari/analyzers/passivetotal.rb,
lib/mihari/web/endpoints/artifacts.rb,
lib/mihari/analyzers/securitytrails.rb,
lib/mihari/mixins/autonomous_system.rb,
lib/mihari/models/autonomous_system.rb,
lib/mihari/mixins/error_notification.rb,
lib/mihari/entities/autonomous_system.rb,
lib/mihari/web/endpoints/ip_addresses.rb,
lib/mihari/mixins/disallowed_data_value.rb,
lib/mihari/structs/virustotal_intelligence.rb,
lib/mihari/analyzers/virustotal_intelligence.rb,
lib/mihari/web/middleware/connection_adapter.rb,
lib/mihari/web/middleware/error_notification_adapter.rb

Defined Under Namespace

Modules: Analyzers, CLI, Commands, Emitters, Endpoints, Enrichers, Entities, Feed, Middleware, Mixins, Schemas, Structs, Types Classes: API, Alert, App, Artifact, AutonomousSystem, CPE, ConfigurationError, Database, DnsRecord, Error, FeedParseError, FileNotFoundError, Geolocation, HTTP, HTTPError, InvalidArtifactFormatError, InvalidInputError, NetworkError, Port, RetryableError, ReverseDnsName, Rule, RuleValidationError, SSLError, Status, Tag, Tagging, TimeoutError, TypeChecker, UnsuccessfulStatusCodeError, WhoisRecord

Constant Summary collapse

VERSION =
"4.6.1"
ALLOWED_DATA_TYPES =
["hash", "ip", "domain", "url", "mail"].freeze
DEFAULT_EMITTERS =
["database", "misp", "slack", "the_hive", "webhook"].map { |name| { emitter: name } }.freeze

Class Method Summary collapse

Class Method Details

.analyzersObject



132
133
134
# File 'lib/mihari.rb', line 132

def analyzers
  []
end

.emittersObject



127
128
129
# File 'lib/mihari.rb', line 127

def emitters
  []
end

.enrichersObject



137
138
139
# File 'lib/mihari.rb', line 137

def enrichers
  []
end

.initialize_sentryObject



149
150
151
152
153
154
155
156
157
158
# File 'lib/mihari.rb', line 149

def initialize_sentry
  return if Mihari.config.sentry_dsn.nil?
  return if Sentry.initialized?

  Sentry.init do |config|
    config.dsn = Mihari.config.sentry_dsn

    config.traces_sample_rate = 0.5
  end
end

.loggerObject



142
143
144
145
146
# File 'lib/mihari.rb', line 142

def logger
  SemanticLogger.default_level = :info
  SemanticLogger.add_appender(io: $stderr, formatter: :color)
  SemanticLogger["Mihari"]
end