pub struct AttackerProfile {Show 19 fields
pub profile_id: String,
pub ip: String,
pub country: Option<String>,
pub asn: Option<String>,
pub is_tor: bool,
pub is_cloud: bool,
pub is_proxy: bool,
pub user_agent: String,
pub browser_fingerprint: Option<BrowserFingerprint>,
pub first_seen: String,
pub last_seen: String,
pub total_requests: u64,
pub attack_categories: HashMap<String, u64>,
pub techniques_used: Vec<String>,
pub avg_request_interval: f64,
pub is_automated: bool,
pub risk_score: f64,
pub targets: Vec<String>,
pub event_timeline: Vec<String>,
}Available on crate feature
react-honeypot only.Expand description
Accumulated profile of an attacker across multiple requests.
Fields§
§profile_id: StringUnique profile ID (derived from IP + fingerprint).
ip: StringIP address.
country: Option<String>GeoIP country code (if resolved).
asn: Option<String>GeoIP ASN/organization.
is_tor: boolWhether the IP is a known Tor exit node.
is_cloud: boolWhether the IP belongs to a known cloud provider.
is_proxy: boolWhether the connection came through a proxy.
user_agent: StringUser-Agent string from the first request.
browser_fingerprint: Option<BrowserFingerprint>Parsed browser/OS fingerprint.
first_seen: StringFirst-seen timestamp.
last_seen: StringLast-seen timestamp.
total_requests: u64Total requests sent.
attack_categories: HashMap<String, u64>Count per attack category.
techniques_used: Vec<String>Techniques observed.
avg_request_interval: f64Average request interval (seconds).
is_automated: boolWhether the attacker appears automated (bot/script).
risk_score: f64Cumulative risk score (0–100).
targets: Vec<String>List of targeted endpoints.
event_timeline: Vec<String>Timeline of detected events.
Trait Implementations§
Source§impl Clone for AttackerProfile
impl Clone for AttackerProfile
Source§fn clone(&self) -> AttackerProfile
fn clone(&self) -> AttackerProfile
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 AttackerProfile
impl Debug for AttackerProfile
Source§impl<'de> Deserialize<'de> for AttackerProfile
impl<'de> Deserialize<'de> for AttackerProfile
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 AttackerProfile
impl RefUnwindSafe for AttackerProfile
impl Send for AttackerProfile
impl Sync for AttackerProfile
impl Unpin for AttackerProfile
impl UnsafeUnpin for AttackerProfile
impl UnwindSafe for AttackerProfile
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