보안

우리의 보안 모델을 한 문장으로: 서버에는 공격할 것이 아무것도 없습니다. 아래의 모든 내용은 DevTools에서 직접 확인할 수 있습니다.

아키텍처

Abundera QR은 Cloudflare Pages에서 제공되는 정적 단일 페이지 애플리케이션입니다. 애플리케이션 서버, 데이터베이스, 사용자 계정, 인증, API 엔드포인트, 사용자 데이터를 처리하는 백엔드 코드 경로가 전혀 없습니다. QR 생성, 인코딩, 스캔, 렌더링의 모든 작업은 브라우저 내에서 완전히 실행됩니다.

위협 모델

우리는 사용자 데이터를 수집, 저장, 전송하지 않기 때문에, 가장 일반적인 웹 앱 위협인 자격 증명 도용, 데이터베이스 침해, 세션 하이재킹, 서버 측 주입 등은 해당되지 않습니다. 나머지 공격 표면은 출처에서 제공되는 정적 자산 번들(HTML, CSS, JavaScript)입니다. 우리는 다음을 가정합니다:

콘텐츠 보안 정책 — 지시문별

현재 정책(모든 요청의 응답 헤더에서 확인 가능):

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

각 지시문이 허용하는 것과 타협하는 부분:

/bio/*(사용자 제공 아바타를 위해 완화된 img-src)와 /embed/*(의도적 임베딩을 위해 완화된 frame-ancestors)에는 다른 CSP 정책이 적용됩니다. 두 가지 모두 site/_headers에 문서화되어 있습니다.

전송 및 프레이밍 헤더

서비스 워커

서비스 워커(site/sw.js)는 동일 출처 자산만 캐시합니다. fetch 핸들러는 교차 출처 요청과 GET이 아닌 메서드를 명시적으로 거부합니다. GitHub에서 로직을 확인할 수 있습니다. 캐시 쓰기는 event.waitUntil()로 래핑되어 내비게이션 중간에 삭제되지 않습니다.

입력 살균

사용자 입력을 받는 모든 렌더링 경로는 신뢰할 수 없는 텍스트로 처리합니다:

교차 출처 이미지 가져오기

사용자가 vCard 사진 또는 로고로 https: URL을 붙여넣으면, 브라우저는 CORS와 CSP의 img-src 허용 목록을 적용하여 가져옵니다. 이미지는 캔버스에 렌더링됩니다. 라이브 DOM이 되지 않고, 코드로 실행되지 않으며, 우리 출처에 도달하지 않습니다. 가져오기는 브라우저 → 원격 이미지이고 결과는 클라이언트 측에서 페인팅됩니다. 원격 이미지 URL을 제어하는 공격자는 URL이 로드되었다는 것(자체 서버의 로그 줄)을 추적할 수 있지만 우리 페이지에서 아무것도 유출할 수 없습니다.

서브리소스 무결성(SRI)

우리가 제공하는 모든 JavaScript와 CSS는 동일 출처입니다. 타사 스크립트나 스타일시트를 로드하지 않으므로 SRI 해시가 적용되지 않습니다. 타사 자산을 로드하게 되면 SRI integrity 속성을 함께 제공하고 이 페이지에 해시 업데이트 프로세스를 문서화하겠습니다.

취약점 보고

코드, 배포, 또는 제공하는 종속성에서 Abundera QR에 영향을 미치는 보안 문제를 발견했다면 security@abundera.ai로 비공개 보고해 주세요. 72시간 이내에 분류하는 것을 목표로 합니다. /.well-known/security.txt 파일의 연락처를 통해서도 연락하실 수 있습니다.

버그 바운티 없음(아직)

현재 유료 바운티를 제공하지 않지만, 확인된 모든 유효한 보고는 변경 로그에 기재되고 공개 감사를 받습니다.

위의 내용 확인

이 페이지의 모든 주장은 우리를 신뢰하지 않고도 브라우저 DevTools에서 직접 확인할 수 있습니다:

연락처

보안 공개: security@abundera.ai

최종 업데이트: 2026-04-19. 다음 검토: 2026-07-19.