This simulator trains a real logistic-regression classifier on two synthetic point clouds and lets you attack it two different ways. In evasion mode, click any correctly-classified point to make it the target, then launch an FGSM-style attack: the perturbation direction comes from the true gradient of the loss with respect to the input, (p − y) · w, signed and scaled by an epsilon budget — not random jitter — so the point moves the shortest useful distance toward misclassification while the epsilon slider controls how much it's allowed to move. In poisoning mode, the model itself stays untouched at first; instead you inject deliberately mislabeled points into the training set and hit retrain, which refits the classifier's weights by gradient descent on the corrupted data and animates the decision boundary sliding toward the injected points, showing how a handful of bad labels can drag a model's judgment without ever touching a test-time input.