work research blog about contact
Paper 2026

Kinematic Features Are All You Need: Detecting Synthetic Mouse Trajectories Under Adversarial Optimization

Nick · Voidware Studios

≤ 0.001 Equal error rate
> 99.5% TPR at FPR < 0.1%
17 Kinematic features
43,216 Human trials
29 Users

Mouse generators already imitate the curves, timing, and small corrections seen in human movement. I wanted to know whether that was enough to fool a detector that only saw the movement itself.

I tested the detector on the Balabit and BOUN datasets. It found more than 99.5% of generated movements while flagging fewer than 0.1% of human ones. After I retrained the detector once, the attacker's mean evasion score fell from 0.999 to 0.010 by round five.

  • What I measured. I gave the detector only x and y positions and their timestamps. It uses 17 movement features and does not rely on information about the mouse itself.
  • Why timing matters. Modern generators already imitate several parts of human movement. They can draw a convincing path, but their speed and timing still make them easier to identify.
  • How I tested it. I let the attacker see every feature and optimize against the detector for five rounds. After I retrained the detector once, the attacker's mean evasion fell from 0.999 to 0.010.
  • Movement data only. I built the detector around x, y, and timestamps. It does not rely on device fingerprints, and I left out features that reveal polling rate.
  • Retraining the detector. I ran five rounds of white-box Bayesian optimization. After one detector retraining round, the attacker's mean evasion fell from 0.999 to 0.010.
  • A feature guide. I organized 32 movement features into six groups and identified 15 that should be left out because they reveal polling rate.
  • SigmaDrift. I also released the mouse generator as open source so other researchers can test against it and build on the work.
Mouse dynamicsAdversarial MLMotor controlAnti-cheatBehavioral biometrics