피드로 돌아가기
Dev.toSecurity
원문 읽기
BaaS 설정 오류 탐지를 위한 Keyless --discover 기반 보안 스캐너 설계
I shipped 5 BaaS security auditors in one day — keyless `npx --discover` mode for Supabase, PocketBase, Appwrite, Firebase, and Nhost
AI 요약
Context
BaaS 대시보드의 시각적 상태 표시와 실제 Anonymous Role의 데이터 접근 권한 간의 괴리로 인한 데이터 유출 위험 상존. 기존 보안 감사는 Admin Credential 요구로 인한 높은 진입 장벽과 신뢰 비용이 병목 지점으로 작용.
Technical Solution
- Client Code 내 API 호출 사이트(table, collection, bucket 등)를 파싱하여 타겟 리소스 식별
- Repo 내 정의된 Public API Key 및 URL을 추출하여 인증 없이 접근 가능한 엔드포인트 자동 매핑
- Anonymous Role 권한으로 실제 REST/GraphQL API에 Probe 요청을 전송하여 데이터 반환 여부 검증
- BaaS별 특화된 Footgun 패턴(Supabase의 USING(true), PocketBase의 Empty rule 등)을 탐지 로직에 반영
- Admin 권한 없이 클라이언트 관점의 접근성을 시뮬레이션하는 Keyless Mode 설계로 Audit Friction 제거
실천 포인트
- RLS(Row Level Security) 정책 설정 후 익명 curl 요청을 통해 실제 데이터 반환 여부 교차 검증 - SECURITY DEFINER를 사용하는 RPC 함수가 RLS를 우회하여 민감 데이터에 접근하는지 확인 - BaaS 기본 제공 'Test Mode' 또는 'Public' 설정이 프로덕션 환경에 그대로 반영되었는지 체크 - CI 파이프라인에 Keyless 기반의 보안 스캐닝 단계를 추가하여 설정 오류 조기 발견