FixVibe

// docs / baas security / clerk hardening

Clerk öryggisgátlisti: 20 atriði

Clerk meðhöndlar auth, lotur og samtök fyrir forritið þitt — sem þýðir að rangstillt Clerk-samþætting er auth-bypass, lotuneglingarvektor eða org-lekaslóð. Þessi gátlisti er 20-atriða endurskoðun yfir lykla, lotustillingar, vefkróka, samtök, JWT-sniðmát og áframhaldandi vöktun. AI-kóðunarverkfæri tengja Clerk hratt með skynsamlegum sjálfgildum; þessi listi grípur atriðin sem þau skilja eftir á borðinu.

Fyrir bakgrunn um hvers vegna auth-lags-rangstillingar eru veikur punktur fyrir AI-verkfæri, sjáðu Hvers vegna AI-kóðunarverkfæri skilja eftir öryggisgöt. Fyrir samhliða gátlistann á Auth0, sjáðu Auth0 öryggisgátlisti.

Umhverfislyklar og uppruna-leyfilisti

Clerk gefur út tvo aðskilda lykla á verkefni. Að blanda þeim eða leka þeim er fyrsta bilunarmáttið.

  1. Notaðu útgefanlega lykilinn (pk_live_* í framleiðslu, pk_test_* í þróun) í vafranum; notaðu leyndarlykilinn (sk_live_* / sk_test_*) aðeins á netþjóninum. Útgefanlegi lykillinn er öruggur í NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY; leyndarlykillinn má aldrei bera opinbert env-forskeyti og má aldrei birtast í biðlarahluta.
  2. Staðfestu að framleiðsluforritið noti pk_live_*, ekki pk_test_*. Prófunarinstansar leyfa óstaðfest netföng og óvirkt MFA — að senda test-mode í framleiðslu er auth-bypass.
  3. Stilltu leyfða uppruna í Clerk Dashboard. Settings → Domains → Allowed origins verður að lista framleiðslulén þitt nákvæmlega. Tóm eða jokerleyfð uppruna-listar leyfa árásarmönnum að stofna óheiðarleg Clerk-framenda sem tala við bakenda þinn.
  4. Snúðu leyndarlyklinum við hvaða brottför eða grunaðan leka. Dashboard → API Keys → Reset. Gamall lykill er ógiltur; útgefðu netþjónamegin kóða með nýja gildinu áður en snúið er.

Lotustillingar

Lotuútrunninn og aðgerðarleysistímamörk eru munurinn á stolinni lotu sem 10-mínútna atviki og 30-daga atviki.

  1. Stilltu lotu-aðgerðarleysis-tímamörk á 30 mínútur eða minna fyrir SaaS-forrit sem meðhöndla viðkvæm gögn. Dashboard → Sessions → Inactivity timeout. Bankastig-forrit ættu að nota 5-10 mínútur; staðlað SaaS 30-60 mínútur; neytendaforrit 1-7 daga. Sjálfgildi er 7 dagar.
  2. Virkjaðu lotuógildingu við lykilorðabreytingu, netfangabreytingu og MFA-skráningu. Dashboard → Sessions → Revoke on. Þetta eru notendafrumkvæddir öryggisviðburðir; núverandi lotur á öðrum tækjum ætti að drepa.
  3. Staðfestu lotur netþjónamegin á hverri vernduðum slóð, ekki bara við innskráningu. Í Next.js: const { userId } = await auth(); í netþjónshluta / API-slóð les JWT úr kökunni og staðfestir það. Treystu aldrei eingöngu á köku-athugun.
  4. Stilltu SameSite=Lax (sjálfgildi) eða Strict á lotukökunni. Staðfestu í DevTools → Application → Cookies. SameSite=None er CSRF-vektor — notaðu hana aldrei nema þú hafir skýrt stillt krosslénsauðkenningu.

Vefkróks-staðfesting

Clerk-vefkrókar skotast á notendalífsferilsviðburðum (created, updated, deleted, session.ended). Þeir eru samstillingaraðferðin fyrir gagnagrunninn þinn — og fölsuð vefkrókur er gagnagrunnsskrif-frumstig.

  1. Staðfestu Svix-undirskrift á hverri vefkrók. Clerk-vefkrókar eru undirritaðir af Svix. Notaðu new Webhook(secret).verify(body, headers). Hafnaðu með 401 ef staðfesting bregst.
  2. Geymdu vefkróks-leyndina í umhverfisbreytu, aldrei í kóða. Leyndin snýst við hverja Dashboard-endurmyndun — útgáfan þín verður að lesa hana úr env, ekki úr fasta.
  3. Hugfangleiki á hverri meðhöndlun. Vefkróks-afhendingar geta endurtekist. Notaðu svix-id-hausinn sem aðallykil í webhook_events-töflu til að afræpa. Vefðu ástandsbreytingunni og hugfangleika-innsetningunni í sömu færslu.
  4. Á user.deleted, harðeyddu eða nafnleyddu PII innan 24 klukkustunda. GDPR / CCPA krefjast þess. Endurskoðaðu eyðingarslóðina: hvaða töflur halda gögnum þessa notanda? Notaðu FK ON DELETE CASCADE þar sem þú getur.

