-
Notifications
You must be signed in to change notification settings - Fork 159
Expand file tree
/
Copy pathspotlight_vulnerability_metadata.py
More file actions
109 lines (92 loc) · 5.4 KB
/
spotlight_vulnerability_metadata.py
File metadata and controls
109 lines (92 loc) · 5.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
"""CrowdStrike Falcon SpotlightVulnerabilityMetadata API interface class.
_______ __ _______ __ __ __
| _ .----.-----.--.--.--.--| | _ | |_.----|__| |--.-----.
|. 1___| _| _ | | | | _ | 1___| _| _| | <| -__|
|. |___|__| |_____|________|_____|____ |____|__| |__|__|__|_____|
|: 1 | |: 1 |
|::.. . | CROWDSTRIKE FALCON |::.. . | FalconPy
`-------' `-------'
OAuth2 API - Customer SDK
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <https://unlicense.org>
"""
from typing import Dict, Union
from ._util import force_default, process_service_request
from ._result import Result
from ._service_class import ServiceClass
from ._endpoint._spotlight_vulnerability_metadata import _spotlight_vulnerability_metadata_endpoints as Endpoints
class SpotlightVulnerabilityMetadata(ServiceClass):
"""The only requirement to instantiate an instance of this class is one of the following.
- a valid client_id and client_secret provided as keywords.
- a credential dictionary with client_id and client_secret containing valid API credentials
{
"client_id": "CLIENT_ID_HERE",
"client_secret": "CLIENT_SECRET_HERE"
}
- a previously-authenticated instance of the authentication service class (oauth2.py)
- a valid token provided by the authentication service class (oauth2.py)
"""
@force_default(defaults=["parameters"], default_types=["dict"])
def get_cve_metadata(self: object, parameters: dict = None, **kwargs) -> Union[Dict[str, Union[int, dict]], Result]:
"""This endpoint allows getting CVEs(vulnerability metadata) entities by specifying their ids
Keyword arguments:
after -- A pagination token used with the `limit` parameter to manage pagination of results.
On your first request, don't provide an `after` token.
On subsequent requests, provide the `after` token from the
previous response to continue from that place in the results.
offset -- Starting index of overall result set from which to return ids.
limit -- The number of items to return in this response (default: 100, max: 10000).
Use with the after parameter to manage pagination of results.
sort -- Sort vulnerabilities by their properties.
Available sort options:
created_timestamp|asc/desc
updated_timestamp|asc/desc
Can be used in a format <field>|asc for ascending order or <field>|desc for descending order.
filter -- Filter items using a query in Falcon Query Language (FQL).
Wildcards * and empty filter values are unsupported.
Available filter fields that supports match (~): N/A
Available filter fields that supports exact match:
id provider
cve_ids cwe_ids
impact.cvss_v2.base_metrics.vector impact.cvss_v2.temporal_metrics.vector
impact.cvss_v3.base_metrics.integrity_impact, impact.cvss_v3.base_metrics.vector,
impact.cvss_v3.temporal_metrics.vector
Available filter fields that supports wildcard (*): N/A
Available filter fields that supports range comparisons (>, <, >=, <=):
created_timestamp impact.cvss_v2.base_metrics.base_score
impact.cvss_v3.base_metrics.base_score impact.cvss_v2.temporal_metrics.temporal_score
impact.cvss_v3.temporal_metrics.temporal_score source_created_timestamp
source_updated_timestamp updated_timestamp
parameters -- Full parameters payload dictionary. Not required if using other keywords.
This method only supports keywords for providing arguments.
Returns: dict object containing API response.
HTTP Method: GET
Swagger URL
https://assets.falcon.crowdstrike.com/support/api/swagger.html#/spotlight-vulnerability-metadata/combineVulnMetadataExt
"""
return process_service_request(
calling_object=self,
endpoints=Endpoints,
operation_id="combineVulnMetadataExt",
keywords=kwargs,
params=parameters
)
combineVulnMetadataExt = get_cve_metadata