Class: Mihari::Analyzers::Censys

Inherits:
Base show all
Defined in:
lib/mihari/analyzers/censys.rb

Overview

Censys analyzer

Constant Summary

Constants included from Concerns::Retriable

Concerns::Retriable::DEFAULT_CONDITION, Concerns::Retriable::RETRIABLE_ERRORS

Instance Attribute Summary collapse

Attributes inherited from Base

#query

Attributes inherited from Mihari::Actor

#options

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#call, from_query, #ignore_error?, inherited, #normalized_artifacts, #pagination_interval, #pagination_limit, #parallel?, #result, #truncated_query

Methods inherited from Mihari::Actor

#call, key, key_aliases, keys, #result, #retry_exponential_backoff, #retry_interval, #retry_times, #timeout, type, #validate_configuration!

Methods included from Concerns::Retriable

#retry_on_error

Methods included from Concerns::Configurable

#configuration_keys?

Constructor Details

#initialize(query, options: nil, id: nil, secret: nil) ⇒ Censys



21
22
23
24
25
26
# File 'lib/mihari/analyzers/censys.rb', line 21

def initialize(query, options: nil, id: nil, secret: nil)
  super(query, options: options)

  @id = id || Mihari.config.censys_id
  @secret = secret || Mihari.config.censys_secret
end

Instance Attribute Details

#idString? (readonly)



10
11
12
# File 'lib/mihari/analyzers/censys.rb', line 10

def id
  @id
end

#secretString? (readonly)



13
14
15
# File 'lib/mihari/analyzers/censys.rb', line 13

def secret
  @secret
end

Class Method Details

.configuration_keysArray<String>



48
49
50
# File 'lib/mihari/analyzers/censys.rb', line 48

def configuration_keys
  %w[censys_id censys_secret]
end

Instance Method Details

#artifactsArray<Mihari::Models::Artifact>



31
32
33
34
35
# File 'lib/mihari/analyzers/censys.rb', line 31

def artifacts
  client.search_with_pagination(query, pagination_limit: pagination_limit).map do |res|
    res.result.artifacts
  end.flatten.uniq(&:data)
end

#configured?Boolean



40
41
42
# File 'lib/mihari/analyzers/censys.rb', line 40

def configured?
  configuration_keys? || (id? && secret?)
end