Vulnerabilities (risksense_api.__subject.__vulnerabilities.__vulnerabilities)

Vulnerability module defined for different vulnerability related api endpoints.

class risksense_api.__subject.__vulnerabilities.__vulnerabilities.Vulnerabilities(profile)[source]

Bases: Subject

Class for vulnerability function definitions.

Parameters:

profile (object) – Profile Object

To utlise vulnerability function:

Usage:

self.{risksenseobjectname}.vulnerabilities.{function}

Examples

To get model for vulnerability using get_model() function

>>> self.{risksenseobjectname}.vulnerabilities.get_model()
__init__(profile)[source]

Initialization of Vulnerabilities object.

Parameters:

profile (object) – Profile Object

downloadfilterinexport(filename, filters, client_id=None)[source]
search(search_filters, projection='basic', page_size=150, sort_field='id', sort_dir='ASC', csvdump=False, client_id=None)[source]

Searches for and returns vulnerabilities based on the provided filter(s) and other parameters. Rather than returning paginated results, this function cycles through all pages of results and returns them all in a single list.

Parameters:
  • search_filters (list) – A list of dictionaries containing filter parameters.

  • projection – Projection to be used in API request. Projection.BASIC or Projection.DETAIL

  • page_size (int) – The number of results per page to be returned.

  • sort_field (str) – The field to be used for sorting results returned.

  • sort_dir (str) – The direction of sorting to be used. SortDirection.ASC or SortDirection.DESC

  • csvdump (bool) – dumps the data in csv

  • client_id (typing.Optional[int]) – Client ID. If an ID isn’t passed, will use the profile’s default Client ID.

Return type:

list

Returns:

A list containing all vulnerability returned by the search using the filter provided.

Examples

>>> apiobj = self.{risksenseobject}.vulnerabilities.search([{"field":"vrrGroup","exclusive":False,"operator":"IN","orWithPrevious":False,"implicitFilters":[],"value":"Critical"}])

Note

You can also dump the data of the vulnerability search in a csv file. Just make csvdump as True:

>>>  self.{risksenseobject}.vulnerabilities.search([{"field":"vrrGroup","exclusive":False,"operator":"IN","orWithPrevious":False,"implicitFilters":[],"value":"Critical"}],csvdump=True)
list_vulnerability_filter_fields(client_id=None)[source]

List filter endpoints.

Parameters:

client_id (typing.Optional[int]) – Client ID. If an ID isn’t passed, will use the profile’s default Client ID.

Return type:

dict

Returns:

The JSON output from the platform is returned, listing the available filters.

Examples

>>> apiobj = self.{risksenseobject}.vulnerabilities.list_vulnerability_filter_fields(client_id=123)
get_single_search_page(search_filters, projection='basic', page_num=0, page_size=150, sort_field='id', sort_dir='ASC', client_id=None)[source]

Searches for and returns vulnerabilities based on the provided filter(s) and other parameters.

Parameters:
  • search_filters (list) – A list of dictionaries containing filter parameters.

  • projection (str) – Projection to be used in API request. Projection.BASIC or Projection.DETAIL

  • page_num (int) – The page number of results to be returned.

  • page_size (int) – The number of results per page to be returned.

  • sort_field (str) – The field to be used for sorting results returned.

  • sort_dir (str) – The direction of sorting to be used. SortDirection.ASC or SortDirection.DESC

  • client_id (typing.Optional[int]) – Client ID. If an ID isn’t passed, will use the profile’s default Client ID.

Return type:

dict

Returns:

The JSON response from the platform is returned.

Examples

>>> apiobj = self.{risksenseobject}.vulnerabilities.get_single_search_page([{"field":"vrrGroup","exclusive":False,"operator":"IN","orWithPrevious":False,"implicitFilters":[],"value":"Critical"}])
get_model(client_id=None)[source]

Get available projections and models for Vulnerabilities.

Parameters:

client_id (typing.Optional[int]) – Client ID

Return type:

dict

Returns:

Vulnerability projections and models are returned.

Examples

>>> apiobj = self.{risksenseobject}.vulnerabilities.get_model()
suggest(search_filter, suggest_filter, client_id=None)[source]

Suggest values for filter fields.

Parameters:
  • search_filter (list) – Search Filter

  • suggest_filter (dict) – Suggest Filter

  • client_id (typing.Optional[int]) – Client ID

Return type:

dict

Returns:

Value suggestions

Examples

>>> apiobj = self.{risksenseobject}.vulnerabilities.suggest([],{"field":"vrrGroup","exclusive":False,"operator":"WILDCARD","orWithPrevious":False,"implicitFilters":[],"value":"Critic*"})
getexporttemplate(client_id=None)[source]

Gets configurable export template for Vulnerabilities.

Parameters:

client_id (typing.Optional[int]) – Client ID. If an ID isn’t passed, will use the profile’s default Client ID.

Return type:

list

Returns:

The Exportable fields

Examples

>>> apiobj = self.{risksenseobject}.vulnerabilities.getexporttemplate()
export(search_filters, file_name, row_count='All', file_type='CSV', client_id=None)[source]

Initiates an export job on the platform for Vulnerabilities based on the provided filter(s).

Parameters:
  • search_filters (list) – A list of dictionaries containing filter parameters.

  • file_name (str) – The name to be used for the exported file.

  • row_count (str) – No of rows to be exported. Possible options : ExportRowNumbers.ROW_5000,ExportRowNumbers.ROW_10000, ExportRowNumbers.ROW_25000, ExportRowNumbers.ROW_50000, ExportRowNumbers.ROW_100000, ExportRowNumbers.ROW_ALL

  • file_type (str) – File type to export. ExportFileType.CSV, ExportFileType.JSON, or ExportFileType.XLSX

  • client_id (typing.Optional[int]) – Client ID. If an ID isn’t passed, will use the profile’s default Client ID.

Return type:

int

Returns:

The job ID in the platform from is returned.

Examples

>>> apiobj = self.{risksenseobject}.vulnerabilities.export([{"field":"vrrGroup","exclusive":False,"operator":"IN","orWithPrevious":False,"implicitFilters":[],"value":"Critical"}],'test')