ความปลอดภัย

โมเดลความปลอดภัยของเราในประโยคเดียว: ไม่มีอะไรบนเซิร์ฟเวอร์ที่จะโจมตีได้ ทุกอย่างด้านล่างนี้สามารถตรวจสอบได้จาก DevTools ของคุณ

สถาปัตยกรรม

เครื่องมือสร้างเป็นแอปพลิเคชันหน้าเดียวแบบสถิตที่ให้บริการจาก Cloudflare Pages: ไม่มีบัญชีผู้ใช้ ไม่มีการยืนยันตัวตน และไม่มีเส้นทางโค้ดแบ็กเอนด์ใดๆ ในขั้นตอนการสร้าง QR ทั้งสิ้น การสร้าง QR การเข้ารหัส การสแกน และการเรนเดอร์ทุกอย่างทำงานในเบราว์เซอร์ของคุณอย่างสมบูรณ์ มีจุดปลายแบบ serverless ขนาดเล็กหนึ่งจุดอยู่ข้างๆ ซึ่งเราแจ้งไว้ตรงนี้แทนที่จะซ่อนไว้ ได้แก่ /api/contact (แบบฟอร์มติดต่อ ซึ่งจัดเก็บสิ่งที่คุณส่งไว้ใน Cloudflare D1 และส่งอีเมลมาหาเรา) จุดปลายนี้ไม่ถูกเรียกใช้ระหว่างที่คุณสร้าง QR code ตัวตรวจสอบความปลอดภัยของ URL เป็นผลิตภัณฑ์แยกต่างหากที่ check.qr.abundera.ai ตรวจสอบว่า QR code ปลอดภัยหรือไม่

โมเดลภัยคุกคาม

เนื่องจากเครื่องมือสร้างไม่ได้เก็บรวบรวม จัดเก็บ หรือส่งข้อมูลผู้ใช้ (จุดปลายทั้งสองข้างต้นจัดการเฉพาะสิ่งที่คุณส่งให้อย่างชัดเจนเท่านั้น) ภัยคุกคามเว็บแอปที่พบบ่อยที่สุด, การขโมยข้อมูลประจำตัว การละเมิดฐานข้อมูล การแย่งชิงเซสชัน การฉีดโค้ดฝั่งเซิร์ฟเวอร์, ไม่มีผลใช้บังคับกับมัน พื้นที่โจมตีที่เหลืออยู่คือชุดทรัพย์สินแบบสถิต (HTML, CSS, JavaScript) ที่ให้บริการจากแหล่งต้นทางของเรา เราออกแบบโดยสมมติว่า:

นโยบายความปลอดภัยของเนื้อหา, ตามคำสั่ง

นโยบายด้านล่างถูกอ่านจากไฟล์ _headers ที่ใช้งานจริงเมื่อสร้างหน้านี้ จึงไม่มีทางคลาดเคลื่อนไปจากสิ่งที่ edge ส่งจริง ตรวจสอบได้ในส่วนหัว response ของคำขอใดๆ

Content-Security-Policy:
  default-src 'self';
  script-src 'self' https://abundera.ai 'wasm-unsafe-eval' https://challenges.cloudflare.com;
  worker-src 'self' blob:;
  style-src 'self' 'unsafe-inline' https://abundera.ai;
  font-src 'self';
  img-src 'self' data: blob: https:;
  connect-src 'self' https: https://challenges.cloudflare.com;
  frame-src 'self' https://challenges.cloudflare.com;
  frame-ancestors 'none';
  base-uri 'self';
  form-action 'self'

สิ่งที่แต่ละคำสั่งอนุญาตให้เราทำและจุดที่มีการประนีประนอม:

สิ่งที่ CSP ทำไม่ได้

CSP จำกัดว่าเบราว์เซอร์จะโหลดโค้ดจากที่ใด แต่ไม่ได้ตรวจสอบว่าโค้ดที่โหลดมาทำอะไร หากแหล่งต้นทางของเราถูกบุกรุก ซึ่งเป็นข้อแรกในโมเดลภัยคุกคาม สคริปต์ของผู้โจมตีจะทำงานด้วยสิทธิ์เดียวกับของเรา รวมถึงสิทธิ์ connect-src และ img-src ข้างต้น การป้องกันของเราต่อกรณีนี้อยู่เหนือชั้นของ CSP: การ deploy ออกผ่านบัญชี Cloudflare บัญชีเดียวที่มี token จำกัดขอบเขต ชื่อไฟล์ทรัพย์สินถูกแฮชตามเนื้อหาเพื่อให้ไฟล์ที่ถูกสลับเปลี่ยน URL ที่อ้างอิงถึงทุกแห่ง และ service worker แคชเฉพาะ response GET แบบ same-origin เท่านั้น manifesto อธิบายเว็บไซต์ตามที่ถูกส่งมอบจริง ไม่ใช่คำกล่าวอ้างว่าไม่มีหน้าเว็บใดจะส่งข้อมูลออกไปได้เลย และเราอยากให้คุณยึดเราไว้กับข้อความที่แคบกว่าและตรวจสอบได้นี้แทน

