FixVibe

// docs / baas security / clerk hardening

Rhestr wirio diogelwch Clerk: 20 eitem

Mae Clerk yn ymdrin â auth, sesiynau, a sefydliadau ar gyfer dy ap — sy'n golygu bod integreiddiad Clerk wedi'i cham-gyflunio yn osgoad auth, fector sefydlogi sesiwn, neu lwybr gollwng org. Mae'r rhestr wirio hon yn archwiliad 20 eitem ar draws allweddi, cyfluniad sesiwn, webhooks, sefydliadau, templedi JWT, a monitro parhaus. Mae offer codio AI yn gwifrio Clerk yn gyflym gyda diofyn synhwyrol; mae'r rhestr hon yn dal yr eitemau y maent yn eu gadael ar y bwrdd.

Am gefndir ar pam mae cam-gyfluniadau haen auth yn fan gwan offer AI, gweler Pam mae offer codio AI yn gadael bylchau diogelwch. Am y rhestr wirio gyfochrog ar Auth0, gweler Rhestr wirio diogelwch Auth0.

Allweddi amgylchedd a rhestr ganiatáu tarddiad

Mae Clerk yn cyhoeddi dwy allwedd benodol fesul prosiect. Mae eu cymysgu neu eu gollwng yw'r modd methiant cyntaf.

  1. Defnyddia'r allwedd gyhoeddadwy (pk_live_* mewn cynhyrchu, pk_test_* mewn datblygu) yn y porwr; defnyddia'r allwedd gyfrinachol (sk_live_* / sk_test_*) ar y gweinydd yn unig. Mae'r allwedd gyhoeddadwy'n ddiogel yn NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY; ni ddylai'r allwedd gyfrinachol byth gario rhagddodiad env cyhoeddus ac ni ddylai byth ymddangos mewn cydran cleient.
  2. Dilysa fod yr ap cynhyrchu'n defnyddio pk_live_*, nid pk_test_*. Mae enghreifftiau prawf yn caniatáu cyfeiriadau e-bost heb eu dilysu a MFA wedi'i analluogi — mae llongio modd prawf i gynhyrchu yn osgoi auth.
  3. Cyfluniaa'r tarddiadau a ganiateir ym Bwrdd Gwaith Clerk. Rhaid i Settings → Domains → Allowed origins restru dy barth cynhyrchu yn union. Mae rhestrau tarddiad gwag neu gardiau gwyllt yn gadael i ymosodwyr greu blaenau Clerk rogue sy'n siarad â dy gefn.
  4. Cylchdroa'r allwedd gyfrinachol ar unrhyw adael neu gollyngiad amheus. Bwrdd Gwaith → API Keys → Reset. Mae'r hen allwedd wedi'i annilysu; ailddefnyddio cod ochr-gwasanaeth gyda'r gwerth newydd cyn cylchdroi.

Cyfluniad sesiwn

Mae dod i ben sesiwn ac amserau segur yw'r gwahaniaeth rhwng sesiwn a ddwynwyd yn ddigwyddiad 10-munud ac un 30-diwrnod.

  1. Gosod amser segurdod sesiwn i 30 munud neu lai ar gyfer apiau SaaS sy'n ymdrin â data sensitif. Bwrdd Gwaith → Sessions → Inactivity timeout. Dylai apiau lefel banc ddefnyddio 5-10 munud; SaaS safonol 30-60 munud; apiau defnyddwyr 1-7 diwrnod. Mae'r diofyn yn 7 diwrnod.
  2. Galluoga ddirymu sesiwn ar newid cyfrinair, newid e-bost, ac ymrestru MFA. Bwrdd Gwaith → Sessions → Revoke on. Mae'r rhain yn ddigwyddiadau diogelwch a gychwynnir gan y defnyddiwr; dylai sesiynau presennol ar ddyfeisiau eraill gael eu lladd.
  3. Dilysa sesiynau ochr-gwasanaeth ar bob llwybr a ddiogelir, nid dim ond ar gofrestriad. Yn Next.js: const { userId } = await auth(); mewn cydran weinydd / llwybr API yn darllen y JWT o'r cwci ac yn ei ddilysu. Byth ymddiried mewn gwiriad cwci-yn-unig.
  4. Gosod SameSite=Lax (diofyn) neu Strict ar y cwci sesiwn. Dilysa yn DevTools → Application → Cookies. Mae SameSite=None yn fector CSRF — byth defnyddia oni bai dy fod wedi cyfluniad gosodiad auth traws-barth yn benodol.

Dilysu webhook

