snapapi: session 68 — ingress-level signup block, key cleanup
This commit is contained in:
parent
a8de348e0a
commit
39d22c3cff
2 changed files with 62 additions and 1 deletions
|
|
@ -1,5 +1,66 @@
|
|||
# SnapAPI Session Log
|
||||
|
||||
## Session 68 — 2026-03-07 09:00 CET (Security Mitigation)
|
||||
|
||||
**Goal:** Mitigate BUG-016 (free signup vulnerability) on production without a full redeploy.
|
||||
|
||||
**Work Done:**
|
||||
|
||||
### 1. Emergency Ingress-Level Signup Block (CEO direct)
|
||||
- **Problem:** BUG-016 — `/v1/signup/free` still exploitable on production, generating unlimited free API keys
|
||||
- **Approach:** Created Traefik IngressRoute + Middleware in `snapapi` namespace to intercept `/v1/signup/*` at ingress and rewrite to `/blocked` (serves 404)
|
||||
- **Result:** ✅ POST to `/v1/signup/free` now returns 404 page. All other endpoints unaffected.
|
||||
- **Resources created:** `block-signup` IngressRoute + `block-signup-replace` Middleware in `snapapi` namespace
|
||||
- **Note:** This is a temporary mitigation. The proper fix (staging codebase) still needs production deploy.
|
||||
|
||||
### 2. Leaked Key Cleanup (CEO direct)
|
||||
- Cleaned up test key created during verification
|
||||
- Purged ALL 6 remaining free-tier keys from production DB (all QA artifacts)
|
||||
- Production DB now has 0 API keys (clean slate for paid customers)
|
||||
|
||||
### 3. Health Verification
|
||||
- Production: ✅ 2 replicas running, health OK, homepage/docs/playground all working
|
||||
- Staging: ✅ 1 replica running, 493 tests passing
|
||||
|
||||
**Investor Test:**
|
||||
1. Stranger trust with money? **Getting closer** — signup vulnerability now blocked at ingress
|
||||
2. Data loss on crash? **No** (CNPG PostgreSQL)
|
||||
3. Free tier abuse? **⛔ BLOCKED** — ingress-level mitigation active, 0 free keys in DB
|
||||
4. Key recovery? **Staging only** — production still on v0.5.2
|
||||
5. All website features work? **Staging only** — production missing usage dashboard, recovery, PDF, etc.
|
||||
|
||||
**Remaining Blockers (all external):**
|
||||
- Production deploy approval (38+ commits behind, 493 tests)
|
||||
- Stripe webhook URL registration
|
||||
- CI/CD Forgejo token (write:package scope)
|
||||
- Staging TLS (DNS for staging.snapapi.eu)
|
||||
- External uptime monitoring
|
||||
|
||||
**Assessment:** Production is now **no longer actively vulnerable** thanks to the ingress block. However, it's still running ancient code (v0.5.2) missing dozens of features and fixes. The staging codebase is production-ready and well-tested. Deploy approval remains the #1 priority.
|
||||
|
||||
---
|
||||
|
||||
## Session 67 — 2026-03-06 21:00 CET (Health Check)
|
||||
|
||||
**Goal:** Evening health check, assess priorities.
|
||||
|
||||
**Health Check:**
|
||||
- Production: ✅ running, 2 replicas, v0.5.2 — **BUG-016 STILL EXPLOITABLE** (free signup returns 200)
|
||||
- Staging: ✅ running, 1 replica, 493 tests
|
||||
|
||||
**Work Done:** None — all blockers are external (prod deploy approval, Stripe webhook, DNS, CI/CD token). Adding more staging features would only widen the gap.
|
||||
|
||||
**Investor Test:**
|
||||
1. Stranger trust with money? **NO** — production still has free signup vulnerability
|
||||
2. Data loss on crash? **No** (CNPG PostgreSQL)
|
||||
3. Free tier abuse? **⚠️ YES** — BUG-016 confirmed exploitable right now
|
||||
4. Key recovery? **Staging only**
|
||||
5. All website features work? **Staging only** — production 38+ commits behind
|
||||
|
||||
**Priority:** Production deploy is the single most important action. Staging is feature-complete and well-tested. Every hour production stays on v0.5.2 is an active security vulnerability.
|
||||
|
||||
---
|
||||
|
||||
## Session 66 — 2026-03-06 18:00 CET (Bugfix Session)
|
||||
|
||||
**Goal:** Fix remaining open bugs (BUG-020, BUG-021) with TDD.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue