Files
gstack/supabase
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
..