Weaknesses (risksense_api.__subject.__weaknesses.__weaknesses
)¶
Weakness module defined for different weakness related api endpoints.
- class risksense_api.__subject.__weaknesses.__weaknesses.Weaknesses(profile)[source]¶
Bases:
Subject
Class for weakness function definitions.
- Parameters:
profile (
object
) – Profile Object
To utlise weakness function:
- Usage:
self.{risksenseobjectname}.weaknesses.{function}
Examples
To get model for weakness using
get_model()
function>>> self.{risksenseobjectname}.weaknesses.get_model()
- __init__(profile)[source]¶
Initialization of Weaknesses object.
- Parameters:
profile (
object
) – Profile Object
- downloadfilterinexport(filename, filters, client_id=None)[source]¶
Download weakness data based on search filters.
- Parameters:
filename (
str
) – Name of the filefilters (
list
) – A list of dictionaries containing filter parametersclient_id (
typing.Optional
[int
]) – Client ID. If an ID isn’t passed, will use the profile’s default Client ID.
Note
IGNORE - Internal funtion for csv dump
- search(search_filters, projection='basic', page_size=150, sort_field='id', sort_dir='ASC', csvdump=False, client_id=None)[source]¶
Searches for and returns weaknesses 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 (
str
) – Projection to be used in API request. Projection.BASIC or Projection.DETAILpage_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.DESCcsvdump (
bool
) – dumps the data in csvclient_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 weaknesses returned by the search using the filter provided.
Examples
>>> apiobj = self.{risksenseobject}.weaknesses.search([{"field":"vulnId","exclusive":False,"operator":"IN","orWithPrevious":False,"implicitFilters":[],"value":"CWE-918"}])
Note
You can also dump the data of the vulnerability search in a csv file. Just make csvdump as True:
>>> self.{risksenseobject}.weaknesses.search([{"field":"vulnId","exclusive":False,"operator":"IN","orWithPrevious":False,"implicitFilters":[],"value":"CWE-918"}],csvdump=True)
- list_weakness_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}.weaknesses.list_weakness_filter_fields()
- 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 weaknesses 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.DETAILpage_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.DESCclient_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}.weaknesses.get_single_search_page([{"field":"vulnId","exclusive":False,"operator":"IN","orWithPrevious":False,"implicitFilters":[],"value":"CWE-918"}])
- get_model(client_id=None)[source]¶
Get available projections and models for weaknesses.
- Parameters:
client_id (
typing.Optional
[int
]) – Client ID- Return type:
dict
- Returns:
Weaknesses projections and models are returned.
Examples
>>> apiobj = self.{risksenseobject}.weaknesses.get_model()
- suggest(search_filter, suggest_filter, client_id=None)[source]¶
Suggest values for filter fields.
- Parameters:
search_filter (
list
) – Search Filtersuggest_filter (
dict
) – Suggest Filterclient_id (
typing.Optional
[int
]) – Client ID
- Return type:
dict
- Returns:
Value suggestions
Examples
>>> apiobj = self.{risksenseobject}.weaknesses.suggest([],{"field":"vulnId","exclusive":False,"operator":"IN","orWithPrevious":False,"implicitFilters":[],"value":"CWE*"})
- get_export_template(client_id=None)[source]¶
Get all fields that are part of configurable export
- Parameters:
client_id (
typing.Optional
[int
]) – Client ID- Return type:
list
- Returns:
Fields that can be configured for export
Examples
>>> apiobj = self.{risksenseobject}.weaknesses.get_export_template()
- export(search_filters, file_name, file_type='CSV', row_count='All', comment='', client_id=None)[source]¶
Initiates an export job on the platform for weaknesses based on the provided filter(s).
- Parameters:
search_filters (
list
) – A list of dictionaries containing filter parameters.file_name (
str
) – The file name to be assigned to the export.file_type – The file type for the export. Options are ExportFileType.CSV, ExportFileType.JSON, and ExportFileType.XLSX
comment – Any comment wished to be associated with the export.
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 is returned.
Examples
>>> apiobj = self.{risksenseobject}.weaknesses.export([{"field":"vulnId","exclusive":False,"operator":"IN","orWithPrevious":False,"implicitFilters":[],"value":"CWE-918"}],'test')