Class: Mihari::Analyzers::CIRCL
- Inherits:
-
Base
- Object
- Mihari::Actor
- Base
- Mihari::Analyzers::CIRCL
- Includes:
- Concerns::Refangable
- Defined in:
- lib/mihari/analyzers/circl.rb
Overview
CIRCL passive DNS/SSL analyzer
Constant Summary
Constants included from Concerns::Retriable
Concerns::Retriable::DEFAULT_CONDITION, Concerns::Retriable::RETRIABLE_ERRORS
Instance Attribute Summary collapse
- #password ⇒ String? readonly
- #type ⇒ String? readonly
- #username ⇒ String? readonly
Attributes inherited from Base
Attributes inherited from Mihari::Actor
Instance Method Summary collapse
- #artifacts ⇒ Object
- #configured? ⇒ Boolean
-
#initialize(query, options: nil, username: nil, password: nil) ⇒ CIRCL
constructor
A new instance of CIRCL.
Methods included from Concerns::Refangable
Methods inherited from Base
#call, from_params, #ignore_error?, inherited, #normalized_artifacts, #pagination_interval, #pagination_limit, #parallel?, #result, #truncated_query
Methods inherited from Mihari::Actor
#call, configuration_keys, key, key_aliases, keys, #result, #retry_exponential_backoff, #retry_interval, #retry_times, #timeout, type, #validate_configuration!
Methods included from Concerns::Retriable
Methods included from Concerns::Configurable
Constructor Details
#initialize(query, options: nil, username: nil, password: nil) ⇒ CIRCL
Returns a new instance of CIRCL.
26 27 28 29 30 31 32 33 |
# File 'lib/mihari/analyzers/circl.rb', line 26 def initialize(query, options: nil, username: nil, password: nil) super(refang(query), options:) @type = DataType.type(query) @username = username || Mihari.config.circl_passive_username @password = password || Mihari.config.circl_passive_password end |
Instance Attribute Details
#password ⇒ String? (readonly)
18 19 20 |
# File 'lib/mihari/analyzers/circl.rb', line 18 def password @password end |
#type ⇒ String? (readonly)
12 13 14 |
# File 'lib/mihari/analyzers/circl.rb', line 12 def type @type end |
#username ⇒ String? (readonly)
15 16 17 |
# File 'lib/mihari/analyzers/circl.rb', line 15 def username @username end |
Instance Method Details
#artifacts ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/mihari/analyzers/circl.rb', line 35 def artifacts case type when "domain" client.passive_dns_search query when "hash" client.passive_ssl_search query else raise ValueError, "#{@query}(type: #{@type || "unknown"}) is not supported." end end |
#configured? ⇒ Boolean
46 47 48 |
# File 'lib/mihari/analyzers/circl.rb', line 46 def configured? configuration_keys? || (username? && password?) end |