Releases: datascry/kitsune
Releases · datascry/kitsune
Release list
v1.18.0
1.18.0 (2026-07-08)
Features
- arena: 3d spatial gate core — isometric cube grid, mint + set-verify (e19adda)
- arena: analog-clock captcha gate — render + read-the-clock verify, grounded (95c1082)
- arena: audio gate core — embedded fsdd corpus + pure-go wav codec + mint/verify (841d8e0)
- arena: wire the audio gate — /arena/audio mint+verify, catalog, speed floor (664c049)
- arena: wire the spatial gate — /arena/spatial mint+verify, catalog, speed floor (0339cc9)
- detector: audio gate coherence join — relay + arena_audio_superhuman rule, grounded (a65e753)
- detector: audio gate page widget — the audio gate is fully landed (a90171f)
- detector: spatial gate landed — relay + page widget + solver + coherence join (8fdc720)
- evaders: arena-defeat generalize — whole arena defeated in one coherent session (ad87ea0)
- evaders: arena-defeat r2 — a real browser clears no_js_execution + passes the gate paced (07ab7fb)
- evaders: arena-defeat r3 — coherent camoufox + paced solve defeats the clock gate (c2d085b)
- evaders: arena-defeat r3 — coherent camoufox defeats the audio gate; all three defeated (a1dd4ac)
- evaders: arena-defeat r3 — coherent camoufox defeats the spatial gate too (d809d4a)
- evaders: arena-defeat r4 — ncc audio solve (13->100% easy) + reusable defeat profile (a3791e1)
- evaders: audio gate reference solver — matched-filter, grounds the positive path (b0096c0)
Bug Fixes
v1.17.0
1.17.0 (2026-07-08)
Features
- detector: add the webgl perf-vs-renderer gpu-substance tell (experimental) (e19bc02)
Bug Fixes
- edge: block detector admin endpoints from the public edge (data-disclosure) (e7e0c5f)
- edge: cap the /ingest body size to prevent memory-exhaustion dos (f146fcc)
- edge: enforce the network-signal source-trust boundary at the proxy (0e84b76)
- edge: generalize the trust boundary — keep only browser+behavioral client signals (63a3d15)
v1.16.0
1.16.0 (2026-07-06)
Features
- evaders: park gvisor netstack for os-spoof — blocked on an upstream go-build bug (c7ec0f8)
- evaders: patched mesa llvmpipe flips chromium's webgl renderer to hardware (grounded) (fa449ae)
- fleet: morph-diffuse strategy — distinct coherent builds shed the ja4_prefix binding (beb2bea)
Bug Fixes
- evaders: land a full browser session through os-spoof (deep inbox + reassembly) (7f77975)
v1.15.0
1.15.0 (2026-07-06)
Features
- arena: difficulty levels for the moving-target widget (easy/medium/hard) (07bc53f)
- arena: live claude agent caught on the rendered moving-target widget (edf86ae)
- arena: rendered moving-target widget — the stale-snapshot captcha, fp-safe grounded (406ae40)
- arena: stale-snapshot tell — catch an llm agent acting on a seconds-old view (f20c94b)
- arena: tune moving-target widget for human-solvability (9/10, fp-safe, agent-caught) (9fb8616)
- detector: session_flow_robotic — the machine-regularity flow tell (0cf7ada)
- detector: session_flow_superhuman — the multi-step flow-cadence tell (3f35b16)
- evaders: add macos-firefox morph profile — camoufox mac caps bug fixed, coherent (1c18441)
- evaders: arena-solver KS_HUMANIZE — paced flow evades the cadence floor tell (e10ad84)
- evaders: coherently morph the device model via cdp metadata (clean win) (3b2ce6e)
- evaders: curate a coherent device corpus + document the morphing stack (a5b42d0)
- evaders: fall the gpu-caps wall in software (llvmpipe + coherent renderer, no gpu) (76c8ce6)
- evaders: ground the gpu-caps wall to a camoufox data bug (llvmpipe gives 16384 in software) (d054eb4)
- evaders: ground the gpu/webgl wall — real-hardware-bound; revert corpus-string auto-apply (28e53f2)
- evaders: wire the device corpus load; ground cores coherence as environment-bound (4baa36f)
- harness: cross-os morph profile (os-spoof + camoufox) — coherent; robustness is the residual (fa1ba0e)
- harness: full-stack morph-profile validator — per-layer coherence table, grounded (440fc58)
- harness: unified morphing-profile registry + composer — linux-desktop coherent live (a32f472)
Bug Fixes
- arena: apply go 1.26 gofmt import ordering (blank _ embed import) (ca080c6)
v1.14.0
1.14.0 (2026-07-04)
Features
- arena: ?charset= selector — the second text ocr bench axis (5da81f0)
- arena: ?font= selector + captcha reports its typeface (the ocr bench) (018f2af)
- arena: add dancing-script (cursive OFL) — drops TrOCR to 5/8, the hardest face (3369c34)
- arena: add liberation-serif (OFL) — a distinct design that drops TrOCR to 7/8 (65b4d38)
- arena: convict a queue client that acts before admission (queue-bypass) (13fc818)
- arena: convict a session that fills a hidden honeypot field (3339fec)
- arena: double the emoji taxonomy — add plant/weather/sport categories (8dcf831)
- arena: flag a captcha solved faster than a human can read+type (ocr/ml tell) (6a47130)
- arena: flag a forged rotate trajectory + make the trajectory rule gate-agnostic (9018e1b)
- arena: flag a slider trajectory that claims more drag-time than the whole solve (9ae691a)
- arena: GET /arena/catalog manifest — enumerate the captcha bench space (b1b14cf)
- arena: image-shapes — a 3rd owned image source (procedural geometry) (7af79e7)
- arena: image-shapes 4->7 categories — add pentagon/hexagon/cross (53e8a5f)
- arena: per-glyph rotation — real-world fidelity for the text gate (e9528e0)
- arena: server-observed solve-timing (issue->verify age) + pow solve-rate telemetry (674c6fb)
- arena: text captcha font pool — 5 go-family typefaces for the ocr bench (bad9336)
- arena: waiting-room queue gate + superhuman admission-action tell (e61b1b3)
- detector: convict a session that solves an arena captcha faster than a human (cd10de9)
- detector: flag a session hoarding many concurrent queue positions (experimental) (68562ae)
- detector: join the queue superhuman admission-action anomaly to the session (fb7f9e5)
- detector: join the slider trajectory-forgery anomaly to the session verdict (3661af1)
- detector: worker_removed — catch a client that strips window.Worker to hide the realm (2dca627)
- evaders: arena-solver queue-abuse mode + full red-verify of the wait tells (4481fd4)
- evaders: OCR_FONT selector — benchmark arena-solver-ocr per typeface (a25b3b9)
- fleet: diffuse strategy — the maximal in-sandbox evader, grounded live to evade both axes (01e4f13)
- fleet: diffuse-automated strategy — red-verify axis-a corroboration end-to-end live (7578de7)
- fleet: diffuse-scheduled strategy — red-verify the scheduled-stagger timing dim (9517765)
- fleet: residential-proxy strategy — red-verify proxy_egress end-to-end live (ba180fa)
- fleet: socks-proxy strategy — red-verify the stack-divergence path end-to-end live (73aa17b)
- harness: broaden proxy_egress to catch socks re-origination via stack-vs-ua divergence (f6ebc81)
- harness: corroborate a 2-dim axis-a candidate to campaign on a per-session bot tell (678bfcf)
- harness: proxy_egress dim — convict a residential-proxy fleet on a shared tunnel MSS (507c7bb)
- harness: scheduled-stagger regularity — a baseline-free axis-a coordination timing dim (8a14fa2)
Bug Fixes
- arena: make the difficulty ladder monotonic — image-select hard grows to 12 tiles (017693e)
v1.13.0
1.13.0 (2026-07-03)
Features
- detector: br.android_mobile_dpr1 — Android backing-scale realism (mobile B-androiddpr) (5f783f5)
- detector: br.android_model_dpr_incoherent (6833c6b)
- detector: br.android_model_gpu_incoherent (48ae6fa)
- detector: br.android_model_os_exceeds (c3a0dd0)
- detector: br.android_model_os_predates (7ae7f8e)
- detector: br.android_model_screen_incoherent (7d51032)
- detector: br.android_no_contacts_api (122a446)
- detector: br.android_phone_screen_oversized — first Android device-coherence check (loop B5) (f761e49)
- detector: br.devicememory_vs_engine — Blink-only deviceMemory under a non-Blink UA (loop B2) (ee014fe)
- detector: br.devicememory_worker_divergence — realm coherence for deviceMemory (loop B2b) (a4972fd)
- detector: br.gpu_uniform_underreport (6d86154)
- detector: br.ios_dpr_incoherent — device<->DPR joint coherence (loop B1) (6f42122)
- detector: br.ios_no_standalone — iOS-Safari surface that beats the WebKit iOS node (loop B-ns) (fc146d9)
- detector: br.ios_screen_desktop_res — sub-1400 desktop-res under iOS UA (loop B4-slice) (5008664)
- detector: br.ios_screen_offmanifold — full iOS device-screen set (loop B4-full) (f158f40)
- detector: br.ios_screen_oversized — device<->screen joint coherence (X5 iOS slice) (276f40b)
- detector: br.mobile_cores_high (84f5da9)
- detector: br.mobile_gpu_caps_mismatch (e47ae9a)
- detector: br.mobile_gpu_not_mobile (51787ee)
- detector: br.mobile_gpu_uniforms_software — close the low-end-GPU evasion (mobile B-uniforms) (efa0091)
- detector: br.mobile_no_js_model (201749e)
- detector: br.mobile_pointer_hover_desktop (f4e8749)
- detector: br.uadata_model_worker_divergence (4f5bbea)
- detector: br.uadata_worker_divergence (0f81ae4)
- detector: br.webgl_maxtexture_unallocatable (192f6a5)
- detector: generalise ch_ua_on_non_chromium_ua — close the Firefox Sec-CH-UA gap (loop B-nc) (bcb2057)
- detector: harden mobile_gpu_caps_mismatch to the full WebGL cap triad; webgpu tested-dead (705a4c2)
- detector: net.ch_ua_mobile_no_model (1cf80ec)
- detector: net.ch_ua_on_safari_ua — Blink-faking-Safari at the header layer (loop B-chua) (6a789b1)
- detector: net.tcp_static_window — flow-level TCP behavior, the first tell below the SYN (5d0d1b5)
- detector: net.tcp_syn_anomaly — p0f-grounded SYN value-vs-order coherence (acf88ef)
- edge: wire slow-HTTP (slowloris) detection end to end + driver (G16) (158d50b)
- evaders: add chain-mitm harness — chained tool stacks are counterproductive (d200a09)
- evaders: add KS_ANDROID_FONTS — Android-coherent font set for a Chromium mobile device (07e1c85)
- evaders: add KS_DEVICE — a coherent per-OS device randomizer (the vision's red half) (372a086)
- evaders: add KS_ENGINE=webkit — the coherent iOS device runtime (loop R3) (b0e176f)
- evaders: add KS_FORGE_JS_MODEL (9d00dc5)
- evaders: add KS_FORGE_MODEL (a13bbbf)
- evaders: add KS_MOBILE_FONTS (7482710)
- evaders: add KS_RENDERER_WORKER (7d55628)
- evaders: add KS_STRIP_CHUA evades ch_ua_on_safari_ua — TLS/h2 substrate holds (loop R-chua) (148e826)
- evaders: camoufox KS_PROVISION (44f0423)
- evaders: camoufox KS_REAL_INPUT — the fused maximal coherent single-session stack (69686ed)
- evaders: camoufox macOS Retina DPR — engine-level spoof beats macos_dpr1 (loop R-mac) (21bab3a)
- evaders: compose KS_DEVICE + KS_PROVISION in the stealth image (loop R1) (6e0f464)
- evaders: os-spoof — userspace TCP + uTLS forges the kernel, beats net.tcp_os_vs_ua (6bf190a)
- evaders: os-spoof coherent OS profiles — a fleet morphs into any mix (b742546)
- evaders: os-spoof proxy mode (f265eed)
- evaders: strip camoufox macOS internal dot-fonts — evades font_mac_internal (loop R-font) (50e6250)
- evaders: synthesize navigator.standalone on the WebKit iOS node (loop R3++) (dd4348e)
- harness: wire the coordination scorer as an L7-flood attributor (G17) (ab0712b)
Bug Fixes
v1.12.0
1.12.0 (2026-06-29)
Features
- detector: conviction/corroboration scoring — no more misleading % (371af2b)
- detector: no-capture privacy posture for the public site (005b664)
- harness: adversary-showcase — the coordination red⇄blue escalation ladder (56f4207)
- harness: fleet Objectives — shard a goal's work across coordinated workers (e642053)
- harness: stagger lever (reduce coordination) + robust diversification showcase (35903e9)
Bug Fixes
- detector: guard arena gate slug to close the reflected-XSS path (d6753be)
- detector: remove dead share button; corroboration on its own line (5077f79)
- detector: stop convicting genuine privacy browsers + VPN users (ee50cfd)
- evaders: bump golang.org/x/net to v0.56.0 in azuretls (GO-2026-5026) (8993f55)
Performance Improvements
- harness: productionize axis A — blocking candidate-gen + windowed streaming (4f3d889)
v1.11.0
1.11.0 (2026-06-28)
Features
- arena: RPS-gated arena (token-bucket rate gate) + RPS recon as a campaign wave (42d2a5a)
- coordination: fold source IPs to /64 origins for ipv6 (8c511fd)
- detector: bh.action_cadence_deliberative — llm think-time tell (0897572)
- detector: bh.input_via_paste — programmatic form-input AI-agent tell (dd97933)
- detector: bh.scroll_teleport — programmatic scroll AI-agent tell (031963c)
- detector: convict no-js scrapers via ja4 tool-vs-ua coherence (eca5b9d)
- detector: is_abuse_listed IP reputation from Spamhaus DROP + IPsum (9ccb130)
- edge: DNS-free declared-crawler verification via deploy-refreshed CIDR feeds (3661696)
- edge: expand ja4 hint table from ja4db (public BSD-3 JA4→client data) (81f613d)
- evaders: camoufox executes the behavioral task DSL (a second, Playwright backend) (e7821d6)
- evaders: KS_REAL_INPUT — real OS-level (XTEST) pointer input beats the behavioral layer (0645d15)
- harness: add a managed real-evader fleet orchestrator (mixed images, retry, capture+grade) (a3a8799)
- harness: adversary archetype catalog — named personas the fleet emulates (209242e)
- harness: archetype validation harness — run each persona live, check it matches the catalog (dacf42b)
- harness: axis A — population/aggregate coordination (campaign detector) (150b6ea)
- harness: bake the red-team evasion ladder into the fleet manager (named evasions) (b8a6a11)
- harness: behavioral task scripts for fleet workers (DSL + CDP executor) (3670bef)
- harness: declarative engagement plans for the fleet manager (YAML/JSON + examples) (84fb79e)
- harness: distinct-builds lever + multi-cluster fragmentation reporting (730ad43)
- harness: multi-wave campaigns — an engagement as a sequence of fleet waves (302f984)
- harness: review-farmer archetype — the behavioral (trace_collision) binding (b770ec3)
- harness: RPS scoping — the recon RATE dimension (ramp + throttle-knee budget) (4c1176d)
- harness: structured engagement report — the red⇄blue finding a fleet run produces (1f0ff2a)
- harness: tool-ja4 corroborates a no-js coordination fleet (63d6583)
- harness: wire KS_REAL_INPUT into the fleet as the real-input evasion (efb55a8)
v1.10.0
v1.9.0
1.9.0 (2026-06-27)
Features
- arena: add Quick, Draw! doodle image-select (CC BY 4.0) — the second image source (204135e)
- arena: emoji image-select gate (Noto Emoji, OFL) — real CV, not shapes (ca17fa4)
- arena: harden text-captcha noise + add the verify-you-are-human checkbox (823f658)
- arena: image-select + rotate captcha gates (the interactive visual families) (eec1ba8)
- arena: pact / private-access-token gate — skip the challenge on a personhood token (2f9f1c9)
- arena: per-gate difficulty levels (easy/medium/hard) as a cost dial (1bbd748)
- arena: public challenge-gate service + detector relay (arena MVP backend) (0b28193)
- arena: self-hosted CAPTCHA gates (text image · math · honeypot) (2c28549)
- arena: slider captcha — drag-to-fit + behavioural trajectory check (GeeTest-style) (dbe4579)
- contracts: arena scope-as-code — challenge + finding contracts, owned-only allow-list (2cefd46)
- detector: arena gates auto-serve on load as bypass-testing pages (5b517a7)
- detector: managed-challenge ladder gate (Turnstile-style) on the arena (2821040)
- detector: pull geo data keylessly at deploy so the wire panel resolves it (db178ad)
- detector: rebuild the arena as per-challenge pages on the shared site shell (8dbe333)
- detector: the public /arena page — in-browser solver + dual verdict (3cebc5a)
- edge: capture reused TLS-resumption ticket; add the ticket-reuse coordination binding (c286721)
- edge: detect HTTP/2 MadeYouReset stream-reset coercion (CVE-2025-8671) (748bca6)
- edge: detect Web Bot Auth in-window nonce replay (RFC 9421 / G32) (dbcce67)
- evaders: browserless arena-solver that beats every arena gate (owned gates only) (d5710af)
- evaders: computer-vision classifier beats the hardened image-select gate (7eeeeae)
- evaders: solve the arena distorted-text gate with a HuggingFace OCR model (77a1045)
- fleet: add fuzzy-rotate fleet + measure the cross-JA4 similarity FP boundary (83402e5)
- fleet: add Skulk, a fleet adversary-emulation kit for coordination-defense testing (22b4621)
- harness: add template-similarity coordination rung (closes the fuzzy-trace gap) (506a837)
- harness: live-ground the fleet-coordination axis end-to-end (1210d7b)
Bug Fixes
- arena: make rotate behavioural — score the drag trajectory, not a submitted angle (20fd62e)
- arena: rasterize the text + image-select gates so they need OCR/CV, not markup (6713eac)
- detector: open the network/wire panel by default too (b6db2ab)
- detector: stack the detections table into cards on mobile (3b509c6)
- repo: run the arena in the pull-based production deploy (454367a)