gstack/supabase/functions
Garry Tan 10a7ab8a62
fix(security): k-anon suppression in community-pulse attack aggregate
Top-N attacked domains + layer distribution previously listed every
value with count>=1. With a small gstack community, that leaks
single-user attribution: if only one user is getting hit on
example.com, example.com appears in the aggregate as "1 attack,
1 domain" — easy to deanonymize when you know who's targeted.

Add K_ANON=5 threshold: a domain (or layer) must be reported by at
least 5 distinct installations before appearing in the aggregate.
Verdict distribution stays unfiltered (block/warn/log_only is
low-cardinality + population-wide, no re-id risk).

Raw rows already locked to service_role only (002_tighten_rls.sql);
this closes the aggregate-channel leak.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 19:39:42 +08:00
..
community-pulse fix(security): k-anon suppression in community-pulse attack aggregate 2026-04-20 19:39:42 +08:00
telemetry-ingest fix: security wave 1 — 14 fixes for audit #783 (v0.15.7.0) (#810) 2026-04-04 22:12:04 -07:00
update-check feat: opt-in usage telemetry + community intelligence platform (v0.8.6) (#210) 2026-03-19 17:21:05 -07:00