pub enum AnomalySignalType {
Show 14 variants
PayloadSizeHigh,
PayloadSizeLow,
UnexpectedParam,
MissingExpectedParam,
ParamValueAnomaly,
ContentTypeMismatch,
RateBurst,
ParamCountAnomaly,
HeaderMissingRequired,
HeaderUnexpected,
HeaderValueAnomaly,
HeaderEntropyAnomaly,
HeaderLengthAnomaly,
AbnormalErrorRate,
}Expand description
Type of anomaly detected in a request.
Variants§
PayloadSizeHigh
Payload size significantly above baseline (z-score > 3)
PayloadSizeLow
Payload size suspiciously small for endpoint
UnexpectedParam
Query parameter not seen in baseline
MissingExpectedParam
Usually-present parameter missing
ParamValueAnomaly
Parameter value outside learned range
ContentTypeMismatch
Content-Type doesn’t match baseline
RateBurst
Request rate burst from this entity
ParamCountAnomaly
Too many parameters
HeaderMissingRequired
Required header (seen in >95% of baseline) is missing
HeaderUnexpected
Unexpected header not seen in baseline
HeaderValueAnomaly
Header value is anomalous (unusual pattern, format)
HeaderEntropyAnomaly
Header value entropy is anomalous (z-score > 3 sigma)
HeaderLengthAnomaly
Header value length is outside expected range
AbnormalErrorRate
Abnormal error rate detected (5xx errors on usually-stable endpoint)
Implementations§
Source§impl AnomalySignalType
impl AnomalySignalType
Sourcepub fn default_severity(&self) -> u8
pub fn default_severity(&self) -> u8
Get the default severity for this signal type.
Severity scale (1-10):
- 1-3: Low (informational, minor deviations)
- 4-6: Medium (notable anomalies, worth investigation)
- 7-10: High (likely malicious, strong indicators)
Sourcepub fn default_risk(&self) -> u16
pub fn default_risk(&self) -> u16
Get the default risk contribution for this signal type.
Risk contribution scale (0-50):
- 0-10: Low risk addition
- 11-25: Medium risk addition
- 26-50: High risk addition
Trait Implementations§
Source§impl Clone for AnomalySignalType
impl Clone for AnomalySignalType
Source§fn clone(&self) -> AnomalySignalType
fn clone(&self) -> AnomalySignalType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AnomalySignalType
impl Debug for AnomalySignalType
Source§impl<'de> Deserialize<'de> for AnomalySignalType
impl<'de> Deserialize<'de> for AnomalySignalType
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 Hash for AnomalySignalType
impl Hash for AnomalySignalType
Source§impl PartialEq for AnomalySignalType
impl PartialEq for AnomalySignalType
Source§impl Serialize for AnomalySignalType
impl Serialize for AnomalySignalType
impl Copy for AnomalySignalType
impl Eq for AnomalySignalType
impl StructuralPartialEq for AnomalySignalType
Auto Trait Implementations§
impl Freeze for AnomalySignalType
impl RefUnwindSafe for AnomalySignalType
impl Send for AnomalySignalType
impl Sync for AnomalySignalType
impl Unpin for AnomalySignalType
impl UnsafeUnpin for AnomalySignalType
impl UnwindSafe for AnomalySignalType
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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§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