pub enum SinkShape {
Call,
MemberCall,
MemberAssign,
TaggedTemplate,
JsxAttr,
NewExpression,
SecretLiteral,
}Expand description
The syntactic shape of a captured security sink site. Category-blind: the
extractor records the shape and the dotted/bare callee path; the analyze
layer matches it against the data-driven catalogue. See
crates/security/data/security_matchers.toml.
Variants§
Call
A call to a bare identifier (e.g. eval(x)).
MemberCall
A call to a dotted member path (e.g. child_process.exec(x)).
MemberAssign
An assignment to a member target (e.g. el.innerHTML = x).
TaggedTemplate
A tagged template expression (e.g. sql`...${x}...` ).
JsxAttr
A JSX attribute value (e.g. dangerouslySetInnerHTML={x}).
NewExpression
A constructor call (e.g. new Function("return x")).
SecretLiteral
A static string literal assigned to a secret-shaped identifier or known provider credential prefix.
Trait Implementations§
impl Copy for SinkShape
impl<'__de> Decode<'__de> for SinkShapewhere
'__de:,
Source§impl<'de> Deserialize<'de> for SinkShape
impl<'de> Deserialize<'de> for SinkShape
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 Encode for SinkShape
impl Eq for SinkShape
impl StructuralPartialEq for SinkShape
Auto Trait Implementations§
impl Freeze for SinkShape
impl RefUnwindSafe for SinkShape
impl Send for SinkShape
impl Sync for SinkShape
impl Unpin for SinkShape
impl UnsafeUnpin for SinkShape
impl UnwindSafe for SinkShape
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> DecodeOwned for Twhere
T: for<'de> Decode<'de>,
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.