Diogelwch yn qub

Dyddiad effeithiol: 23 Medi 2026 Fersiwn: 1.1 — adolygiad cywirdeb gweithredu


I ymchwilwyr — cyfeirlyfr cyflym:

Mae manylion llawn yn §12 (Datgeliad Cydlynol).


Pwy Ydym Ni

Mae qub.social yn cael ei weithredu gan VSPRY AUSTRALIA PTY LIMITED (ABN 41 631 026 330), Level 38, 71 Eagle Street, Brisbane QLD 4000, Awstralia. Mae cyfeiriadau at "qub", "ni", ac "ein" yn golygu'r endid hwnnw.

Cyswllt diogelwch: support@qub.social gyda'r rhagddodiad pwnc [SECURITY].


1. Ein Hagwedd

Seilwaith ymddiriedaeth yw qub. Mae'r cynnyrch yn ddi-werth os nad yw'n ddiogel, felly nid yw diogelwch yn nodwedd — y sylwedd ydyw. Mae'r dudalen hon yn disgrifio, yn nhermau diriaethol, sut rydym yn diogelu ein stac, eich data, ac uniondeb cynnwys wedi'i selio.

Mae gwerth ymrwymiad amserol dilysadwy yn tyfu wrth i fwy o’r rhyngrwyd gael ei gynhyrchu gan beiriannau. Gall trafodiad storfa neu angor log tryloywder wedi’i ddilysu sefydlu bod seiferdestun yn bodoli heb fod yn hwyrach nag amser ei floc; mae’r arteffact seliedig ar wahân yn profi uniondeb y cynnwys, rhwymo rownd drand, ac unrhyw lofnodion awduriaeth. Cadw’r honiadau hynny ar wahân yw’r bar ar gyfer y dudalen hon.

Nid ydym yn gofyn i chi ymddiried ynom. Rydym yn dylunio felly bod yr ymddiriedaeth sy'n ofynnol ohonom mor fach â phosib, a lle mae ymddiriedaeth yn ofynnol rydym yn esbonio'n union beth sy'n cael ei ymddiried a pham.

Mae tair egwyddor yn gyrru pob penderfyniad dylunio:


2. Model Bygythiad

2.1 Beth Rydym yn Amddiffyn yn ei Erbyn

2.2 Beth Na Allwn Amddiffyn yn ei Erbyn

Rydym yn onest am ein cyfyngiadau. Ni all qub amddiffyn yn erbyn:


3. Cryptograffeg Ochr-Cleient

Yn llif negeseuon diofyn y porwr, mae amgryptio’r cynnwys yn digwydd cyn y cais uwchlwytho. Mae dau lwybr penodol yn wahanol: mae Builder /api/v1/seal yn anfon testun plaen a K a gynhyrchwyd gan y galwr i’r Worker yn fwriadol ar gyfer selio yn y cof, ac mae llwyfannu/cyd-arwyddo cytundeb yn anfon y cytundeb strwythuredig wedi’i lofnodi i’r gwasanaeth er mwyn cwblhau’r arteffact dwyochrog. Ni ddylid camgymryd y naill eithriad na’r llall am amgryptio pen-i-ben llwybr y porwr.

3.1 Amgryptio Amser-Clo

Mae qub yn defnyddio tlock — amgryptio sail-hunaniaeth wedi'i allweddu i rownd golau drand yn y dyfodol. Mae amgryptio'n parhau yn eich porwr gan ddefnyddio allwedd gyhoeddus rhwydwaith drand; cyhoeddir yr allwedd dadgryptio'n gyhoeddus gan rwydwaith drand dim ond pan gyrhaeddir y rownd targed. Ni all neb, gan gynnwys ni, ail-adeiladu'r allwedd dadgryptio o flaen llaw.

Rydym yn targedu'r gadwyn quicknet:

Mae allwedd gyhoeddus ac amser genesis cadwyn quicknet wedi'u crynhoi i'r cleient. Nid ydym yn nôl paramedrau cadwyn ar adeg rhedeg, felly ni all nod maleisus amnewid cadwyn rydym ni'n ei rheoli.

3.2 Amgryptio Cymesur

Mae cynllun tlock yn lapio allwedd cynnwys AES-256-GCM. Mae AES-GCM yn darparu amgryptio dilysedig: mae un did wedi'i fflipio yn y cipertest yn achosi i ddadgryptio fethu, yn hytrach na chynhyrchu testun plaen wedi'i lygru'n dawel.

