pub struct CaesarDecoder;Expand description
Caesar/ROT13/ROT-N decoder. A handful of malware-config dumps and CTF
fixtures store their tokens ROT13’d (AKIA... → NXVN...). For every
candidate ≥ 16 chars, emit decoded variants for the 25 non-trivial Caesar
shifts that produce a plausibly credential-shaped string.
“Plausibly shaped” gates the explosion: a 100-char chunk would otherwise produce 25 sibling chunks per candidate. We require:
- The decoded variant contains ≥1 ASCII digit (most modern API key formats include digits - pure-letter Caesar output rarely indicates a real secret).
- The decoded variant has at least 8 ASCII alphanumeric chars in a contiguous run (matches AWS / GitHub / Slack token shapes).
Both checks together keep the chunk count flat on prose-heavy inputs.
Source-code files are skipped entirely. Real secrets are never Caesar-
encoded inside source - the 25-shift fan-out on every prose-comment in
a codebase just hallucinates detector matches from random letter runs
(helicone-api-key on a //! Source trait doc comment was the original
reproducer; see dogfood-2026-05-21.md finding #5).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CaesarDecoder
impl RefUnwindSafe for CaesarDecoder
impl Send for CaesarDecoder
impl Sync for CaesarDecoder
impl Unpin for CaesarDecoder
impl UnsafeUnpin for CaesarDecoder
impl UnwindSafe for CaesarDecoder
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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