Genesis Poisoning Simulation
An attacker controls the first sessions, so the “absolute floor” the system locks in is low. Does that damage the system afterwards?
What the code does
Observed accuracy is drawn around 0.55–0.68 for the first 20 sessions, then around 0.82–0.87. The effective baseline is the larger of a rolling 10-session mean and 92% of an “absolute floor”. The floor is meant to be the best accuracy seen in the poison window.
Reading the formula first
Because the baseline is a maximum, a low floor can never pull it below the rolling mean. It can only fail to lift it. A poisoned low floor therefore removes protection; it does not cause the baseline to fall. The harm the formula can do runs the other way: a floor that is too high pins the baseline above real performance. The boiling frog and compound attack pages show that case.
Single scenario
- The floor is the first session’s accuracy, 0.575, not the poison window’s best. The code sets the floor whenever it is unset, which happens on session 1, so the later “set at the end of the window” branch never runs.
- The floor stays at 0.575 for all 80 sessions. It lifts the effective baseline above the rolling mean in four sessions (17–20); from session 21 the two are equal, and the final value is 0.818.
- The script prints “VULNERABILITY CONFIRMED: Poisoned early data permanently lowered the Absolute Floor.” It fires because the floor is below 0.75. No effect on the baseline is shown after session 20.
Variations grid
| Poison window | Strategy | Locked floor | Final accuracy | Gap to 0.85 | Hazard label |
|---|---|---|---|---|---|
| 10 | struggling_high_potential | 0.675 | 0.844 | 0.175 | Critical |
| 10 | mediocre_anchor | 0.759 | 0.844 | 0.091 | Moderate |
| 10 | consistently_low | 0.583 | 0.844 | 0.267 | Critical |
| 15 | struggling_high_potential | 0.675 | 0.765 | 0.175 | Critical |
| 15 | mediocre_anchor | 0.759 | 0.765 | 0.091 | Moderate |
| 15 | consistently_low | 0.583 | 0.765 | 0.267 | Critical |
| 20 | struggling_high_potential | 0.675 | 0.79 | 0.175 | Critical |
| 20 | mediocre_anchor | 0.759 | 0.79 | 0.091 | Moderate |
| 20 | consistently_low | 0.583 | 0.79 | 0.267 | Critical |
| 25 | struggling_high_potential | 0.675 | 0.838 | 0.175 | Critical |
| 25 | mediocre_anchor | 0.759 | 0.838 | 0.091 | Moderate |
| 25 | consistently_low | 0.583 | 0.838 | 0.267 | Critical |
- The locked floor is identical across all four window lengths. Under seed 42 the highest poison-phase draw falls in session 7 for every strategy, so lengthening the window changes nothing.
- “Hazard” is the gap between the floor and a hard-coded 0.85, binned at 0.10 and 0.15. The label restates the poison distribution’s peak. The floor feeds nothing else in the script, so the table cannot show downstream harm.
Enhanced run (two strategies, 100 sessions)
This script fixes the first one’s bug: the floor locks at the end of the 20 poison sessions, at 0.675 (“struggling, high potential”) or 0.759 (“mediocre anchor”).
- The floor lifts the effective baseline above the rolling mean in sessions 20–22 only (for example 0.621 against 0.533 in session 20). From session 23 the two are equal, and the final baseline is 0.864 in both runs.
- The script prints “CRITICAL” for the 0.175 gap and “Moderate impact” for the 0.091 gap. Both labels are judged on the floor against 0.85, not on any effect.
What it shows
A floor that locks once, early, never moves, and whose value is set by whoever controls the first sessions. That is a design question worth settling (for example by letting the floor update, or by anchoring it to an independent source).
What it does not show
- Any measured damage from the low floor. The one thing it could cost, missing a later decline that a higher floor would have caught, is not simulated.
- That the real system has this weakness. The scripts build in an “immutable early anchor”.
- Anything about the four-channel architecture.
The scripts write to a path from the lab’s own machine (
/home/workdir/artifacts/); change it to run them elsewhere. Each uses seed 42, so a rerun reproduces the CSV.