Class: Tenable::Resources::Vulnerabilities

Inherits:
Base
  • Object
show all
Defined in:
lib/tenable/resources/vulnerabilities.rb

Overview

Provides access to the Tenable.io vulnerability workbench endpoints.

Instance Method Summary collapse

Methods inherited from Base

#initialize

Methods included from Pollable

#poll_until

Constructor Details

This class inherits a constructor from Tenable::Resources::Base

Instance Method Details

#asset_info(asset_id, params = {}) ⇒ Hash

Retrieves detailed information for a specific asset.

Parameters:

  • the asset UUID

  • (defaults to: {})

    optional query parameters

Returns:

  • asset info data



53
54
55
56
# File 'lib/tenable/resources/vulnerabilities.rb', line 53

def asset_info(asset_id, params = {})
  validate_path_segment!(asset_id, name: 'asset_id')
  get("/workbenches/assets/#{asset_id}/info", params)
end

#asset_vulnerabilities(asset_id, params = {}) ⇒ Hash

Lists vulnerabilities for a specific asset.

Parameters:

  • the asset UUID

  • (defaults to: {})

    optional query parameters

Returns:

  • vulnerability data for the asset



63
64
65
66
# File 'lib/tenable/resources/vulnerabilities.rb', line 63

def asset_vulnerabilities(asset_id, params = {})
  validate_path_segment!(asset_id, name: 'asset_id')
  get("/workbenches/assets/#{asset_id}/vulnerabilities", params)
end

#assets(params = {}) ⇒ Hash

Lists assets from the workbench.

Parameters:

  • (defaults to: {})

    optional query parameters for filtering

Returns:

  • parsed API response containing asset data



44
45
46
# File 'lib/tenable/resources/vulnerabilities.rb', line 44

def assets(params = {})
  get('/workbenches/assets', params)
end

#info(plugin_id, params = {}) ⇒ Hash

Retrieves detailed information for a specific vulnerability plugin.

Parameters:

  • the plugin ID

  • (defaults to: {})

    optional query parameters

Returns:

  • vulnerability info data



25
26
27
28
# File 'lib/tenable/resources/vulnerabilities.rb', line 25

def info(plugin_id, params = {})
  validate_path_segment!(plugin_id, name: 'plugin_id')
  get("/workbenches/vulnerabilities/#{plugin_id}/info", params)
end

#list(params = {}) ⇒ Hash

Lists vulnerabilities from the workbench.

Examples:

client.vulnerabilities.list(date_range: 7)

Parameters:

  • (defaults to: {})

    optional query parameters for filtering

Returns:

  • parsed API response containing vulnerability data

Raises:

  • on 401 responses

  • on other non-2xx responses



16
17
18
# File 'lib/tenable/resources/vulnerabilities.rb', line 16

def list(params = {})
  get('/workbenches/vulnerabilities', params)
end

#outputs(plugin_id, params = {}) ⇒ Hash

Retrieves plugin outputs for a specific vulnerability.

Parameters:

  • the plugin ID

  • (defaults to: {})

    optional query parameters

Returns:

  • plugin output data



35
36
37
38
# File 'lib/tenable/resources/vulnerabilities.rb', line 35

def outputs(plugin_id, params = {})
  validate_path_segment!(plugin_id, name: 'plugin_id')
  get("/workbenches/vulnerabilities/#{plugin_id}/outputs", params)
end