pub enum Severity {
Info,
ClientSafe,
Low,
Medium,
High,
Critical,
}Expand description
Severity level for a finding.
ClientSafe is the bug-bounty tier for keys that are public by
design and shipped in client bundles: Sentry DSNs, Stripe pk_*
publishable keys, Mapbox pk. public tokens, PostHog project keys,
Firebase Web API keys, Google Maps browser keys, Algolia search
keys, Datadog browser RUM tokens, Mixpanel project tokens. The
detector still fires (a token grep is a token grep) but the
finding is rendered below Low and gated by --hide-client-safe
so a hunter running keyhog scan --hide-client-safe target/ only
sees credentials that an attacker could actually exfiltrate
server-side.
Variants§
Implementations§
Source§impl Severity
impl Severity
pub fn to_severity(&self) -> Self
Sourcepub fn downgrade_one(self) -> Self
pub fn downgrade_one(self) -> Self
Step the severity down one tier (Critical → High, High → Medium, …).
Info stays at Info (no lower bucket).
Used by diff-aware scoring: a credential that only appears in non-HEAD git history is still a leak (commit history is public if the repo is) but is meaningfully less urgent than a credential live in HEAD that an attacker can grep right now. One tier of downgrade communicates that without hiding the finding entirely.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Severity
impl<'de> Deserialize<'de> for Severity
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 Ord for Severity
impl Ord for Severity
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Severity
impl PartialOrd for Severity
impl Copy for Severity
impl Eq for Severity
impl StructuralPartialEq for Severity
Auto Trait Implementations§
impl Freeze for Severity
impl RefUnwindSafe for Severity
impl Send for Severity
impl Sync for Severity
impl Unpin for Severity
impl UnsafeUnpin for Severity
impl UnwindSafe for Severity
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 more