Class: Mihari::Analyzers::PassiveDNS

Inherits:
Base
  • Object
show all
Defined in:
lib/mihari/analyzers/passive_dns.rb

Constant Summary collapse

ANALYZERS =
[
  Mihari::Analyzers::CIRCL,
  Mihari::Analyzers::PassiveTotal,
  Mihari::Analyzers::Pulsedive,
  Mihari::Analyzers::SecurityTrails,
  Mihari::Analyzers::VirusTotal,
].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

inherited, #run, #run_emitter, #source

Methods included from Retriable

#retry_on_error

Methods included from Configurable

#config_keys, #configuration_status, #configured?

Constructor Details

#initialize(query, title: nil, description: nil, tags: []) ⇒ PassiveDNS

Returns a new instance of PassiveDNS.



23
24
25
26
27
28
29
30
31
32
# File 'lib/mihari/analyzers/passive_dns.rb', line 23

def initialize(query, title: nil, description: nil, tags: [])
  super()

  @query = query
  @type = TypeChecker.type(query)

  @title = title || "PassiveDNS cross search"
  @description = description || "query = #{query}"
  @tags = tags
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



12
13
14
# File 'lib/mihari/analyzers/passive_dns.rb', line 12

def description
  @description
end

#queryObject (readonly)

Returns the value of attribute query.



8
9
10
# File 'lib/mihari/analyzers/passive_dns.rb', line 8

def query
  @query
end

#tagsObject (readonly)

Returns the value of attribute tags.



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

def tags
  @tags
end

#titleObject (readonly)

Returns the value of attribute title.



11
12
13
# File 'lib/mihari/analyzers/passive_dns.rb', line 11

def title
  @title
end

#typeObject (readonly)

Returns the value of attribute type.



9
10
11
# File 'lib/mihari/analyzers/passive_dns.rb', line 9

def type
  @type
end

Instance Method Details

#artifactsObject



34
35
36
37
38
# File 'lib/mihari/analyzers/passive_dns.rb', line 34

def artifacts
  Parallel.map(analyzers) do |analyzer|
    run_analyzer analyzer
  end.flatten
end