3.3 Cyfresoliad Canonaidd

Mae strwythurau’r protocol yn cael eu cyfresoli gan ddefnyddio CBOR penderfynol (RFC 8949 §4.2 amgodio penderfynol craidd). Mae dau weithrediad sy’n amgodio’r un strwythur rhesymegol yn cynhyrchu CBOR unfath. Nid yw llwythi seliedig cyflawn yn benderfynol: mae tlock ac amgryptio’r lapiwr allanol yn defnyddio haprwydd ffres. Cyfrifir stwnsh y corff dros feitiau amrwd y corff, tra bo amgodio canonaidd yn gwneud y strwythurau llofnodedig/gwifren yn ddiamwys.

Ysgrifennom yr amgodiwr CBOR â llaw ar gyfer ein gweithrediadau cleient a gweinydd yn hytrach na dibynnu ar lyfrgell cyfresoli generig — y gofyniad yw union-deb, nid ergonomeg, ac mae profion priodwedd yn rhedeg yn y ddau weithrediad i wirio eu bod yn cytuno.

Mae prawf regression yn datgan nad yw'r fformat gwifren canonaidd yn cynnwys unrhyw ddilyniant byte qub-brand y tu hwnt i'r allwedd maes qub_id protocol-cyntefig. Mae'r fformat gwifren yn fwriadol frand-agnostig — gall unrhyw wyliwr cydymffurfiol (ein un ni neu un trydydd parti) rendrio unrhyw qub o storfa parhaol, waeth pa ddyfynnwyd a seliodd. Mae'r prawf yn dripwire sy'n atal newid yn y dyfodol rhag pobi cyfeirnod brand i fytiau yn ddamweiniol y na ellir, unwaith mewn storfa parhaol, eu hailysgrifennu.

3.4 Stwnsio Corff a Uniondeb Cyn-Datgelu

Mae pob llwyth seliedig yn cario stwnsh SHA3-256 o feitiau amrwd ei gorff. Mae’r stwnsh wedi’i rwymo i qub_id ac, pan fydd llofnodi awduriaeth wedi’i alluogi, i fewnbwn llofnod V2. Mae gwyliwr yn ei ailgyfrifo ar ôl dadgryptio ac yn gwrthod unrhyw anghysondeb.

Mae’r dynodydd cynnwys 32-beit qub_id yn cael ei ddeillio o ragddelw 108-beit sy’n cynnwys fersiwn y protocol, math y cynnwys, stampiau amser creu a datgloi, stamp amser canlyniad opsiynol (neu ei sentinêl sero), rownd drand y targed, stwnsh y corff, a SHA3-256 y teitl opsiynol sydd wedi’i normaleiddio i NFC. Ni all porth na CDN newid unrhyw faes rhwymedig yn gyson a dal i basio’r ail-ddeillio. Mae teitlau wedi’u cyfyngu i 100 pwynt cod NFC ac yn cael eu gwrthod os ydynt yn cynnwys y dosbarth cyffredin o bwyntiau cod gelyniaethus/rheoli (gan gynnwys gwrthwneud deugyfeiriadol, nodau lled sero, y bloc tagiau, BOM, C0, C1, a DEL).

3.5 Llofnodi (ML-DSA-65)

Mae llofnodi awduriaeth yn defnyddio ML-DSA-65 (FIPS 204), cynllun llofnod ôl-cwantwm wedi'i safoni gan NIST. Dewisom yn fwriadol gyntefig ôl-cwantwm ar gyfer llofnodi oherwydd bod cynnwys wedi'i selio'n barhaol: rhaid i lofnod sy'n dilysu heddiw barhau i ddilysu degawdau o nawr, gan gynnwys ar ôl i gyfrifiaduron cwantwm graddfa-fawr ddod yn ymarferol.

Mae allweddi llofnodi yn cael eu cynhyrchu yn y porwr. Caiff y gyfrinach leol ei lapio o dan allwedd WebCrypto nad oes modd ei hallforio cyn ei storio yn IndexedDB. Os defnyddir y nodwedd adfer traws-ddyfais ar lefel cyfrif, caiff blob allwedd cludadwy sydd wedi’i amgryptio ag AEAD ei storio ochr-gweinydd; mae seiferdestun ei allwedd gyfrinachol wedi’i rwymo i ID digyfnewid y cyfrif, ac mae’r gwasanaeth yn dilysu’r amlen gyhoeddus ond ni all ddadgryptio’r deunydd cyfrinachol. Nid yw beitiau amrwd yr allwedd breifat yn cael eu hanfon i’r gweinydd. Caiff allweddi cyhoeddus a chofnodion ardystio eu storio ar gyfer dilysu ac arddangos hunaniaeth.

