Skip to content
reader.me

기술 노트

보안 모델

reader.me가 무엇을 보호하고 무엇을 보호하지 않는지. 보안 검토자를 위해 작성 — 마케팅 없음.

위협 모델

reader.me는 브라우저 안에서 실행되는 SPA입니다.

방어 대상

  • 업로드를 통한 문서 유출 (구조적으로 불가능).
  • 제3자 JS를 통한 유출 (CSP).
  • 악성 PDF (PDF.js 하드닝).
  • 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에 크레딧.

관련

reader.me는 다음에 의한 아이디어입니다: David Carrero, Color Vivo Internet S.L.에서 제작.