Class: Mihari::Emitters::MISP
- Inherits:
-
Base
- Object
- Base
- Mihari::Emitters::MISP
show all
- Defined in:
- lib/mihari/emitters/misp.rb
Constant Summary
Mixins::Retriable::DEFAULT_ON
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Base
inherited, #run
#retry_on_error
#configuration_values, #configured?
Constructor Details
#initialize(*args, **kwargs) ⇒ MISP
Returns a new instance of MISP.
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/mihari/emitters/misp.rb', line 14
def initialize(*args, **kwargs)
super(*args, **kwargs)
@api_endpoint = kwargs[:api_endpoint] || Mihari.config.misp_api_endpoint
@api_key = kwargs[:api_key] || Mihari.config.misp_api_key
::MISP.configure do |config|
config.api_endpoint = api_endpoint
config.api_key = api_key
end
end
|
Instance Attribute Details
#api_endpoint ⇒ String?
9
10
11
|
# File 'lib/mihari/emitters/misp.rb', line 9
def api_endpoint
@api_endpoint
end
|
#api_key ⇒ String?
12
13
14
|
# File 'lib/mihari/emitters/misp.rb', line 12
def api_key
@api_key
end
|
Instance Method Details
#emit(title:, artifacts:, tags: [], **_options) ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/mihari/emitters/misp.rb', line 31
def emit(title:, artifacts:, tags: [], **_options)
return if artifacts.empty?
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? ⇒ Boolean
27
28
29
|
# File 'lib/mihari/emitters/misp.rb', line 27
def valid?
api_endpoint? && api_key? && ping?
end
|