#[non_exhaustive]pub struct ApplicationSecurityPostureFinding {Show 75 fields
pub action: Option<String>,
pub action_id: Option<i64>,
pub activity_id: Option<i64>,
pub activity_name: Option<String>,
pub actor: Option<Box<Actor>>,
pub api: Option<Box<Api>>,
pub application: Option<Box<Application>>,
pub assignee: Option<Box<User>>,
pub assignee_group: Option<Box<Group>>,
pub attacks: Option<Vec<Attack>>,
pub authorizations: Option<Vec<Authorization>>,
pub category_name: Option<String>,
pub category_uid: Option<i64>,
pub class_name: Option<String>,
pub class_uid: Option<i64>,
pub cloud: Option<Box<Cloud>>,
pub comment: Option<String>,
pub compliance: Option<Box<Compliance>>,
pub confidence: Option<String>,
pub confidence_id: Option<i64>,
pub confidence_score: Option<i64>,
pub count: Option<i64>,
pub device: Option<Box<Device>>,
pub disposition: Option<String>,
pub disposition_id: Option<i64>,
pub duration: Option<i64>,
pub end_time: Option<i64>,
pub end_time_dt: Option<String>,
pub enrichments: Option<Vec<Enrichment>>,
pub finding_info: Option<Box<FindingInfo>>,
pub firewall_rule: Option<Box<FirewallRule>>,
pub impact: Option<String>,
pub impact_id: Option<i64>,
pub impact_score: Option<i64>,
pub is_alert: Option<bool>,
pub is_suspected_breach: Option<bool>,
pub malware: Option<Vec<Malware>>,
pub malware_scan_info: Option<Box<MalwareScanInfo>>,
pub message: Option<String>,
pub metadata: Option<Box<Metadata>>,
pub observables: Option<Vec<Observable>>,
pub osint: Option<Vec<Osint>>,
pub policy: Option<Box<Policy>>,
pub priority: Option<String>,
pub priority_id: Option<i64>,
pub raw_data: Option<String>,
pub raw_data_hash: Option<Box<Fingerprint>>,
pub raw_data_size: Option<i64>,
pub remediation: Option<Box<Remediation>>,
pub resources: Option<Vec<ResourceDetails>>,
pub risk_details: Option<String>,
pub risk_level: Option<String>,
pub risk_level_id: Option<i64>,
pub risk_score: Option<i64>,
pub severity: Option<String>,
pub severity_id: Option<i64>,
pub src_url: Option<String>,
pub start_time: Option<i64>,
pub start_time_dt: Option<String>,
pub status: Option<String>,
pub status_code: Option<String>,
pub status_detail: Option<String>,
pub status_id: Option<i64>,
pub ticket: Option<Box<Ticket>>,
pub tickets: Option<Vec<Ticket>>,
pub time: Option<i64>,
pub time_dt: Option<String>,
pub timezone_offset: Option<i64>,
pub type_name: Option<String>,
pub type_uid: Option<i64>,
pub unmapped: Option<Value>,
pub vendor_attributes: Option<Box<VendorAttributes>>,
pub verdict: Option<String>,
pub verdict_id: Option<i64>,
pub vulnerabilities: Option<Vec<Vulnerability>>,
}Expand description
Application Security Posture Finding
The Application Security Posture Finding event is a notification about any bug, defect, deficiency, exploit, vulnerability, weakness or any other issue with software and related systems. Application Security Posture Findings typically involve reporting on the greater context including compliance, impacted resources, remediation guidance, specific code defects, and/or vulnerability metadata. Application Security Posture Findings can be reported by Threat & Vulnerability Management (TVM) tools, Application Security Posture Management (ASPM) tools, or other similar tools. Note: if the event producer is a security control, the security_control profile should be applied and its attacks information, if present, should be duplicated into the finding_info object.
Note: If the Finding is an incident, i.e. requires incident workflow, also apply the incident profile or aggregate this finding into an Incident Finding.
[UID:2007] Category: findings | Name: application_security_posture_finding
Constraints:
- at_least_one:
[application,compliance,remediation,vulnerabilities]
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.action: Option<String>Action
The normalized caption of action_id.
optional
action_id: Option<i64>Action ID
The action taken by a control or other policy-based system leading to an outcome or disposition. An unknown action may still correspond to a known disposition. Refer to disposition_id for the outcome of the action.
recommended
activity_id: Option<i64>Activity ID
The normalized identifier of the finding activity.
required
activity_name: Option<String>Activity
The finding activity name, as defined by the activity_id.
optional
actor: Option<Box<Actor>>Actor
The actor object describes details about the user/role/process that was the source of the activity. Note that this is not the threat actor of a campaign but may be part of a campaign.
optional
api: Option<Box<Api>>API Details
Describes details about a typical API (Application Programming Interface) call.
optional
application: Option<Box<Application>>Related Application
An Application describes the details for an inventoried application as reported by an Application Security tool or other Developer-centric tooling. Applications can be defined as Kubernetes resources, Containerized resources, or application hosting-specific cloud sources such as AWS Elastic BeanStalk, AWS Lightsail, or Azure Logic Apps.
recommended
assignee: Option<Box<User>>Assignee
The details of the user assigned to an Incident.
optional
assignee_group: Option<Box<Group>>Assignee Group
The details of the group assigned to an Incident.
optional
attacks: Option<Vec<Attack>>MITRE ATT&CK® and ATLAS™ Details
An array of MITRE ATT&CK® objects describing identified tactics, techniques & sub-techniques. The objects are compatible with MITRE ATLAS™ tactics, techniques & sub-techniques.
optional
Authorization Information
Provides details about an authorization, such as authorization outcome, and any associated policies related to the activity/event.
optional
category_name: Option<String>Category
The event category name, as defined by category_uid value: Findings.
optional
category_uid: Option<i64>Category ID
The category unique identifier of the event.
required
class_name: Option<String>Class
The event class name, as defined by class_uid value: Application Security Posture Finding.
optional
class_uid: Option<i64>Class ID
The unique identifier of a class. A class describes the attributes available in an event.
required
cloud: Option<Box<Cloud>>Cloud
Describes details about the Cloud environment where the event or finding was created.
required
comment: Option<String>Comment
A user provided comment about the finding.
optional
compliance: Option<Box<Compliance>>Related Compliance
Provides compliance context to vulnerabilities and other weaknesses that are reported as part of an Application Security or Vulnerability Management tool’s built-in compliance framework mapping.
recommended
confidence: Option<String>Confidence
The confidence, normalized to the caption of the confidence_id value. In the case of ‘Other’, it is defined by the event source.
optional
confidence_id: Option<i64>Confidence ID
The normalized confidence refers to the accuracy of the rule that created the finding. A rule with a low confidence means that the finding scope is wide and may create finding reports that may not be malicious in nature.
recommended
confidence_score: Option<i64>Confidence Score
The confidence score as reported by the event source.
optional
count: Option<i64>Count
The number of times that events in the same logical group occurred during the event Start Time to End Time period.
optional
device: Option<Box<Device>>Device
Describes the affected device/host. If applicable, it can be used in conjunction with Resource(s).
e.g. Specific details about an AWS EC2 instance, that is affected by the Finding.
optional
disposition: Option<String>Disposition
The disposition name, normalized to the caption of the disposition_id value. In the case of ‘Other’, it is defined by the event source.
optional
disposition_id: Option<i64>Disposition ID
Describes the outcome or action taken by a security control, such as access control checks, malware detections or various types of policy violations.
recommended
duration: Option<i64>Duration Milliseconds
The event duration or aggregate time, the amount of time the event covers from start_time to end_time in milliseconds.
optional
end_time: Option<i64>End Time
The time of the most recent event included in the finding.
optional
end_time_dt: Option<String>End Time
The time of the most recent event included in the finding.
optional
enrichments: Option<Vec<Enrichment>>Enrichments
The additional information from an external data source, which is associated with the event or a finding. For example add location information for the IP address in the DNS answers:
[{“name”: “answers.ip”, “value”: “92.24.47.250”, “type”: “location”, “data”: {“city”: “Socotra”, “continent”: “Asia”, “coordinates”: [-25.4153, 17.0743], “country”: “YE”, “desc”: “Yemen”}}]
optional
finding_info: Option<Box<FindingInfo>>Finding Information
Describes the supporting information about a generated finding.
required
firewall_rule: Option<Box<FirewallRule>>Firewall Rule
The firewall rule that pertains to the control that triggered the event, if applicable.
optional
impact: Option<String>Impact
The impact , normalized to the caption of the impact_id value. In the case of ‘Other’, it is defined by the event source.
recommended
impact_id: Option<i64>Impact ID
The normalized impact of the incident or finding. Per NIST, this is the magnitude of harm that can be expected to result from the consequences of unauthorized disclosure, modification, destruction, or loss of information or information system availability.
recommended
impact_score: Option<i64>Impact Score
The impact as an integer value of the finding, valid range 0-100.
recommended
is_alert: Option<bool>Alert
Indicates that the event is considered to be an alertable signal. Should be set to true if disposition_id = Alert among other dispositions, and/or risk_level_id or severity_id of the event is elevated. Not all control events will be alertable, for example if disposition_id = Exonerated or disposition_id = Allowed.
recommended
is_suspected_breach: Option<bool>Suspected Breach
A determination based on analytics as to whether a potential breach was found.
optional
malware: Option<Vec<Malware>>Malware
A list of Malware objects, describing details about the identified malware.
optional
malware_scan_info: Option<Box<MalwareScanInfo>>Malware Scan Info
Describes details about the scan job that identified malware on the target system.
optional
message: Option<String>Message
The description of the event/finding, as defined by the source.
recommended
metadata: Option<Box<Metadata>>Metadata
The metadata associated with the event or a finding.
required
observables: Option<Vec<Observable>>Observables
The observables associated with the event or a finding.
recommended
osint: Option<Vec<Osint>>OSINT
The OSINT (Open Source Intelligence) object contains details related to an indicator such as the indicator itself, related indicators, geolocation, registrar information, subdomains, analyst commentary, and other contextual information. This information can be used to further enrich a detection or finding by providing decisioning support to other analysts and engineers.
required
policy: Option<Box<Policy>>Policy
The policy that pertains to the control that triggered the event, if applicable. For example the name of an anti-malware policy or an access control policy.
optional
priority: Option<String>Priority
The priority, normalized to the caption of the priority_id value. In the case of ‘Other’, it is defined by the event source.
optional
priority_id: Option<i64>Priority ID
The normalized priority. Priority identifies the relative importance of the incident or finding. It is a measurement of urgency.
recommended
raw_data: Option<String>Raw Data
The raw event/finding data as received from the source.
optional
raw_data_hash: Option<Box<Fingerprint>>Raw Data Hash
The hash, which describes the content of the raw_data field.
optional
raw_data_size: Option<i64>Raw Data Size
The size of the raw data which was transformed into an OCSF event, in bytes.
optional
remediation: Option<Box<Remediation>>Remediation Guidance
Describes the recommended remediation steps to address identified vulnerabilities or weaknesses.
recommended
resources: Option<Vec<ResourceDetails>>Affected Resources
Describes details about the resource/resources that are affected by the vulnerability/vulnerabilities.
recommended
risk_details: Option<String>Risk Details
Describes the risk associated with the finding.
optional
risk_level: Option<String>Risk Level
The risk level, normalized to the caption of the risk_level_id value.
optional
risk_level_id: Option<i64>Risk Level ID
The normalized risk level id.
optional
risk_score: Option<i64>Risk Score
The risk score as reported by the event source.
optional
severity: Option<String>Severity
The event/finding severity, normalized to the caption of the severity_id value. In the case of ‘Other’, it is defined by the source.
optional
severity_id: Option<i64>Severity ID
The normalized identifier of the event/finding severity.
The normalized severity is a measurement the effort and expense required to manage and resolve an event or incident. Smaller numerical values represent lower impact events, and larger numerical values represent higher impact events.required
src_url: Option<String>Source URL
A Url link used to access the original incident.
recommended
start_time: Option<i64>Start Time
The time of the least recent event included in the finding.
optional
start_time_dt: Option<String>Start Time
The time of the least recent event included in the finding.
optional
status: Option<String>Status
The normalized status of the Finding set by the consumer normalized to the caption of the status_id value. In the case of ‘Other’, it is defined by the source.
optional
status_code: Option<String>Status Code
The event status code, as reported by the event source.
For example, in a Windows Failed Authentication event, this would be the value of ‘Failure Code’, e.g. 0x18.
recommended
status_detail: Option<String>Status Detail
The status detail contains additional information about the event/finding outcome.
recommended
status_id: Option<i64>Status ID
The normalized status identifier of the Finding, set by the consumer.
recommended
ticket: Option<Box<Ticket>>Ticket
The linked ticket in the ticketing system.
optional
tickets: Option<Vec<Ticket>>Tickets
The associated ticket(s) in the ticketing system. Each ticket contains details like ticket ID, status, etc.
optional
time: Option<i64>Event Time
The normalized event occurrence time or the finding creation time.
required
time_dt: Option<String>Event Time
The normalized event occurrence time or the finding creation time.
optional
timezone_offset: Option<i64>Timezone Offset
The number of minutes that the reported event time is ahead or behind UTC, in the range -1,080 to +1,080.
recommended
type_name: Option<String>Type Name
The event/finding type name, as defined by the type_uid.
optional
type_uid: Option<i64>Type ID
The event/finding type ID. It identifies the event’s semantics and structure. The value is calculated by the logging system as: class_uid * 100 + activity_id.
required
unmapped: Option<Value>Unmapped Data
The attributes that are not mapped to the event schema. The names and values of those attributes are specific to the event source.
optional
vendor_attributes: Option<Box<VendorAttributes>>Vendor Attributes
The Vendor Attributes object can be used to represent values of attributes populated by the Vendor/Finding Provider. It can help distinguish between the vendor-provided values and consumer-updated values, of key attributes like severity_id.
The original finding producer should not populate this object. It should be populated by consuming systems that support data mutability.
optional
verdict: Option<String>Verdict
The verdict assigned to an Incident finding.
recommended
verdict_id: Option<i64>Verdict ID
The normalized verdict of an Incident.
recommended
vulnerabilities: Option<Vec<Vulnerability>>Vulnerabilities
This object describes vulnerabilities reported in a security finding.
recommended
Trait Implementations§
Source§impl Clone for ApplicationSecurityPostureFinding
impl Clone for ApplicationSecurityPostureFinding
Source§fn clone(&self) -> ApplicationSecurityPostureFinding
fn clone(&self) -> ApplicationSecurityPostureFinding
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for ApplicationSecurityPostureFinding
impl Default for ApplicationSecurityPostureFinding
Source§fn default() -> ApplicationSecurityPostureFinding
fn default() -> ApplicationSecurityPostureFinding
Source§impl<'de> Deserialize<'de> for ApplicationSecurityPostureFinding
impl<'de> Deserialize<'de> for ApplicationSecurityPostureFinding
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ApplicationSecurityPostureFinding
impl PartialEq for ApplicationSecurityPostureFinding
Source§fn eq(&self, other: &ApplicationSecurityPostureFinding) -> bool
fn eq(&self, other: &ApplicationSecurityPostureFinding) -> bool
self and other values to be equal, and is used by ==.