Class: Mihari::Emitters::MISP

Inherits:
Base
  • Object
show all
Defined in:
lib/mihari/emitters/misp.rb

Instance Method Summary collapse

Methods inherited from Base

inherited, #run

Methods included from Retriable

#retry_on_error

Methods included from Configurable

#configuration_status, #configured?

Constructor Details

#initializeMISP

Returns a new instance of MISP.



9
10
11
12
13
14
# File 'lib/mihari/emitters/misp.rb', line 9

def initialize
  ::MISP.configure do |config|
    config.api_endpoint = Mihari.config.misp_api_endpoint
    config.api_key = Mihari.config.misp_api_key
  end
end

Instance Method Details

#emit(title:, artifacts:, tags: [], **_options) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/mihari/emitters/misp.rb', line 21

def emit(title:, artifacts:, tags: [], **_options)
  event = ::MISP::Event.new(info: title)

  artifacts.each do |artifact|
    event.attributes << build_attribute(artifact)
  end

  tags.each do |tag|
    event.add_tag name: tag
  end

  event.create
end

#valid?true, false

Returns:

  • (true, false)


17
18
19
# File 'lib/mihari/emitters/misp.rb', line 17

def valid?
  api_endpoint? && api_key? && ping?
end