Mae webhooks Clerk yn tanio ar ddigwyddiadau cylch bywyd defnyddiwr (created, updated, deleted, session.ended). Hwy yw'r mecanwaith cydamseru ar gyfer dy gronfa ddata — ac mae webhook wedi'i ffugio'n cyntefig ysgrifennu cronfa ddata.

  1. Dilysa'r llofnod Svix ar bob webhook. Mae webhooks Clerk wedi'u llofnodi gan Svix. Defnyddia new Webhook(secret).verify(body, headers). Gwrthod gyda 401 os bydd dilysu'n methu.
  2. Storia'r gyfrinach webhook mewn newidyn amgylchedd, byth mewn cod. Mae'r gyfrinach yn cylchdroi ar bob aildaliad o'r Bwrdd Gwaith — rhaid i'th leoliad ei darllen o env, nid o gysonyn.
  3. Idempotency ar bob trinwr. Gall danfoniadau webhook ailadrodd. Defnyddia'r pennawd svix-id fel prif allwedd mewn tabl webhook_events i ddyblygu. Lapia'r newid cyflwr a'r mewnosod idempotency yn yr un trafodyn.
  4. Ar user.deleted, dileu'n galed neu anhysbysu PII o fewn 24 awr. Mae GDPR / CCPA yn ei gwneud yn ofynnol. Archwilia'r llwybr dileu: pa dablau sy'n dal data'r defnyddiwr hwn? Defnyddia FK ON DELETE CASCADE lle y gelli.

Sefydliadau a chaniatâd

Os defnyddi Sefydliadau Clerk, ffin yr org yw dy ynysu denantiad. Rhaid i bob ymholiad ochr-gwasanaeth hidlo ganddo.

  1. Ar bob llwybr API, darllena'r ddau userId ac orgId o auth() a hidla ymholiadau cronfa ddata gan y ddau. WHERE org_id = $orgId AND user_id = $userId. Byth ymddiried mewn org_id o gorff y cais.
  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. Profa ynysu traws-org gyda dau gyfrif org gwirioneddol. Crea Org A, poblogeiddio data, cofrestra i Org B mewn porwr arall, ceisia ddarllen data Org A trwy'r API. Rhaid i'r ymateb fod yn 403 neu 404.

Templedi JWT ac integreiddiadau allanol

Mae templedi JWT yn gwthio hunaniaeth Clerk i mewn i Supabase, Firebase, a gwasanaethau is-i-lawr eraill. Mae templedi wedi'u cam-gyflunio'n rhannu hawliadau gormod neu'n datgelu data nad oeddet yn bwriadu ei ddatgelu.

  1. Ar gyfer pob templed JWT, rhestra bob hawliad a chadarnha ei fod yn angenrheidiol. Bwrdd Gwaith → JWT Templates. Mae templed sy'n llongio email a phone i Supabase yn datgelu PII i unrhyw un sy'n darllen y JWT yn y porwr.
  2. Gosod dyddiad dod i ben byr ar dempledi JWT a ddefnyddir ar gyfer galwadau is-i-lawr ochr-cleient. Mae 60 eiliad ar gyfer ceisiadau API is-i-lawr yn safon. Mae JWTs hir-fywyd yn cael eu dwyn a'u hailchwarae.
  3. Dilysa'r hawliad cynulleidfa (aud) ar yr ochr dderbyn. Dylai Supabase, Firebase, ac ati wirio bod aud yn cyfateb i'r dynodydd gwasanaeth disgwyliedig. Heb hyn, gall JWT a gyhoeddwyd ar gyfer gwasanaeth A ddilysu i wasanaeth B.

Monitro gweithredol

Auth yw'r ffynhonnell log signal-uchaf sydd gennyt. Gwylia hi.

  1. Rhybudd ar sbeiciau methu mewngofnodi fesul IP / fesul cyfrif. Mae cyfradd methiant 50× arferol yn ymosodiad stwffio tystysgrif. Mae Clerk yn allbynnu'r digwyddiadau hyn i webhooks; eu llwybr i'th SIEM.
  2. Adolygiad chwarterol o ddrifft gosodiadau sesiwn a chyflwr. Mae diofyn yn newid wrth i Clerk ddiweddaru; mae "hen gyfluniadau" yn dod yn anghywir yn dawel dros amser. Diff allforio JSON y Bwrdd Gwaith yn erbyn dy gopi olaf-hysbys-da.

Camau nesaf

Rheda sgan FixVibe yn erbyn dy URL cynhyrchu — mae'r gwiriad baas.clerk-auth0 yn fflagio allweddi cyhoeddadwy Clerk, allweddi prawf mewn cynhyrchu, ac allweddi cyfrinachol wedi'u bwndelu. Am y rhestr wirio gyfwerth ar Auth0, gweler Rhestr wirio diogelwch Auth0. Am yr olwg ymbarél ar draws darparwyr BaaS, darllena Sganiwr cam-gyfluniad BaaS.

// sganio dy wyneb baas

Canfod y tabl agored cyn i rywun arall wneud.

Gollwng URL cynhyrchu i mewn. Mae FixVibe yn rhifo'r darparwyr BaaS y mae dy ap yn siarad â hwy, yn olrhain eu pwyntiau terfyn cyhoeddus, ac yn adrodd ar yr hyn y gall cleient heb ei ddilysu ei ddarllen neu ei ysgrifennu. Am ddim, dim gosod, dim cerdyn.

  • Haen am ddim — 3 sgan / mis, dim cerdyn cofrestru.
  • Olrhain BaaS goddefol — dim angen dilysu parth.
  • Supabase, Firebase, Clerk, Auth0, Appwrite, a mwy.
  • Awgrymiadau trwsio AI ar bob canfyddiad — gludo'n ôl i Cursor / Claude Code.
Rhedeg sgan BaaS am ddim

dim angen cofrestru

Rhestr wirio diogelwch Clerk: 20 eitem — Docs · FixVibe