{
  "id": 16236989,
  "title": "My spoof gate rejected every attack. It was rejecting them for the wrong reason.",
  "url": "https://urgent.news/2026/10/23/my-spoof-gate-rejected-every-attack-it-was-rejecting-them-for-the",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-23T22:29:04.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/alice_cv/my-spoof-gate-rejected-every-attack-it-was-rejecting-them-for-the-wrong-reason-4l7l"
  },
  "original_language": "en",
  "account": null,
  "summary": "The article discusses a spoof gate that was rejecting printed photos, screen replays, and looped video for the wrong reason. The gate, built using ArcFace embedding and a liveness check, was measuring alternation in the red-blue difference of the center crop. An attack sample, a printed photo filmed with a flashing app, was rejected due to the liveness channel failing to capture the flashing signal. The author discovered that the liveness channel was sampling the video at 10 Hz, which was insufficient to capture the 10 Hz strobe pulse. After adjusting the sampling to the clip's native frame rate (20 fps), the gate correctly identified the attack. The author also identified a bug in the identity channel, which was running at a 10 Hz stride and failing to detect lit frames. The article concludes with a fix to improve the gate's security by ensuring that no prompt time allows the loop to pass through, rather than simply rejecting everything.",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}