코드는 멀쩡한데
설정이 열려 있습니다
AI로 만든 앱에서 실제로 사고가 나는 지점은 대개 코드가 아니라 설정입니다. 투멘은 레포 안의 IaC·설정 파일을 37개 룰로 정적 점검하고, 소유 확인이 끝난 배포 주소는 밖에서 실제로 열리는지 확인합니다. 클라우드 계정 자격증명은 받지 않습니다.
01 — Supabase RLS 점검 · 자세히 보기 →테이블 하나가
테이블 하나가
전체 고객 명부입니다
브라우저에 심긴 공개 키는 원래 공개해도 되는 값입니다. 단, 행 수준 보안이 켜져 있을 때만요. 켜지지 않은 테이블은 주소만 아는 사람이면 누구나 통째로 읽어갈 수 있습니다. 투멘은 배포된 주소로 실제 조회를 한 번 시도해 읽히는지 확인합니다.
- 익명 키로 실제로 행이 읽히는지 확인
- 서비스 역할 키가 프런트로 새어 나갔으면 즉시 치명 처리
- 증거로 남기는 것은 표본 일부뿐 — 전체를 내려받지 않습니다
RLS 점검 결과
| 테이블 | RLS | 노출 |
|---|---|---|
| profiles | 꺼짐 | 이메일 · 전화번호 |
| orders | 꺼짐 | 결제 내역 |
| posts | 켜짐 | 없음 |
| audit_logs | 켜짐 | 없음 |
02 — 설정 파일 점검 (CSPM) · 자세히 보기 →클라우드 자격증명 없이
클라우드 자격증명 없이
설정 실수부터 찾습니다
클라우드 계정에 역할을 연결하는 방식은 쓰지 않습니다. 대신 레포 안의 Terraform·YAML·JSON·Dockerfile을 37개 룰로 읽어, 배포되면 밖으로 새는 설정을 미리 잡습니다.
- 퍼블릭 스토리지 버킷과 전체 개방 방화벽
- IAM 와일드카드 권한, 커밋된 클라우드 키
- 저장 암호화 꺼짐, 로깅 비활성화
- Dockerfile·쿠버네티스 매니페스트 설정
읽는 파일
| Terraform | .tf |
| 쿠버네티스 · 컴포즈 | .yaml |
| 설정 · 정책 | .json |
| 컨테이너 | Dockerfile |
03 — 공개 DB · 스토리지 탐지 · 자세히 보기 →추측이 아니라
추측이 아니라
밖에서 직접 확인합니다
코드만 읽어서는 “위험해 보인다”까지밖에 못 갑니다. 배포된 주소로 실제 읽기 요청을 보내, 지금 이 순간 외부에서 열리는 항목만 실증으로 올립니다.
- 공개된 환경변수 파일과 설정 파일
- 인증 없이 읽히는 Firebase · Supabase · 스토리지
- 읽기 요청만 — 데이터를 바꾸거나 통째로 내려받지 않습니다
- 소유 확인이 끝난 도메인만 점검합니다
외부에서 그대로 확인된 항목
✗ /.env → 200 OK 파일 내용 확인됨
✗ Firebase /.json → 응답 users · orders 노출
✗ 스토리지 버킷 목록 조회 가능
! 소스맵(.map) 공개 원본 코드 복원 가능
읽기 요청만 보냅니다.04 — CORS · 보안 헤더 · 자세히 보기 →
브라우저가 막아줄 수 있는 것들
헤더 몇 줄이면 막히는 공격이 의외로 많습니다. 개발 편의로 열어둔 설정이 그대로 배포되는 경우가 특히 잦습니다. CORS는 아무 출처나 허용한다는 이유만으로 잡지 않고, 요청한 출처를 그대로 되비추면서 자격증명까지 허용할 때만 위험으로 봅니다.
- Content-Security-Policy 등 빠진 보안 헤더
- 요청 출처를 되비추는 CORS + 자격증명 허용
- 운영 빌드에 남은 소스맵 — 본인 코드일 때만 보고합니다
헤더 점검
| 항목 | 현재 | 권장 |
|---|---|---|
| CORS 허용 출처 | 요청 출처 반사 + 자격증명 | 우리 도메인만 허용 |
| 콘텐츠 보안 정책 | 없음 | 스크립트 출처 제한 |
| 소스맵 | 공개 | 운영 빌드에서 끄기 |
먼저 내 저장소부터
확인해 보세요
무료 플랜은 카드 등록 없이 시작합니다.