pub struct TakeoverReport {
pub domain: String,
pub hosts_checked: usize,
pub hosts_skipped: usize,
pub vulnerable: usize,
pub potential: usize,
pub inconclusive: usize,
pub findings: Vec<TakeoverFinding>,
pub notes: Vec<String>,
}Expand description
The result of a takeover scan over a set of hosts.
Fields§
§domain: String§hosts_checked: usizeHow many hosts were examined (after the cap).
hosts_skipped: usizeHosts dropped because the input exceeded the 2000-host cap.
vulnerable: usize§potential: usize§inconclusive: usizeProvider-CNAME hosts that could not be checked (see
TakeoverVerdict::Inconclusive).
findings: Vec<TakeoverFinding>Hosts worth reporting (vulnerable, then potential, then inconclusive). Hosts with no takeover signal are counted but not listed — a clean host is noise in a findings report.
notes: Vec<String>Implementations§
Source§impl TakeoverReport
impl TakeoverReport
Sourcepub fn has_findings(&self) -> bool
pub fn has_findings(&self) -> bool
True when the scan found anything actionable (a vulnerable or potential host; an inconclusive one is not a finding). Drives the CLI’s check-style exit code.
Trait Implementations§
Source§impl Clone for TakeoverReport
impl Clone for TakeoverReport
Source§impl Debug for TakeoverReport
impl Debug for TakeoverReport
Source§impl<'de> Deserialize<'de> for TakeoverReport
impl<'de> Deserialize<'de> for TakeoverReport
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
Auto Trait Implementations§
impl Freeze for TakeoverReport
impl RefUnwindSafe for TakeoverReport
impl Send for TakeoverReport
impl Sync for TakeoverReport
impl Unpin for TakeoverReport
impl UnsafeUnpin for TakeoverReport
impl UnwindSafe for TakeoverReport
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<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 more