Skip to main content

RuleBasedAnalyzer

Struct RuleBasedAnalyzer 

Source
pub struct RuleBasedAnalyzer { /* private fields */ }
Expand description

Rule-based security analyzer that maps tool names and argument patterns to risk levels.

Implementations§

Source§

impl RuleBasedAnalyzer

Source

pub fn new() -> Self

Source

pub fn with_default_risk(self, risk: RiskLevel) -> Self

Set the default risk level for unknown tools.

Source

pub fn with_tool_risk( self, tool_name: impl Into<String>, risk: RiskLevel, ) -> Self

Set the risk level for a specific tool.

Source

pub fn with_arg_pattern( self, key: impl Into<String>, pattern: impl Into<String>, risk: RiskLevel, ) -> Self

Add an argument pattern that elevates risk. If the argument value for key contains pattern, the risk is elevated to risk.

Trait Implementations§

Source§

impl Default for RuleBasedAnalyzer

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl SecurityAnalyzer for RuleBasedAnalyzer

Source§

fn assess<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, tool_name: &'life1 str, args: &'life2 Value, ) -> Pin<Box<dyn Future<Output = Result<RiskLevel, SynapticError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.