pub enum ExfiltrationEvent {
MarkdownImageBlocked {
url: String,
},
SuspiciousToolUrl {
url: String,
tool_name: ToolName,
},
MemoryWriteGuarded {
reason: String,
},
}Expand description
An exfiltration event detected by ExfiltrationGuard.
Events are advisory: they are logged, counted, and returned to the caller for further action. The guard itself never panics or blocks the agent loop.
§Examples
use zeph_sanitizer::exfiltration::{ExfiltrationGuard, ExfiltrationEvent};
use zeph_config::ExfiltrationGuardConfig;
let guard = ExfiltrationGuard::new(ExfiltrationGuardConfig::default());
let (cleaned, events) = guard.scan_output("");
assert_eq!(events.len(), 1);
assert!(matches!(&events[0], ExfiltrationEvent::MarkdownImageBlocked { url } if url.contains("evil.com")));Variants§
MarkdownImageBlocked
A markdown image with an external URL was stripped from LLM output.
SuspiciousToolUrl
A tool call argument contained a URL that appeared in untrusted flagged content.
MemoryWriteGuarded
A memory write was intercepted because the content had injection flags.
Trait Implementations§
Source§impl Clone for ExfiltrationEvent
impl Clone for ExfiltrationEvent
Source§fn clone(&self) -> ExfiltrationEvent
fn clone(&self) -> ExfiltrationEvent
Returns a duplicate of the value. Read more
1.0.0 · 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 ExfiltrationEvent
impl Debug for ExfiltrationEvent
Source§impl PartialEq for ExfiltrationEvent
impl PartialEq for ExfiltrationEvent
impl StructuralPartialEq for ExfiltrationEvent
Auto Trait Implementations§
impl Freeze for ExfiltrationEvent
impl RefUnwindSafe for ExfiltrationEvent
impl Send for ExfiltrationEvent
impl Sync for ExfiltrationEvent
impl Unpin for ExfiltrationEvent
impl UnsafeUnpin for ExfiltrationEvent
impl UnwindSafe for ExfiltrationEvent
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,
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request