Class: EUVD::API::Observations

Inherits:
Object
  • Object
show all
Defined in:
lib/euvd/api/observations.rb

Overview

Access to honeypot observation and KEV entry endpoints.

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Observations

Returns a new instance of Observations.



7
8
9
# File 'lib/euvd/api/observations.rb', line 7

def initialize(client)
  @client = client
end

Instance Method Details

#honeypot_batch(ids) ⇒ Array<Sawyer::Resource>

GET /api/honeypotObservations/batch?ids=X,Y Returns honeypot observations for multiple CVEs.

Parameters:

  • ids (Array<String>)

    CVE identifiers

Returns:

  • (Array<Sawyer::Resource>)


25
26
27
28
# File 'lib/euvd/api/observations.rb', line 25

def honeypot_batch(ids)
  ids = ids.join(',') if ids.is_a?(Array)
  @client.get('honeypotObservations/batch', ids: ids)
end

#honeypot_by_cve(cve_id) ⇒ Array<Sawyer::Resource>

GET /api/honeypotObservations?cveId=X Returns honeypot observations for a specific CVE.

Parameters:

  • cve_id (String)

    CVE identifier (e.g. 'CVE-2021-44228')

Returns:

  • (Array<Sawyer::Resource>)


16
17
18
# File 'lib/euvd/api/observations.rb', line 16

def honeypot_by_cve(cve_id)
  @client.get('honeypotObservations', cveId: cve_id)
end

#kev_batch(ids) ⇒ Array<Sawyer::Resource>

GET /api/kevEntries/batch?ids=X,Y Returns KEV entries for multiple CVEs.

Parameters:

  • ids (Array<String>)

    CVE identifiers

Returns:

  • (Array<Sawyer::Resource>)


44
45
46
47
# File 'lib/euvd/api/observations.rb', line 44

def kev_batch(ids)
  ids = ids.join(',') if ids.is_a?(Array)
  @client.get('kevEntries/batch', ids: ids)
end

#kev_by_cve(cve_id) ⇒ Array<Sawyer::Resource>

GET /api/kevEntries?cveId=X Returns KEV entries for a specific CVE.

Parameters:

  • cve_id (String)

    CVE identifier

Returns:

  • (Array<Sawyer::Resource>)


35
36
37
# File 'lib/euvd/api/observations.rb', line 35

def kev_by_cve(cve_id)
  @client.get('kevEntries', cveId: cve_id)
end