Samtök og réttindi

Ef þú notar Clerk Organizations, eru org-mörkin þín leigjandareinangrun. Sérhver netþjónamegin fyrirspurn verður að sía eftir þeim.

  1. Á hverri API-slóð, lestu bæði userId og orgId úr auth() og síaðu gagnagrunnsfyrirspurnir eftir báðum. WHERE org_id = $orgId AND user_id = $userId. Treystu aldrei org_id úr beiðnameginhluta.
  2. <strong>Use Clerk role checks for privileged operations, not boolean checks against the user object.</strong> <code>has({ role: 'org:admin' })</code> reads the role from the verified JWT. A user can spoof a boolean on a stale client object; they cannot spoof a JWT claim.
  3. Prófaðu kross-org-einangrun með tveimur raunverulegum org-aðgangum. Stofnaðu Org A, settu inn gögn, skráðu þig í Org B í öðrum vafra, reyndu að lesa gögn Org A í gegnum API. Svar verður að vera 403 eða 404.

JWT-sniðmát og utanaðkomandi samþættingar

JWT-sniðmát ýta Clerk-auðkenni inn í Supabase, Firebase og aðrar nedstreymisþjónustur. Rangstillt sniðmát ofdeila fullyrðingum eða opna gögn sem þú meintir ekki.

  1. Fyrir hvert JWT-sniðmát, listaðu hverja fullyrðingu og staðfestu að hún sé nauðsynleg. Dashboard → JWT Templates. Sniðmát sem sendir email og phone í Supabase opnar PII fyrir hvern sem les JWT í vafranum.
  2. Stilltu stuttan útrunna á JWT-sniðmát sem notuð eru fyrir biðlaramegin nedstreymisköll. 60 sekúndur fyrir nedstreymis-API-beiðnir er staðallinn. Langlífari JWT eru stolin og endurspilun.
  3. Staðfestu áheyrendafullyrðingu (aud) á móttökuhliðinni. Supabase, Firebase, o.s.frv. ættu að athuga að aud passi við væntanlegt þjónustueinkenni. Án þessa getur JWT gefið út fyrir þjónustu A auðkennt í þjónustu B.

Rekstrarvöktun

Auth er hæst-merkjandi skráarheimild sem þú hefur. Fylgstu með henni.

  1. Aðvara um topp í misheppnaðri innskráningu á hverja IP-tölu / aðgang. 50× venjuleg bilunartíðni er skilríkjafyllingarárás. Clerk gefur þessa viðburði út á vefkróka; beindu þeim í SIEM þinn.
  2. Ársfjórðungsleg endurskoðun á reki lotu- og instansstillinga. Sjálfgildi breytast eftir því sem Clerk uppfærist; "gamlar stillingar" verða þegjandi rangar með tímanum. Mismunaðu Dashboard JSON-útflutningi á móti síðasta þekkta-góða afriti.

Næstu skref

Keyrðu FixVibe-skönnun gegn framleiðslu-URL þínum — baas.clerk-auth0-athugunin merkir Clerk-útgefanlega lykla, prófunarlykla í framleiðslu og innknúna leyndarlykla. Fyrir samsvarandi gátlista á Auth0, sjáðu Auth0 öryggisgátlisti. Fyrir regnhlífaryfirlit yfir BaaS-veitur, lestu BaaS-rangstillingaskanni.

// skannaðu baas-yfirborð þitt

Finndu opnu töfluna áður en einhver annar gerir það.

Settu inn framleiðslu-URL. FixVibe telur upp BaaS-veiturnar sem forritið þitt talar við, fingrafarir opnu endapunktana þeirra og tilkynnir hvað ókennt biðlari getur lesið eða skrifað. Ókeypis, engin uppsetning, ekkert kort.

  • Ókeypis stig — 3 skannanir/mánuð, ekkert kort við skráningu.
  • Hlutlaus BaaS-fingrafararakning — engin lénsstaðfesting þörf.
  • Supabase, Firebase, Clerk, Auth0, Appwrite og fleiri.
  • AI-lagfæringarspurningar á hverri niðurstöðu — límdu aftur í Cursor / Claude Code.
Keyrðu ókeypis BaaS-skönnun

engin skráning krafist

Clerk öryggisgátlisti: 20 atriði — Docs · FixVibe