본문 바로가기

보안 정책

문의: https://github.com/Cap-go/capgo.app/security/advisories/new
공식 문서: https://capgo.app/security/
Security.txt: https://capgo.app/.well-known/security.txt (/security.txt)

Capgo는 시스템 보안을 최우선 과제로 삼고 있습니다. 하지만 아무리 보안에 많은 노력을 기울이더라도 취약점이 존재할 수 있습니다.

취약점을 발견하신 경우, 저희가 최대한 신속하게 조치할 수 있도록 알려주시기 바랍니다. 고객과 시스템을 더 안전하게 보호할 수 있도록 도움을 부탁드립니다.

범위 외 취약점:

  • 민감한 작업이 없는 페이지에서의 Clickjacking.
  • 인증되지 않은 상태에서의 CSRF, 로그아웃/로그인 관련 CSRF.
  • MITM 또는 사용자의 기기에 대한 물리적 접근이 필요한 공격.
  • 사회 공학적 기법(Social Engineering)이 필요한 공격.
  • 서비스 중단(DoS)을 유발할 수 있는 모든 활동.
  • 공격 벡터를 입증할 수 없거나 HTML/CSS를 수정할 수 없는 형태의 콘텐츠 스푸핑 및 텍스트 인젝션 이슈.
  • 이메일 스푸핑
  • DNSSEC, CAA, CSP 헤더 누락
  • 민감하지 않은 쿠키에 Secure 또는 HttpOnly 플래그 미설정
  • 데드링크
  • 사용자 열거(User enumeration)
  • 웹훅 또는 웹사이트 프리뷰에 대한 SSRF 또는 DNS 스푸핑 보고. 해당 기능은 서버리스 인프라에서 실행되며, 프라이빗 Capgo 인프라에 접근하는 데 사용될 수 없으므로 당사 환경에서는 취약점으로 간주되지 않습니다.
  • capacitor.config.ts, config.capacitor.ts, 앱 소스 code 및 환경별 설정 파일을 포함하여, Capgo이 소유, 배포 또는 제어하지 않는 사용자의 애플리케이션 code 또는 프로젝트 설정.
  • Capgo 번들 파일에 대한 접근 또는 번들 파일을 다운로드할 수 있다는 증거. 번들 파일은 공개 웹 에셋이며 사용자는 이에 대해 안내받으므로, 해당 파일에 대한 접근은 데이터 유출로 간주되지 않습니다.
  • 설계상 의도적으로 공개된 인증되지 않은 Capgo 플러그인/API 엔드포인트( API 키가 필요 없는 channel_self 설정 및 update/stats 엔드포인트 포함)는 취약점이 아닙니다. 이를 취약점으로 보고하지 마십시오.
  • external_url을 통해 제공되는 번들의 암호화 상태를 업로더나 UI가 잘못 표시하는 것은 Capgo 취약점이 아닙니다 (외부 호스팅 번들의 암호화는 Capgo의 제어 범위를 벗어납니다).

알려진 Supabase Auth 제한 사항

일부 발견 사항은 반복적으로 보고되며 Supabase Auth 동작과 연관되어 있습니다. 이러한 사항은 당사와 동일하게 구성된 공유 Supabase 데모 프로젝트에서 재현 가능하고, Capgo 보안 규칙을 변경하지 않고도 Supabase 설정 변경만으로 해결되는 경우에만 Supabase 측 이슈로 간주합니다. 만약 해결을 위해 Capgo 소유의 SQL, RPC, RLS 정책, function 또는 앱 로직을 변경해야 한다면, 이는 Capgo 이슈이며 당사에 보고해야 합니다.

  • 보고 시에는 당사의 설정과 일치하며 해당 동작을 증명할 수 있는 재현 가능한 Supabase 데모 프로젝트와 단계별 절차를 반드시 포함해야 합니다.
  • 보고 시에는 정확한 해결 경로를 포함해야 합니다. 즉, 해당 동작을 해결하는 Supabase 설정/구성 변경 사항이거나, 변경이 필요한 Capgo 소유의 code/config 객체여야 합니다.
  • 계정 및 이메일 플로우는 Supabase 프로젝트 설정(예: 이메일 인증 비활성화 여부 및 capture flow 사용 여부)을 기준으로 검증됩니다.
  • 비밀번호 및 이메일/비밀번호 업데이트 플로우는 현재 Supabase Auth 세션 및 재인증 설정에 따라 달라질 수 있습니다.
  • 데모 프로젝트를 통해 Capgo 정책 변경 없이 Supabase 측의 구체적인 수정이 가능함을 증명하거나, Capgo 소유의 구체적인 결함을 보여주는 경우 검토 후 조치를 취합니다.