Mae'r un dadgryptio tlock yn-y-porwr yn berthnasol y tu mewn i fewnblaniad qub: pan fydd qub wedi'i selio'n cael ei rendro trwy <qub-embed> ar dudalen trydydd parti, mae dadgryptio'n dal i ddigwydd yn yr iframe mewnblannu ym mhorwr y gwyliwr. Nid yw'r mewnblaniad yn newid y model ymddiriedaeth — nid yw testun plaen byth yn cael ei ddadgryptio ar weinydd qub.

3.6 Priodoli Cyhoeddus — Opsiynol

Nid yw qubs wedi'u selio yn cario pwyntydd ar-gadwyn i'w crëwr oni bai bod y crëwr yn dewis yn benodol atodi un. Pan rydych yn selio qub mae'r ap cyfeiriol yn allyrru tag storfa Author (printbysedd hecsadegol 64-cymeriad o'ch allwedd llofnodi gyhoeddus) dim ond pan fydd "Priodoli cyhoeddus" wedi'i alluogi ar gam dewisydd-dyddiad. Gyda'r toglau i ffwrdd — y diofyn — nid oes tag Author yn cael ei ysgrifennu ac mae'r qub yn an-briodol mewn storfa parhaol: nid oes dim mewn storfa yn cysylltu'r uwchlwytho â'ch handlen, eich e-bost, na'ch qubs eraill. Gyda'r toglau ymlaen, mae'r printbysedd yn datrys i'ch @handle trwy'r gadwyn ardystiad yn §6.3 / §10 ac mae'r cyfrif i lawr gwyliwr yn dangos "Wedi'i selio gan @{handle}" cyn datgelu.

Mae hwn yn warchodydd bwriadol yn erbyn y risg rhifo y byddai tag Author bob-amser-ymlaen yn ei greu: gallai trydydd parti sy'n dysgu printbysedd crëwr fel arall chwilio storfa parhaol gan y tag ac ail-adeiladu cynnyrch hanesyddol llawn y crëwr hwnnw. Mae priodoli opsiynol yn cau'r sianel honno — dim ond qubs y mae'r crëwr yn dewis eu priodoli yn benodol sy'n ymddangos o dan printbysedd mewn storfa parhaol.

Mae tudalen broffil /u/{handle} yn gerdyn-hunaniaeth wedi'i ddilysu — handlen, enw arddangos opsiynol + URL, pilsen "e-bost wedi'i ddilysu" (dim cyfeiriad), a ffurf fer y printbysedd cryptograffig. Nid yw'n rhestru qubs crëwr. Mae ymwelwyr sy'n dymuno gweld qub penodol gan grëwr yn dilyn URL rhannu'r qub hwnnw'n uniongyrchol.

3.7 Lapiwr Amgryptio Allanol

Hyd yn oed ar ôl i ddadgryptio amser-clo ddod yn fathemategol bosibl—pan fydd llofnod drand y rownd rwymedig wedi’i gyhoeddi—byddai’r haen amser-clo canonaidd ar ei phen ei hun yn gadael i fynegeiwr swmp-ddadgryptio qubs y gellir eu darganfod. Mae trosglwyddo preifat yn cau’r sianel honno gyda haen gymesur ychwanegol o amgylch y beitiau wedi’u hamgryptio gan tlock (Protocol §13). Mae trosglwyddo cyhoeddus yn hepgor y lapiwr yn fwriadol fel y gall dolenni hysbysu, mewnblannu a darganfod weithio heb ddarn cyfrinachol.

Mae'r lapiwr yn defnyddio AES-256-GCM, seiffr dilysedig wedi'i safoni gan NIST, gydag allwedd 256-did ffres K a gynhyrchir fesul qub gan CSPRNG eich porwr. Mae K wedi'i rwymo i qub_id y qub fel data ychwanegol dilysedig, felly ni ellir ailddefnyddio allwedd o un qub i ddadgryptio qub gwahanol.

