技術筆記
安全模型
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. 建構。