테스트 가이드라인:

  • 다른 고객의 프로젝트에 자동 스캐너를 실행하지 마세요. 자동 스캐너 실행은 사용자에게 추가 비용을 발생시킬 수 있습니다. 공격적으로 설정된 스캐너는 의도치 않게 서비스를 중단시키거나, 취약점을 악용하고, 시스템 불안정 또는 보안 침해를 유발할 수 있으며, 상위 제공업체의 서비스 약관을 위반할 수 있습니다. Capgo의 보안 시스템은 악의적인 정찰과 화이트햇 연구를 구분할 수 없습니다. 자동 스캐너를 실행하려면 security@capgo.app으로 알려주시고, 반드시 본인의 Capgo 프로젝트에서만 실행하세요. 다른 고객의 프로젝트를 공격하지 마십시오.
  • 취약점을 증명하기 위해 필요 이상의 데이터를 다운로드하거나, 타인의 데이터를 삭제 또는 수정하는 등 발견한 취약점이나 문제를 악용하지 마세요.

제보 가이드라인:

  • GitHub Security Advisory를 통해 발견 사항을 제출해 주세요: https://github.com/Cap-go/capgo.app/security/advisories/new
  • 문제를 최대한 신속하게 해결할 수 있도록 재현에 필요한 충분한 정보를 제공해 주세요.
  • We accept and review security reports for Capgo plugins, but paid bounties for plugin code are limited to @capgo/capacitor-updater. Other Capgo plugins are free to use and are not part of our paid product offering, so reports for them are reviewed but unpaid.

공개 가이드라인:

  • 고객을 보호하기 위해, 저희가 문제를 조사하고 조치한 후 영향을 받은 고객에게 안내하기 전까지는 해당 문제를 외부에 공개하지 마세요.
  • 컨퍼런스, 블로그 또는 기타 공개 포럼에서 Capgo에 대한 연구 내용을 공개적으로 공유하려면 게시일 최소 30일 전에 검토 및 승인을 위해 초안을 공유해 주세요. 다음 사항은 포함하지 않아야 합니다:
    • Capgo 고객 프로젝트 관련 데이터
    • Capgo 고객 데이터
    • Capgo 직원, 계약자 또는 파트너에 관한 정보

저희의 약속:

  • 보고서를 접수한 후 영업일 기준 7일 이내에 검토 결과와 예상 해결일을 안내해 드립니다.
  • 위의 지침을 준수하신 경우, 해당 보고와 관련하여 어떠한 법적 조치도 취하지 않습니다.
  • 보고 내용은 엄격히 비밀로 유지되며, 귀하의 동의 없이 개인 정보를 제3자에게 제공하지 않습니다.
  • 문제 해결 진행 상황을 지속적으로 안내해 드립니다.
  • 보고된 문제와 관련된 공개 정보에는 (귀하가 원치 않는 경우를 제외하고) 문제 발견자로 귀하의 성함을 기재합니다.
  • 공유된 로그에서 유출된 데이터가 발견되더라도, 이는 문제 해결을 위한 디버깅 정보로만 취급하며 결코 보복이나 처벌의 근거로 사용하지 않습니다.

저희는 모든 문제를 최대한 신속하게 해결하기 위해 노력하며, 문제가 해결된 후 해당 이슈에 대한 최종 공개 자료 작성에도 적극적으로 참여하고자 합니다.