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
..
functions fix(security): k-anon suppression in community-pulse attack aggregate 2026-04-20 19:39:42 +08:00
migrations feat(supabase): schema migration for attack_attempt telemetry fields 2026-04-20 04:58:08 +08:00
config.sh fix: Supabase telemetry security lockdown (v0.11.16.0) (#460) 2026-03-24 15:01:31 -07:00
verify-rls.sh fix: verify-rls.sh matches deployed policy (inserts allowed, HTTP parsing) (#461) 2026-03-24 15:10:50 -07:00