#[non_exhaustive]pub struct Finding {Show 21 fields
pub finding_id: String,
pub agent_space_id: String,
pub pentest_id: Option<String>,
pub pentest_job_id: Option<String>,
pub code_review_id: Option<String>,
pub code_review_job_id: Option<String>,
pub task_id: Option<String>,
pub name: Option<String>,
pub description: Option<String>,
pub status: Option<FindingStatus>,
pub risk_type: Option<String>,
pub risk_level: Option<RiskLevel>,
pub risk_score: Option<String>,
pub reasoning: Option<String>,
pub confidence: Option<ConfidenceLevel>,
pub attack_script: Option<String>,
pub code_remediation_task: Option<CodeRemediationTask>,
pub last_updated_by: Option<String>,
pub code_locations: Option<Vec<CodeLocation>>,
pub created_at: Option<DateTime>,
pub updated_at: Option<DateTime>,
}Expand description
Represents a security finding discovered during a pentest job. A finding contains details about a vulnerability, including its risk level, confidence, and remediation status.
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.finding_id: StringThe unique identifier of the finding.
agent_space_id: StringThe unique identifier of the agent space associated with the finding.
pentest_id: Option<String>The unique identifier of the pentest associated with the finding.
pentest_job_id: Option<String>The unique identifier of the pentest job that produced the finding.
code_review_id: Option<String>The unique identifier of the code review associated with the finding.
code_review_job_id: Option<String>The unique identifier of the code review job that produced the finding.
task_id: Option<String>The unique identifier of the task that produced the finding.
name: Option<String>The name of the finding.
description: Option<String>A description of the finding.
status: Option<FindingStatus>The current status of the finding. Valid values include ACTIVE, RESOLVED, ACCEPTED, and FALSE_POSITIVE.
risk_type: Option<String>The type of security risk identified by the finding.
risk_level: Option<RiskLevel>The risk level of the finding. Valid values include UNKNOWN, INFORMATIONAL, LOW, MEDIUM, HIGH, and CRITICAL.
risk_score: Option<String>The numerical risk score of the finding.
reasoning: Option<String>The reasoning behind the finding, explaining why it was identified as a vulnerability.
confidence: Option<ConfidenceLevel>The confidence level of the finding. Valid values include FALSE_POSITIVE, UNCONFIRMED, LOW, MEDIUM, and HIGH.
attack_script: Option<String>The attack script used to reproduce the finding.
code_remediation_task: Option<CodeRemediationTask>The code remediation task associated with the finding, if code remediation was initiated.
last_updated_by: Option<String>The identifier of the entity that last updated the finding.
code_locations: Option<Vec<CodeLocation>>The file locations involved in the vulnerability, as reported by the code scanner.
created_at: Option<DateTime>The date and time the finding was created, in UTC format.
updated_at: Option<DateTime>The date and time the finding was last updated, in UTC format.
Implementations§
Source§impl Finding
impl Finding
Sourcepub fn finding_id(&self) -> &str
pub fn finding_id(&self) -> &str
The unique identifier of the finding.
Sourcepub fn agent_space_id(&self) -> &str
pub fn agent_space_id(&self) -> &str
The unique identifier of the agent space associated with the finding.
Sourcepub fn pentest_id(&self) -> Option<&str>
pub fn pentest_id(&self) -> Option<&str>
The unique identifier of the pentest associated with the finding.
Sourcepub fn pentest_job_id(&self) -> Option<&str>
pub fn pentest_job_id(&self) -> Option<&str>
The unique identifier of the pentest job that produced the finding.
Sourcepub fn code_review_id(&self) -> Option<&str>
pub fn code_review_id(&self) -> Option<&str>
The unique identifier of the code review associated with the finding.
Sourcepub fn code_review_job_id(&self) -> Option<&str>
pub fn code_review_job_id(&self) -> Option<&str>
The unique identifier of the code review job that produced the finding.
Sourcepub fn task_id(&self) -> Option<&str>
pub fn task_id(&self) -> Option<&str>
The unique identifier of the task that produced the finding.
Sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
A description of the finding.
Sourcepub fn status(&self) -> Option<&FindingStatus>
pub fn status(&self) -> Option<&FindingStatus>
The current status of the finding. Valid values include ACTIVE, RESOLVED, ACCEPTED, and FALSE_POSITIVE.
Sourcepub fn risk_level(&self) -> Option<&RiskLevel>
pub fn risk_level(&self) -> Option<&RiskLevel>
The risk level of the finding. Valid values include UNKNOWN, INFORMATIONAL, LOW, MEDIUM, HIGH, and CRITICAL.
Sourcepub fn risk_score(&self) -> Option<&str>
pub fn risk_score(&self) -> Option<&str>
The numerical risk score of the finding.
Sourcepub fn reasoning(&self) -> Option<&str>
pub fn reasoning(&self) -> Option<&str>
The reasoning behind the finding, explaining why it was identified as a vulnerability.
Sourcepub fn confidence(&self) -> Option<&ConfidenceLevel>
pub fn confidence(&self) -> Option<&ConfidenceLevel>
The confidence level of the finding. Valid values include FALSE_POSITIVE, UNCONFIRMED, LOW, MEDIUM, and HIGH.
Sourcepub fn attack_script(&self) -> Option<&str>
pub fn attack_script(&self) -> Option<&str>
The attack script used to reproduce the finding.
Sourcepub fn code_remediation_task(&self) -> Option<&CodeRemediationTask>
pub fn code_remediation_task(&self) -> Option<&CodeRemediationTask>
The code remediation task associated with the finding, if code remediation was initiated.
Sourcepub fn last_updated_by(&self) -> Option<&str>
pub fn last_updated_by(&self) -> Option<&str>
The identifier of the entity that last updated the finding.
Sourcepub fn code_locations(&self) -> &[CodeLocation]
pub fn code_locations(&self) -> &[CodeLocation]
The file locations involved in the vulnerability, as reported by the code scanner.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .code_locations.is_none().
Sourcepub fn created_at(&self) -> Option<&DateTime>
pub fn created_at(&self) -> Option<&DateTime>
The date and time the finding was created, in UTC format.
Sourcepub fn updated_at(&self) -> Option<&DateTime>
pub fn updated_at(&self) -> Option<&DateTime>
The date and time the finding was last updated, in UTC format.
Trait Implementations§
impl StructuralPartialEq for Finding
Auto Trait Implementations§
impl Freeze for Finding
impl RefUnwindSafe for Finding
impl Send for Finding
impl Sync for Finding
impl Unpin for Finding
impl UnsafeUnpin for Finding
impl UnwindSafe for Finding
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);