2026-08-18 점검. 저장소 전체를 훑고, 발견된 키를 실제로 호출해 살아있는지 확인했습니다.
죽은 키를 재발급하는 헛수고를 없애려고 전부 실측했습니다.
| 키 | 실측 결과 | 조치 |
|---|---|---|
| Supabase service_role | 🔴 살아있음 (HTTP 200) | 재발급 필요 |
| Supabase 액세스 토큰 | 🔴 살아있음 (HTTP 200) | 재발급 필요 |
| OpenAI 키 | ✅ 이미 죽음 (401) | 조치 불필요 |
| FAL 키 | ✅ 이미 죽음 (401) | 조치 불필요 |
| 옛 Supabase 프로젝트 키 | ✅ 프로젝트 자체 삭제됨 | 조치 불필요 |
| Apple 서명 개인키 | ⚠️ 확인 불가 | 콘솔에서 상태 확인만 |
프로젝트가 오래돼 그 사이 OpenAI·FAL 키는 이미 교체되셨던 것으로 보입니다.
저장소에 남은 건 껍데기라 위험하지 않습니다.
무엇이 문제인가
지금 운영 중인 프로젝트(team-ai)의 service_role 키가 저장소 12개 파일에 그대로 박혀
GitHub에 커밋돼 있습니다. 이 키는 모든 데이터 접근 보안규칙(RLS)을 무시하고
DB 전체를 읽고 수정하고 삭제할 수 있는 최고 권한 키입니다.
어디서 바꾸나
Supabase 대시보드 → team-ai 프로젝트 → Settings → API → Project API keys →
service_role 옆 Reset / Generate new key
바꾼 뒤
새 키를 알려주시면 제가 .env에 반영하고, 저장소에 박힌 12곳을 환경변수 참조로 정리하겠습니다.
박혀 있는 파일 (전부 git 추적됨)
scripts/run_enrich.ts · scripts/enrich_visual_data.ts · scripts/fix_avatar_url.ts ·
scripts/find_diet_crew.ts · scripts/apply_visual_fields.ts · scripts/export_experts_csv.ts ·
scripts/parallel_generate_premium.sh · scripts/parallel_generate_remaining.sh ·
scripts/batch_generate_premium.sh · scripts/validate_remaining.sh ·
scripts/archive/tests-legacy/test_push.ts · scripts/archive/tests-legacy/synergy_eval_test.ts
무엇이 문제인가
Supabase 계정 전체를 관리하는 토큰입니다. 프로젝트 생성·삭제까지 가능합니다.
저장소 3개 파일에 박혀 있습니다.
어디서 바꾸나
supabase.com → 우측 상단 계정 → Access Tokens → 기존 토큰 Revoke → 새로 발급
lib/AuthKey_KXD92Y2WLM.p8 파일이 저장소에 평문으로 커밋돼 있습니다.
Apple 로그인·푸시 알림 서명에 쓰이는 개인키입니다.
제가 유효한지 테스트할 방법이 없어 상태를 못 알려드립니다.
확인 방법
developer.apple.com → Certificates, Identifiers & Profiles → Keys →
Key ID KXD92Y2WLM 이 아직 살아있는지 확인
살아있으면 Revoke 후 새 키를 발급받아 주세요.
(새 키 파일은 저장소 밖에 두셔야 합니다 — 제가 위치를 잡아드리겠습니다.)
공개 미리보기 주소(dev-take-5.the-moment.us)가 내보내는 값은
SUPABASE_URL과 anon 키 둘뿐입니다. 이 둘은 원래 공개용으로 설계된 값이라
노출돼도 문제없습니다(데이터 보호는 RLS가 담당).
service_role·액세스 토큰·OpenAI 키는 공개 주소로 나간 적이 없습니다.
FAL 키가 잠시 나갔으나 제거했고, 어차피 죽은 키였습니다.
pubspec.yaml이 .env 파일을 앱 자산으로 등록해 놔서, 웹으로 빌드하면 .env가
통째로 번들에 실려 나갑니다. 지금은 제가 서빙 단계에서 걸러 막아뒀지만,
이 상태로 누가 그냥 배포하면 service_role 키까지 전부 공개됩니다.
구조를 바꿔야 하는 일이라 키 재발급 이후에 손대는 게 순서입니다.
KXD92Y2WLM 상태 확인 (살아있으면 revoke)새 키를 알려주시면 .env 반영과 저장소 정리는 제가 하겠습니다.