技术笔记
安全模型
reader.me 防御什么、不防御什么。为安全审查者撰写 — 无营销。
威胁模型
reader.me 是在用户浏览器内运行的 SPA。
我们防御
- 通过上传的文档泄露(架构上不可能)。
- 通过第三方 JS 泄露(CSP)。
- 针对 PDF.js 的恶意 PDF(已加固)。
- Protect 暴力破解(AES-128)。
- 通过文件名的 XSS。
我们不防御
- 恶意浏览器扩展。
- OS 级别入侵。
- 有 CA 合作的 MitM。
- CPU 侧信道。
Content Security Policy
public/_headers 中的 CSP:default-src 'self'- 用于 Astro 水合的
'unsafe-inline'折中。 - 无文档端点的
connect-src。
依赖政策与 CVE 响应
三个关键引擎:PDF.js、pdf-lib、Tesseract.js。
- 关键 CVE 补丁 SLA:72 小时。
- Tesseract 自托管。
- 验证 — 30 秒诀窍。
CI 中的质量门
- 引擎纯净性检查。
- Vitest 97% 行。
- Playwright E2E。
- axe-core a11y。
- Lighthouse CI。
报告漏洞
请通过邮件负责任地披露,避免公开报告将用户置于风险:
[email protected] — 包含描述和最小复现步骤。
目标 48 小时内确认、72 小时内打补丁。除非您希望匿名,否则在 changelog 中给出致谢。
相关
- 工作原理 → — 架构演练。
- 隐私 → — 通俗语言版本的政策。
- vs iLovePDF / Smallpdf → — 并排架构对比。
reader.me 是以下人士的创意: David Carrero,在 Color Vivo Internet S.L. 构建。