수파베이스(Supabase) 기반 프로젝트에서 데이터 유출로 이어질 수 있는 치명적인 보안 취약점을 자동으로 찾아주는 도구 '센트리스(Sentris)'가 공개되었습니다. 개발자가 사이드 프로젝트에서 서비스 역할(service_role) 키가 클라이언트 번들에 유출되어 몇 주간 노출되었던 경험을 바탕으로 개발된 센트리스는, 수파베이스의 핵심 보안 기능인 RLS(Row Level Security) 누락이나 잘못된 설정, 그리고 저장소(repo) 파일 및 라이브 번들 내의 민감한 정보 유출 등을 정밀하게 진단합니다.
센트리스는 크게 네 가지 핵심 검사를 수행합니다. 첫째, RLS가 적용되지 않았거나 `using(true)` 정책으로 사실상 무력화된 테이블을 탐지합니다. 둘째, 저장소 파일과 라이브 클라이언트 번들에서 수파베이스 서비스 역할 키, 스트라이프(Stripe) 및 AI 제공업체 키 등 민감한 비밀 정보 유출 여부를 확인합니다. 셋째, 사용자 제공 ID를 받으면서 인증(auth) 검사가 누락된 경로 핸들러(route handler)를 찾아냅니다. 마지막으로, 공개(public)로 설정된 스토리지 버킷을 식별하여 의도치 않은 데이터 노출을 방지합니다. 특히, URL 스캐너가 볼 수 없는 마이그레이션 파일이나 경로 핸들러까지 분석하여 더 깊이 있는 보안 점검을 제공하는 것이 특징입니다.
이러한 취약점들은 단 한 줄의 설정 실수로도 전체 데이터베이스가 외부에 노출될 수 있는 심각한 위험을 초래합니다. 예를 들어, 서비스 역할 키가 유출되면 RLS 정책과 관계없이 모든 데이터에 대한 읽기/쓰기 권한이 부여되며, RLS가 없는 테이블은 익명 사용자에게도 모든 데이터가 공개될 수 있습니다. 센트리스는 이러한 문제들을 정확한 파일명, 코드 라인, 그리고 수정에 필요한 SQL 코드까지 함께 제공하여 개발자가 신속하게 문제를 해결할 수 있도록 돕습니다. 이는 단순히 경고만 제공하는 것이 아니라, 실제적인 해결책을 제시함으로써 개발자의 보안 작업 부담을 크게 줄여주고, 잠재적인 법적, 재정적 손실을 예방하는 데 기여합니다.