/*
* CrowdStrike API Specification
*
* Use this API specification as a reference for the API endpoints you can use to interact with your Falcon environment. These endpoints support authentication via OAuth2 and interact with detections and network containment. For detailed usage guides and examples, see our [documentation inside the Falcon console](https://falcon.crowdstrike.com/support/documentation). To use the APIs described below, combine the base URL with the path shown for each API endpoint. For commercial cloud customers, your base URL is `https://api.crowdstrike.com`. Each API endpoint requires authorization via an OAuth2 token. Your first API request should retrieve an OAuth2 token using the `oauth2/token` endpoint, such as `https://api.crowdstrike.com/oauth2/token`. For subsequent requests, include the OAuth2 token in an HTTP authorization header. Tokens expire after 30 minutes, after which you should make a new token request to continue making API requests.
*
* The version of the OpenAPI document: rolling
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DomainApiVulnerabilityCveDetailsFacetV2 {
/// Contains a list of actors that are known for exploiting this vulnerability ot in the wild
#[serde(rename = "actors", skip_serializing_if = "Option::is_none")]
pub actors: Option<Vec<String>>,
/// The base score for a Common Vulnerability Enumeration (CVE) is a numerical value that represents the intrinsic severity and impact of a security vulnerability.
#[serde(rename = "base_score", skip_serializing_if = "Option::is_none")]
pub base_score: Option<f64>,
#[serde(rename = "cisa_info", skip_serializing_if = "Option::is_none")]
pub cisa_info: Option<Box<models::DomainApiVulnerabilityCvecisaInfo>>,
/// The CWE ids corresponding to this vulnerability instance
#[serde(rename = "cwes", skip_serializing_if = "Option::is_none")]
pub cwes: Option<Vec<String>>,
/// Refers to description of the vulnerability
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/// Exploit status refers to the current state or availability of known exploits for a specific vulnerability, indicating whether there are known techniques or tools to leverage the vulnerability in an attack.
#[serde(rename = "exploit_status", skip_serializing_if = "Option::is_none")]
pub exploit_status: Option<i32>,
/// Represents a numerical value that indicates the relative ease or difficulty for an attacker to exploit a vulnerability
#[serde(
rename = "exploitability_score",
skip_serializing_if = "Option::is_none"
)]
pub exploitability_score: Option<f64>,
/// Expert.AI score on the vulnerability
#[serde(rename = "exprt_rating", skip_serializing_if = "Option::is_none")]
pub exprt_rating: Option<String>,
#[serde(rename = "id")]
pub id: String,
/// Refers to a numerical value that represents the potential impact or severity of a vulnerability when it is successfully exploited
#[serde(rename = "impact_score", skip_serializing_if = "Option::is_none")]
pub impact_score: Option<f64>,
/// Vulnerability name
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Refers to the original description of the vulnerability
#[serde(
rename = "original_description",
skip_serializing_if = "Option::is_none"
)]
pub original_description: Option<String>,
/// Refers to a point in time when the vulnerability has been disclosed
#[serde(rename = "published_date", skip_serializing_if = "Option::is_none")]
pub published_date: Option<String>,
/// Refers to one or more references with more details about the vulnerability
#[serde(rename = "references", skip_serializing_if = "Option::is_none")]
pub references: Option<Vec<String>>,
/// Remediation level indicates the required effort to mitigate a security vulnerability, ranging from official fixes to unavailable remedies
#[serde(rename = "remediation_level", skip_serializing_if = "Option::is_none")]
pub remediation_level: Option<String>,
/// Severity refers to the level of impact or potential harm caused by a security vulnerability. It is often assessed using metrics such as the CVSS base score, which takes into account factors such as exploitability, impact on confidentiality, integrity, and availability, and other relevant parameters to determine the severity level of a vulnerability.
#[serde(rename = "severity", skip_serializing_if = "Option::is_none")]
pub severity: Option<String>,
/// Corresponds to a point in time when Spotlight offered support for detecting a specific vulnerability
#[serde(
rename = "spotlight_published_date",
skip_serializing_if = "Option::is_none"
)]
pub spotlight_published_date: Option<String>,
/// The types of vulnerability. Can be of: Vulnerability, Misconfiguration, and Unsupported software
#[serde(rename = "types", skip_serializing_if = "Option::is_none")]
pub types: Option<Vec<String>>,
/// Refers to the vector of attack or the specific method or path through which an attacker can exploit a vulnerability
#[serde(rename = "vector", skip_serializing_if = "Option::is_none")]
pub vector: Option<String>,
/// Refers to one or more URLs that points to vendor advisories
#[serde(rename = "vendor_advisory", skip_serializing_if = "Option::is_none")]
pub vendor_advisory: Option<Vec<String>>,
}
impl DomainApiVulnerabilityCveDetailsFacetV2 {
pub fn new(id: String) -> DomainApiVulnerabilityCveDetailsFacetV2 {
DomainApiVulnerabilityCveDetailsFacetV2 {
actors: None,
base_score: None,
cisa_info: None,
cwes: None,
description: None,
exploit_status: None,
exploitability_score: None,
exprt_rating: None,
id,
impact_score: None,
name: None,
original_description: None,
published_date: None,
references: None,
remediation_level: None,
severity: None,
spotlight_published_date: None,
types: None,
vector: None,
vendor_advisory: None,
}
}
}