pub struct Finding {
pub rule_id: String,
pub message: String,
pub severity: Severity,
pub file: Option<PathBuf>,
pub line: Option<usize>,
pub column: Option<usize>,
pub scanner: String,
pub snippet: Option<String>,
pub suppressed: bool,
pub suppression_reason: Option<String>,
pub remediation: Option<String>,
}Expand description
A single security finding detected by a scanner.
Each finding carries the rule it violates, a human-readable message, optional source location, and remediation guidance.
§Suppression
Findings can be suppressed either by inline comments (# scan:ignore) or
by entries in a .oxidized-agentic-audit-ignore file.
When suppressed, suppressed is true and the
finding is moved to ScanReport::suppressed instead of
ScanReport::findings.
Fields§
§rule_id: StringUnique rule identifier (e.g., "bash/CAT-A-001", "prompt/P01").
message: StringHuman-readable description of the issue.
severity: SeveritySeverity level.
file: Option<PathBuf>Path to the source file, relative to the skill root.
line: Option<usize>1-based line number inside the source file.
column: Option<usize>1-based column number inside the source file.
scanner: StringName of the scanner that produced this finding.
snippet: Option<String>Code snippet showing the offending line.
suppressed: boolWhether this finding has been suppressed.
suppression_reason: Option<String>Reason for suppression (from a suppression rule or inline marker).
remediation: Option<String>Guidance on how to resolve the issue.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Finding
impl<'de> Deserialize<'de> for Finding
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>,
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> 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 more