Nid yw K byth yn cyrraedd ein gweinyddion yn llif porwr preifat diofyn. Mae wedi’i amgodio yn narn URL y ddolen rannu (https://qub.social/c/<tx_id>#<base64url(K)>). Nid yw porwyr yn trosglwyddo darnau URL i weinyddion—mae RFC 3986 yn gosod y darn y tu allan i’r cais—felly mae qub.social, pyrth storfa, CDNs, a monitro ceisiadau yn ddall i K yn y llif hwnnw. Mae'r OuterWrapper sydd wedi'i storio yn CBOR strwythuredig adnabyddadwy, ond mae ei faes seiferdestun dilysedig yn cuddio strwythur mewnol SealedQub ac ni ellir ei agor heb K.

Canlyniadau net:

Mae diweddbwynt /api/v1/seal ochr-gweinydd y Worker (a ddefnyddir gan asiantau AI a galwyr API eraill) yn mynnu bod y galwr yn cynhyrchu K â CSPRNG, yn ei chadw'n lleol, ac yn ei chyflenwi fel wrapper_key_b64url. Mae'r Worker o reidrwydd yn gweld testun plaen a K fel ei gilydd yn y cof ar y llwybr hwn a ymddirir ynddo'n benodol, ond nid yw'n storio'r naill na'r llall. Mae Idempotency-Key gorfodol yn atal ymateb coll rhag creu ail qub a godir tâl amdano, tra gellir cyfuno'r K a gadwyd gan y galwr â'r URL heb-ffragment a ailchwaraeir. Mae hyn yn wahanol i'r llwybr porwr rhagosodedig, lle nad yw K byth yn cyrraedd y Worker oni bai bod y crëwr yn galluogi adferiad yn benodol.


4. Cludiant ac Ymyl

4.1 TLS

Mae traffig porwr i qub yn cael ei weini dros HTTPS ar ymyl Cloudflare. Mae ymatebion yn gosod HTTP Strict Transport Security (max-age=63072000; includeSubDomains; preload). Mae’r union fersiwn TLS a’r gyfres seiffr a negodir yn cael eu llywodraethu gan ffurfweddiad gweithredol yr ymyl yn hytrach na’u honni gan god y rhaglen. Nid ydym yn datgelu gweinydd tarddiad y gellir ei gyrraedd ar wahân.

4.2 Diogelwch Cynnwys

Mae'r cleient wedi'i grynhoi'n cael ei weini gyda phenawdau math-cynnwys a chache llym. Mae cragen yr SPA yn darddiad sengl. Nid ydym yn mewnblannu sgriptiau trydydd parti ar gyfer dadansoddeg neu hysbysebu. Mae'r ddau bwynt cyswllt trydydd parti yn y cynnyrch yn gyfyngedig yn gul: mae'r llif pryniant yn gadael yr SPA yn gyfan gwbl gydag ailgyfeiriad tudalen-llawn at brynu sy'n cael ei gynnal gan Stripe (https://checkout.stripe.com/…) — nid yw UI Stripe byth yn gweithredu yn ein tarddiad ac nid ydym byth yn gweld data cerdyn — ac mae'r llif seliad yn llwytho widget Turnstile Cloudflare, dewis CAPTCHA preifatrwydd-cadw y mae Cloudflare yn ei rendro y tu mewn i'w iframe blwch-tywod ei hun. Ni all y naill na'r llall ddarllen gweddill y dudalen.

Mae iframe mewnblannu qub (wedi’i weini o qub.social/embed/{tx_id} ac wedi’i lwytho i safleoedd trydydd parti gan embed.js) yn cario ei Bolisi Diogelwch Cynnwys ei hun. Ei restr ganiatáu connect-src yw 'self', https://qub.social, https://arweave.net, https://ar-io.dev, https://permagate.io, https://api.drand.sh, a https://drand.cloudflare.com. Mae’r iframe yn rhedeg gyda sandbox="allow-scripts allow-top-navigation-by-user-activation" (nid allow-same-origin): ni all y dudalen gynnal ddarllen ei DOM, ac ni all lywio’r gwesteiwr ac eithrio ar ôl gweithred gan y defnyddiwr.

4.3 CORS a Chwmpas Nôl

Mae'r cleient porwr yn gwneud ceisiadau nôl dim ond i:

Mae cyrchfannau’r mewnblaniad yn cael eu gorfodi gan ei CSP. Mae cyrchfannau bwriadedig y prif SPA wedi’u gosod mewn cod a ffurfweddiad ac yn cael eu harfer gan wiriadau porwr ac integreiddio; nid rheolaeth ar gyrchfan rhwydwaith yw Subresource Integrity.

Mae’r mewnblaniad yn nôl beitiau wedi’u storio drwy’r tarddiadau qub/storfa ar y rhestr ganiatáu, yn dadlapio llwythi preifat yn y porwr gan ddefnyddio K o’i ddarn URL, ac yn nôl llofnodion rownd amser datgelu o’r ddau darddiad drand a ganiateir. Mae’r prif SPA yn defnyddio’r set wrth gefn o bedwar diweddbwynt yn config/drand-endpoints.json (drand.cloudflare.com, api.drand.sh, api2.drand.sh, ac api3.drand.sh) fel nad yw toriad un diweddbwynt yn rhwystro datgelu. Mae CSP y mewnblaniad yn gwahardd cysylltiadau y tu allan i’w restr benodol.


5. Seilwaith Ochr-Gweinydd

5.1 Ymyl Heb-Weinydd

Mae ein API yn rhedeg yn gyfan gwbl ar amser rhedeg heb-weinydd wedi'i reoli ar yr ymyl. Nid oes VMs, dim conteinerau, a dim prosesau gweinydd parhaol rydym yn eu gweinyddu. Mae hyn yn lleihau'r arwyneb ymosod rydym yn gyfrifol amdano'n ddramatig: nid ydym yn rhedeg OS, gweinydd gwe, neu amser rhedeg cymhwysiad y mae'n rhaid i ni ei batsio.

Mae middleware CORS-cyhoeddus ar wahân yn cael ei gymhwyso Access-Control-Allow-Origin: * i'r llwybr a weithredir canlynol a osodwyd: /embed.js, /embed/v1.js, popeth o dan /embed/; /api/v1/telemetry; /api/v1/openapi.json; popeth o dan /api/v1/qub/ (gan gynnwys beitiau, metadata, prawf, ymgysylltu, hysbysu, a is-feysydd push); popeth o dan /api/v1/log/; trin chwilio cyhoeddus o dan /api/v1/handle/; ac mae avatâr cyhoeddus yn darllen o dan /api/v1/identity/avatar/. Mae ganddo ganiatâd preflight GET, POST, a OPTIONS gyda'r Content-Type penawd cais. Mae'r wyneb hwn sy'n seiliedig ar ragddodiad yn ehangach na'r galwadau y mae'r mewnosodiad yn eu gwneud ar hyn o bryd, felly mae'n rhaid i bob trinwr isod y rhagddodiadau hynny barhau i orfodi ei ddilysu ei hun, dilysu, terfynau cyfradd, a rheolaethau camddefnyddio. Mae llwybrau API eraill yn cadw polisi CORS cyfyngedig qub.social.

5.2 Storfa

Nid yw llif negeseuon diofyn y porwr yn cadw testun plaen ar seilwaith qub. Mae Builder /api/v1/seal yn trin testun plaen a K yn y cof ond nid yw’n cadw’r naill na’r llall. Mae llwyfannu cytundeb o reidrwydd yn storio’r cytundeb strwythuredig wedi’i lofnodi nes ei gyd-arwyddo, ei dynnu’n ôl, neu iddo ddod i ben. Mae adferiad dewisol yn storio gallu trosglwyddo (y ddolen lawn sy’n cynnwys darn) fel y gellir ei adfer yn ddiweddarach. Felly nid ydym yn disgrifio’r haen storfa gyfan fel “metadata yn unig”.

5.3 Cyfrinachau

Mae cyfrinachau (waledi llofnodi, tocynnau darparwyr, ac allweddi HMAC) yn cael eu cyflenwi drwy rwymiadau cyfrinach/amgylchedd y platfform yn hytrach na rheolaeth ffynhonnell. Dim ond y rhwymiadau sydd eu hangen arnynt y mae cydrannau amser rhedeg yn eu derbyn. Mae gweithdrefnau cylchdroi a gorgyffwrdd yn benodol i’r gydran; nid ydym yn honni bod un mecanwaith cylchdroi cyffredinol, awtomatig neu wedi’i archwilio.

5.4 Logio a Telemetreg

Mae logiau JSON strwythuredig yn cael eu hysgrifennu ar bob cais API gydag ID gohebiaeth yn cael ei arwynebu yn y pennawd ymateb X-Request-Id. Mae telemetreg cleient yn anhysbys — dim dynodydd dyfais, dim cyfeiriad IP, dim rhagolwg cynnwys. Mae digwyddiadau'n cael eu byffro mewn cof ac yn cael eu fflwsho ar sail ymdrech-orau; mae fflws wedi'i fethu'n cael ei daflu, nid ei ailgynnig. Mae telemetreg wedi'i ddylunio i fod yn analluogadwy yn yr haen rwydwaith heb effeithio ar y cynnyrch.


6. Dilysiad

6.1 Mewngofnodi Dolen-Hud

Mae mewngofnodi’n defnyddio tocyn untro wedi’i lofnodi ag HMAC a gyflwynir i’ch blwch e-bost. Mae’r ddolen yn ddilys am 15 munud ac mae ei hadbrynu’n cael ei hawlio’n atomig fel bod defnydd cydamserol neu wedi’i ailchwarae yn methu’n gaeedig. Ar lwyddiant, mae’r porwr yn derbyn cwci anhryloyw __Host-qub_session gyda’r priodoleddau Secure, HttpOnly, SameSite=Strict, a Path=/.

Mae gan sesiynau derfyn segur 30 diwrnod a therfyn absoliwt 90 diwrnod, maent yn cylchdroi ar ôl 24 awr, a dim ond y genhedlaeth flaenorol uniongyrchol y maent yn ei derbyn am gyfnod gras ymateb-coll o 120 eiliad. Mae newidiadau sensitif i gyfrifon yn gofyn am ddilysu o fewn y 10 munud blaenorol. Rhwymiad platfform yw’r gyfrinach llofnodi HMAC; nid yw darllen metadata yn unig ynddo’i hun yn bathu tocyn dilys.

6.2 Allweddi API (Haen Datblygwr)

Mae allweddi API datblygwr yn defnyddio'r rhagddodiad qub_sk_ i'w hadnabod a'i grepio'n hawdd. Mae pob allwedd:

Mae diweddbwyntiau rheoli-allwedd-gweinyddol wedi'u gatio y tu ôl i gymhwyster gweinyddwr ar wahân.

6.3 Ardystiad E-bost (Llofnodi Awduriaeth)

Mae rhwymo cyfeiriad e-bost i allwedd llofnodi'n gofyn am:

  1. Meddiant o'r allwedd llofnodi breifat (rydych yn llofnodi her)
  2. Meddiant o'r blwch e-bost (rydych yn rhoi cod 6-digid a gyflwynir gan e-bost)

Mae'r naill yn unig yn annigonol. Mae diddymu'n gofnod wedi'i lofnodi ar eich cyfrif eich hun ac mae'n cymryd effaith yn syth; mae gwylwyr sy'n nôl yr ardystiad yn gweld y cyflwr wedi'i ddiddymu ac yn arddangos yn unol â hynny.


7. Taliadau

Mae cofnodi a phrosesu cardiau yn digwydd y tu mewn i’r llif talu a gynhelir gan Stripe. Nid ydym byth yn derbyn rhifau cardiau, dyddiadau dod i ben, na CVCs. Rydym yn storio dynodwyr cwsmeriaid a thanysgrifiadau Stripe, cyflwr tanysgrifiad, a data cyfnod ar gofnodion hawliau/allweddi API er mwyn cysoni mynediad, adnewyddu, mesur, canslo, ac ad-daliadau. Mae datganiadau preifatrwydd a diogelwch Stripe yn llywodraethu sut mae’n trin data talu.

Mae'r diweddbwynt seliad yn croesgwirio'r cofnod hawl yn erbyn y dynodydd dyfais ac, ar gyfer defnyddwyr wedi'u mewngofnodi, yn erbyn yr hunaniaeth gysylltiedig. Ni ellir ailddefnyddio hawl ar draws dyfeisiau heb i'r defnyddiwr ei adfer yn benodol trwy fewngofnodi dolen-hud.


8. Gwrthsefyll Camddefnydd

8.1 Canfod Bot

Mae'r llif seliad wedi'i gatio gan ddewis CAPTCHA preifatrwydd-cadw nad yw'n defnyddio cwcis ar gyfer olrhain ac nad yw'n printbysedd ar gyfer hysbysebu. Mae her wedi'i methu'n cael ei gwrthod gan ein Worker ymyl cyn unrhyw brosesu ochr-seliad yn digwydd.

8.2 Cyfyngu Cyfradd

Mae terfynau cyfradd yn cael eu gorfodi ar sawl haen:

Mae cownteri a hawliadau atomig wedi’u dosbarthu ar draws KV, Durable Objects, a rhwymiadau terfyn cyfradd y platfform yn ôl anghenion cysondeb y diweddbwynt. Mae ceisiadau sydd wedi’u cyfyngu gan gyfradd yn dychwelyd 429; mae diweddbwyntiau sy’n gallu cyfrifo ffenestr ailgynnig yn cynnwys Retry-After.

8.3 Cymedroli Cynnwys

Ni all y llwybr lwytho porwr diofyn sganio'r corff: mae'n derbyn dim ond y cerflun wedi'i sêl gan y cleient. Y Builder /api/v1/seal mae'r llwybr yn gweld testun lliwgar dros dro, ac mae camu cytundeb yn dal termau strwythuredig tan y gorffen, ond nid yw'r eithriadau ymddiriedaeth hynny yn troi'r llwybr uwchraddio cyffredinol sy'n ddi-gylch yn sganwr cynnwys. Mae gweithrediad canolbwyntio yn rhestr wrthod ar haen y gwylwr: mae qub sydd wedi ei wahardd yn cael ei wrthod gan ein gwylwr pa bynnag a yw'r llwyth a storwyd yn aros yn hygyrch ai peidio. Nid yw gwahardd yn tynnu'n ôl byts para, cofnodion log tryloywder, na data rhwydwaith parhaol sydd eisoes wedi'u cyhoeddi.

Mae adroddiadau camddefnydd yn gyfradd-gyfyngedig gan ddefnyddio stwnsh un-ffordd o IP yr adroddwr; nid ydym yn storio IPau yn glir at y diben hwn.


9. Cadwyn Gyflenwi a Uniondeb Adeiladu

9.1 Pinio'r Cadwyn Offer

Mae fersiynau y crynhoydd a’r amser rhedeg wedi’u pinio yn ffurfweddiad y storfa, ac mae dibyniaethau’n cael eu datrys drwy ffeiliau clo wedi’u hymrwymo. Mae CI yn gwirio bod ffeiliau a gynhyrchir yn gyfredol ac annewidynnau sy’n sensitif i atgynyrchioldeb. Nid ydym yn gwneud yr honiad cryfach bod pob adeiladwaith glân yn unfath feit-am-beit ar draws pob peiriant a gefnogir.

9.2 Plaen a Dadansoddi Statig

Mae'r gweithfan yn galluogi ein grwpiau plaen llymaf ar lefel deny. Mae CI yn trin pob rhybudd — gan gynnwys rhybuddion dolen-dogfen — fel methiant adeiladu. Mae hyn yn fwriadol: rydym yn defnyddio llymder y plaen fel tripwire ar gyfer regressionau cynnil.

9.3 Gatiau CI

Mae llif gwaith CI yn cwmpasu fformatio a lints llym; profion Rust, WASM/porwr, Worker, mewnblaniad, ac API; gwirio mathau; cwmpas cod; gwiriadau mwtaniad/annewidynnau; dadansoddiad statig o ddibyniaethau a llifoedd gwaith; gwiriadau allweddi, cwmpas, drifft, a phwyntiau cod gelyniaethus i18n; cyfredoldeb dogfennau/API/sylfaen wybodaeth a gynhyrchir; rhestr dogfennau a gwiriadau dolenni mewnol; cyllidebau taflen arddull a bwndel; a dilysu OpenAPI. Mae rhai tasgau mwtaniad drud wedi’u hamserlennu yn hytrach na’u rhedeg ar bob gwthiad.

Mae un crynodeb ci gofynnol yn aros yn goch os bydd unrhyw dasg ofynnol yn methu. Mae llifoedd gwaith cangen warchodedig a gosod yn defnyddio’r canlyniad hwnnw yn hytrach na dyblygu gât diogelwch lai.

9.4 Profion Mwtaniad

Mae swydd wythnosol yn rhedeg profion mwtaniad yn erbyn y modiwlau pur diogelwch-feirniadol: stwnsio, CBOR canonaidd, seliad, datgloi, newydd-fathau'r fformat gwifren, dilyswyr math protocol, a gofod-enw'r handlen. Mae profion mwtaniad yn ateb "a yw ein suite prawf yn dal cod gwallus mewn ffordd gynnil?" — os yw gweithrediad wedi'i fwtanio yn dal i basio pob prawf, rydym yn gwybod bod gennym fwlch gorchuddio prawf ac yn ei drin.

9.5 Bachynau Git

Mae bachynau lleol (pre-commit, pre-push) yn drychu'r gatiau CI fel bod regressionau'n cael eu dal cyn iddynt adael peiriant y datblygwr. Mae bachynau'n cael eu gosod trwy sgript repo; nid ydynt yn cael eu bypassio yn ein llif gwaith ac mae'r CI yn y gât awdurdodol os ydynt yn cael eu hepgor.


10. Profi

Mae cod diogelwch-feirniadol yn cario tri math o brofion:


11. Hylendid Cangen a Rhyddhau

Dim ond drwy gais tynnu Gate 1 y mae canghennau nodwedd yn symud staging ymlaen: ci gofynnol yn wyrdd, dim cais newid heb ei ddatrys, dim gwrthdaro uno, a choeden lân wedi’i hadolygu; caiff yr uno ei wasgu a’r gangen ei dileu. Dim ond drwy gais tynnu Gate 2 staging → main y mae main yn symud ymlaen, gan gadw llinach gyda chofnod uno. Nid gwthiadau uniongyrchol i ganghennau yw’r llif gwaith rhyddhau.

Mae gosodiadau staging a chynhyrchu yn cael eu sbarduno o gyflwr y canghennau gwarchodedig cyfatebol staging a main ar ôl CI. Nid yw cod ceisiadau tynnu na manylion adnabod fforciau yn derbyn cyfrinachau gosod.

Mae cyfrinachau a ddefnyddir mewn llifoedd gwaith gosod wedi'u cwmpasu i'r amgylchedd gosod gan ein platfform CI. Nid ydynt ar gael i lifoedd gwaith cais-tynnu o fforciau.


12. Datgeliad Cydlynol

Os ydych yn credu i chi ddod o hyd i wendid diogelwch yn qub, rydym am glywed amdano'n gyflym ac rydym yn ymrwymo i drin yr adroddiad yn broffesiynol.

Rydym yn cydnabod derbyn o fewn tri diwrnod busnes ac yn eich hysbysu wrth i ni ymchwilio. Gyda'ch cydsyniad, rydym yn rhoi clod i adroddwyr mewn nodiadau rhyddhau.

12.1 Hafan Diogel

Os yw eich ymchwil yn dilyn y rheolau uchod (ymchwiliad ffydd dda, dim niwed i ddefnyddwyr eraill na'r gwasanaeth, ffenest ddatgelu resymol), ni fyddwn yn dilyn gweithred gyfreithiol yn eich erbyn, ac ni fyddwn yn gofyn i orfodaeth y gyfraith ei wneud. Rydym yn trin eich gwaith fel profi awdurdodedig ac fe fyddai'n well gennym i chi ddod o hyd i'r byg na rhywun arall.

Mae'r Hafan Diogel hon yn berthnasol i:

Nid yw'n berthnasol i beirianneg gymdeithasol o aelodau tîm qub, profion gwrth-gwasanaeth, neu fynediad i ddata defnyddwyr eraill y tu hwnt i'r hyn sydd ei angen i ddangos y mater. Os ydych yn ansicr a yw rhywbeth yn perthyn y tu mewn i'r Hafan Diogel, gofynnwch yn gyntaf gan ddefnyddio'r un rhagddodiad pwnc [SECURITY].


13. Cyfyngiadau Onest

Mae diogelwch yn arfer, nid yn gyflwr. Mae rhai cyfyngiadau'n werth eu henwi'n uniongyrchol:


14. Newidiadau i'r Dudalen Hon

Nodir newidiadau sylweddol trwy ddiweddaru'r dyddiad effeithiol ar y brig. Lle mae newid yn adlewyrchu gwelliant diogelwch diriaethol, rydym yn ei ddisgrifio'n fyr yn y cofnod newidiadau cyhoeddus. Lle mae newid yn adlewyrchu eglurhad polisi, rydym yn disgrifio beth a newidiodd a pham.

Ar gyfer cwestiynau am unrhyw beth ar y dudalen hon, anfonwch e-bost at support@qub.social gyda'r rhagddodiad pwnc [SECURITY].


15. Cofnod Newidiadau

Fersiwn Dyddiad effeithiol Crynodeb
1.1 23 Medi 2026 Cysonwyd honiadau cryptograffig, dulliau trosglwyddo, storfa, CSP, sesiynau, allweddi API, taliadau, CI, a’r llif gwaith rhyddhau â’r system a weithredir.
1.0 2 Mai 2026 Cyhoeddiad cychwynnol.