นโยบาย CSP ที่แตกต่างกันมีผลใช้กับ /bio/* (ผ่อนคลาย img-src สำหรับอวตารที่ผู้ใช้ให้มา) และ /embed/* (ผ่อนคลาย frame-ancestors สำหรับการฝังโดยตั้งใจ) ทั้งสองมีเอกสารใน site/_headers

ส่วนหัวการขนส่งและการจัดกรอบ

Service worker

Service worker ของเรา (site/sw.js) แคชเฉพาะทรัพย์สิน same-origin เท่านั้น ตัวจัดการ fetch ปฏิเสธคำขอ cross-origin และวิธีการที่ไม่ใช่ GET อย่างชัดเจน, คุณสามารถอ่านตรรกะได้ที่ /sw.js (ซอร์สโค้ดที่ส่งมอบไม่ได้ย่อขนาดจนอ่านไม่ออก) การเขียนแคชถูกห่อด้วย event.waitUntil() เพื่อไม่ให้ถูกละทิ้งระหว่างการนำทาง

การทำความสะอาดข้อมูลป้อนเข้า

ทุกเส้นทางการเรนเดอร์ที่รับข้อมูลป้อนเข้าของผู้ใช้จะถือว่ามันเป็นข้อความที่ไม่น่าเชื่อถือ:

การดึงภาพ cross-origin

เมื่อผู้ใช้วาง URL https: เป็นรูปภาพ vCard หรือโลโก้ เบราว์เซอร์จะดึงข้อมูลโดยขึ้นอยู่กับ CORS และรายการอนุญาต img-src ของ CSP ของเรา ภาพถูกเรนเดอร์ลงใน canvas มันไม่เคยกลายเป็น DOM ที่ใช้งานอยู่ ไม่เคยทำงานเป็นโค้ด และไม่เคยไปถึงแหล่งต้นทางของเรา, การดึงข้อมูลคือเบราว์เซอร์ → ภาพระยะไกล และผลลัพธ์จะถูกวาดฝั่ง client ผู้โจมตีที่ควบคุม URL ภาพระยะไกลสามารถติดตามว่า URL ถูกโหลด (บรรทัด log บนเซิร์ฟเวอร์ของตนเอง) แต่ไม่สามารถขโมยข้อมูลใดๆ จากหน้าของเราได้

Subresource Integrity (SRI)

JavaScript และ CSS ทั้งหมดที่เราส่งมอบเป็น same-origin เราไม่โหลด script หรือ stylesheet ของบุคคลที่สาม ดังนั้น hash SRI จึงไม่มีผลบังคับใช้ หากเราโหลดทรัพย์สินของบุคคลที่สาม เราจะเพิ่มคุณสมบัติ SRI integrity ลงไปและบันทึกกระบวนการอัปเดต hash ในหน้านี้

การรายงานช่องโหว่

หากคุณค้นพบปัญหาด้านความปลอดภัยที่ส่งผลกระทบต่อ Abundera QR, ไม่ว่าจะในโค้ด การปรับใช้ หรือในการพึ่งพาที่เราจัดส่ง, โปรดรายงานอย่างเป็นส่วนตัวไปที่ security@abundera.ai เรามุ่งหมายที่จะจัดลำดับความสำคัญภายใน 72 ชั่วโมง คุณยังสามารถติดต่อเราผ่านรายละเอียดการติดต่อในไฟล์ /.well-known/security.txt ของเรา

ยังไม่มีโปรแกรมรางวัลบัก

เราไม่ได้เสนอรางวัลที่จ่ายเงินในปัจจุบัน แต่รายงานที่ถูกต้องทุกฉบับที่ได้รับการยืนยันจะได้รับเครดิตในบันทึกการเปลี่ยนแปลงและคำขอบคุณสาธารณะจากเรา

ตรวจสอบสิ่งที่กล่าวมาข้างต้น

ทุกคำอ้างในหน้านี้สามารถตรวจสอบได้จาก DevTools ของเบราว์เซอร์โดยไม่ต้องวางใจเรา:

ติดต่อ

การเปิดเผยด้านความปลอดภัย: security@abundera.ai

อัปเดตล่าสุด: 2026-09-03. การตรวจสอบครั้งถัดไป: 2026-12-03.