pub struct ToolClassification {
pub sensitivity: TaintLevel,
pub direction: ToolDirection,
pub clearance: TaintLevel,
}Expand description
Classification of a tool for taint tracking purposes.
Each tool declares its sensitivity (output taint level), direction (inbound/internal/outbound), and clearance (max taint level allowed for outbound operations).
Fields§
§sensitivity: TaintLevelSensitivity of the tool’s output (what taint level its results carry).
direction: ToolDirectionDirection of data flow.
clearance: TaintLevelMaximum taint level this tool can accept for outbound operations. Only meaningful when direction is Outbound.
Implementations§
Source§impl ToolClassification
impl ToolClassification
Sourcepub fn new(
sensitivity: TaintLevel,
direction: ToolDirection,
clearance: TaintLevel,
) -> Self
pub fn new( sensitivity: TaintLevel, direction: ToolDirection, clearance: TaintLevel, ) -> Self
Create a new tool classification.
Sourcepub fn is_outbound(&self) -> bool
pub fn is_outbound(&self) -> bool
Returns true if this tool is outbound (sends data outside the agent).
Sourcepub fn check_clearance(&self, taint: TaintLevel) -> bool
pub fn check_clearance(&self, taint: TaintLevel) -> bool
Check whether the given taint level passes this tool’s gate. Returns true if the taint level is within clearance (taint <= clearance). Non-outbound tools always pass.
Trait Implementations§
Source§impl Clone for ToolClassification
impl Clone for ToolClassification
Source§fn clone(&self) -> ToolClassification
fn clone(&self) -> ToolClassification
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ToolClassification
impl Debug for ToolClassification
Source§impl Default for ToolClassification
impl Default for ToolClassification
Source§impl<'de> Deserialize<'de> for ToolClassification
impl<'de> Deserialize<'de> for ToolClassification
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ToolClassification
Source§impl PartialEq for ToolClassification
impl PartialEq for ToolClassification
Source§impl Serialize for ToolClassification
impl Serialize for ToolClassification
impl StructuralPartialEq for ToolClassification
Auto Trait Implementations§
impl Freeze for ToolClassification
impl RefUnwindSafe for ToolClassification
impl Send for ToolClassification
impl Sync for ToolClassification
impl Unpin for ToolClassification
impl UnsafeUnpin for ToolClassification
impl UnwindSafe for ToolClassification
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<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
Compare self to
key and return true if they are equal.