pub enum InjectionStrategy {
Show 14 variants
AmountManipulation {
original: Decimal,
factor: f64,
},
ThresholdAvoidance {
threshold: Decimal,
adjusted_amount: Decimal,
},
DateShift {
days_shifted: i32,
original_date: NaiveDate,
},
SelfApproval {
user_id: String,
},
SoDViolation {
duty1: String,
duty2: String,
violating_user: String,
},
ExactDuplicate {
original_doc_id: String,
},
NearDuplicate {
original_doc_id: String,
varied_fields: Vec<String>,
},
CircularFlow {
entity_chain: Vec<String>,
},
SplitTransaction {
original_amount: Decimal,
split_count: u32,
split_doc_ids: Vec<String>,
},
RoundNumbering {
original_amount: Decimal,
rounded_amount: Decimal,
},
TimingManipulation {
timing_type: String,
original_time: Option<NaiveDateTime>,
},
AccountMisclassification {
correct_account: String,
incorrect_account: String,
},
MissingField {
field_name: String,
},
Custom {
name: String,
parameters: HashMap<String, String>,
},
}Expand description
Structured injection strategy with captured parameters.
Unlike the string-based injection_strategy field, this enum captures
the exact parameters used during injection for full reproducibility.
Variants§
AmountManipulation
Amount was manipulated by a factor.
Fields
ThresholdAvoidance
Amount adjusted to avoid a threshold.
Fields
DateShift
Date was backdated or forward-dated.
Fields
SelfApproval
User approved their own transaction.
SoDViolation
Segregation of duties violation.
Fields
ExactDuplicate
Exact duplicate of another document.
NearDuplicate
Near-duplicate with small variations.
Fields
CircularFlow
Circular flow of funds/goods.
SplitTransaction
Split transaction to avoid threshold.
Fields
RoundNumbering
Round number manipulation.
TimingManipulation
Timing manipulation (weekend, after-hours, etc.).
Fields
original_time: Option<NaiveDateTime>Original timestamp.
AccountMisclassification
Account misclassification.
MissingField
Missing required field.
Custom
Custom injection strategy.
Implementations§
Source§impl InjectionStrategy
impl InjectionStrategy
Sourcepub fn description(&self) -> String
pub fn description(&self) -> String
Returns a human-readable description of the strategy.
Sourcepub fn strategy_type(&self) -> &'static str
pub fn strategy_type(&self) -> &'static str
Returns the strategy type name.
Trait Implementations§
Source§impl Clone for InjectionStrategy
impl Clone for InjectionStrategy
Source§fn clone(&self) -> InjectionStrategy
fn clone(&self) -> InjectionStrategy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more