安全

我们的安全模型一句话概括:服务器上没有任何可被攻击的东西。以下所有内容均可通过您的 DevTools 验证。

架构

本生成器是一个由 Cloudflare Pages 提供服务的静态单页应用程序:没有用户账户、没有身份认证,生成流程中的任何环节都没有后端代码路径。每个 QR 的生成、编码、扫描和渲染操作完全在您的浏览器内运行。此外还有一个小型无服务器端点,我们把它列在这里而不是隐藏起来:/api/contact(联系表单,将您提交的内容存入 Cloudflare D1 并通过邮件发给我们)。制作 QR 码的过程中不会调用它;URL 安全检查工具是一个独立产品,位于 check.qr.abundera.ai。 检查二维码是否安全

威胁模型

由于本生成器不收集、存储或传输任何用户数据(上述两个端点只处理您主动发送给它们的内容),最常见的 Web 应用威胁, 凭证盗取、数据库泄露、会话劫持、服务器端注入, 对它均不适用。剩余的攻击面是从我们的源站提供的静态资产包(HTML、CSS、JavaScript)。我们的设计假设:

内容安全策略, 按指令说明

以下策略在本页构建时从已部署的 _headers 文件中读取,因此不会与边缘节点实际发送的内容出现偏差。您可以在任意请求的响应头中核实它。

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 之外:部署通过一个使用限定权限令牌的 Cloudflare 账户进行,资产文件名带有内容哈希,因此被替换的文件会改变每一处引用它的 URL,Service Worker 也只缓存同源的 GET 响应。宣言描述的是本站实际发布的状态,而不是在声称任何网页都不可能把数据发送到别处;我们更希望您以这个更窄、也更可核实的说法来要求我们。

/bio/*(为用户提供的头像放宽 img-src)和 /embed/*(为有意嵌入放宽 frame-ancestors)适用不同的 CSP 策略。两者均记录在 site/_headers 中。

传输与框架头

Service Worker

我们的 Service Worker(site/sw.js)只缓存同源资产。fetch 处理程序明确拒绝跨源请求和非 GET 方法, 您可以在 /sw.js 中阅读逻辑(源码未经过度压缩,足以读懂)。缓存写入被包裹在 event.waitUntil() 中,因此不会在导航中途被丢弃。

输入净化

每条接受用户输入的渲染路径均将其视为不可信文本:

跨源图片获取

当用户粘贴一个 https: URL 作为 vCard 照片或 Logo 时,浏览器根据 CORS 和我们 CSP 的 img-src 白名单获取它。图片被渲染到 canvas 中。它永远不会成为实时 DOM,不会作为代码运行,也不会到达我们的源站, 获取操作是浏览器到远程图片,结果在客户端绘制。控制远程图片 URL 的攻击者可以追踪该 URL 被加载(其服务器上的一行日志),但无法从我们的页面窃取任何内容。

子资源完整性(SRI)

我们提供的所有 JavaScript 和 CSS 均为同源。我们不加载第三方脚本或样式表,因此 SRI 哈希不适用。如果我们将来加载第三方资产,我们将在其上添加 SRI integrity 属性,并在本页记录哈希更新流程。

报告漏洞

如果您发现影响 Abundera QR 的安全问题, 无论是在我们的代码、部署还是我们提供的依赖项中, 请私下向 security@abundera.ai 报告。我们的目标是在 72 小时内完成分类处理。您也可以通过 /.well-known/security.txt 文件中的联系方式联系我们。

暂无漏洞赏金

我们目前不提供有偿赏金,但每一份经确认的有效报告都将在更新日志中获得致谢,并收到我们公开的感谢。

验证以上所有内容

本页每项声明均可通过浏览器 DevTools 验证,无需信任我们:

联系方式

安全披露:security@abundera.ai

最后更新:2026-09-03。下次审查:2026-12-03。