스킬 firebase
🔥

firebase

안전

안전한 Firebase 앱 구축하기

Firebase 는 백엔드 개발을 간소화하지만, 보안 규칙과 데이터 모델링은 위반과 비용 초과를 피하기 위해 전문 지식이 필요합니다. 이 스킬은 Firebase 모범 사례에 대한 전문가 가이드를 제공합니다.

지원: Claude Codex Code(CC)
🥉 73 브론즈
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"firebase" 사용 중입니다. 'tasks' 컬렉션에 대한 보안 규칙을 생성하세요. 팀 멤버는 모든 작업을 읽을 수 있지만 자신의 작업만 수정할 수 있습니다

예상 결과:

rules version 2;

service cloud.firestore {
match /databases/{database}/documents {
match /tasks/{taskId} {
allow read: if request.auth != null;
allow write: if request.auth.uid == resource.data.ownerId;
}
}
}

"firebase" 사용 중입니다. Firestore 에서 방과 메시지가 있는 채팅 애플리케이션을 어떻게 모델링해야 하나요?

예상 결과:

권장 구조:
- rooms/{roomId}: { name, createdAt, memberIds[] }
- rooms/{roomId}/messages/{messageId}: { text, senderId, sentAt }

주요 결정 사항:
1. 메시지를 위한 서브컬렉션은 방 문서를 작게 유지
2. 권한 확인을 위한 memberIds 비정규화
3. 문서 ID 가 아닌 sentAt 을 사용하여 정렬

보안 감사

안전
v1 • 2/25/2026

Static analysis flagged external_commands and weak_crypto patterns, but manual review confirms these are false positives. The backtick syntax on line 57 is markdown code formatting, not shell execution. The cryptographic algorithm flags on lines 3, 15, 39, 45, 60 are triggered by generic words like 'security' and 'design', not actual weak crypto usage. This is a legitimate Firebase development skill with no security issues.

1
스캔된 파일
61
분석된 줄 수
2
발견 사항
1
총 감사 수
중간 위험 문제 (2)
False Positive: Shell Command Detection
Static scanner detected backtick syntax at SKILL.md:57 as Ruby/shell command execution. Manual review confirms these are markdown inline code formatting backticks (`nextjs-app-router`), not command execution.
False Positive: Weak Cryptographic Algorithm
Static scanner flagged 'weak cryptographic algorithm' at multiple lines. Manual review shows these are false positives triggered by generic words like 'security', 'design', and 'Firebase' - no actual cryptographic algorithms are present.
감사자: claude

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
50
커뮤니티
95
보안
91
사양 준수

만들 수 있는 것

새로운 Firestore 데이터베이스 보안 설정

적절한 읽기/쓰기 권한을 가진 사용자 소유 데이터 컬렉션을 위한 프로덕션 준비 완료 보안 규칙 생성

소셜 앱 데이터 모델링

게시물, 댓글 및 좋아요가 있는 소셜 피드를 위한 Firestore 컬렉션 및 쿼리 설계

로컬 개발 환경 설정

프로덕션에 배포하지 않고 Auth, Firestore 및 Functions 를 테스트할 수 있도록 Firebase Emulators 구성

이 프롬프트를 사용해 보세요

기본 보안 규칙
'users' 라는 컬렉션에 대한 Firestore 보안 규칙을 생성하세요. 사용자는 자신의 문서만 읽고 쓸 수 있어야 합니다
데이터 모델 설계
게시물, 댓글 및 좋아요가 있는 블로그를 위한 Firestore 데이터 모델을 설계하세요. 컬렉션 구조와 예시 문서를 보여주세요
Cloud Functions 설정
Authentication 에서 새 사용자가 생성될 때 트리거되어 Firestore 에 기본 프로필 문서를 생성하는 Firebase Cloud Function 을 작성하세요
비용 최적화
이 Firestore 쿼리 패턴을 검토하고 읽기 비용을 줄이기 위한 최적화 방법을 제안하세요: collection('posts').where('author', '==', userId).get()

모범 사례

  • 항상 관계가 아닌 쿼리 패턴을 중심으로 데이터 모델을 설계하세요
  • 프로덕션에 컬렉션을 배포하기 전에 항상 보안 규칙을 작성하세요
  • 모든 개발 및 CI 테스트에 Firebase Emulators 를 사용하세요

피하기

  • 클라이언트 측 유효성 검사만 의존하고 보안 규칙을 생략하는 것
  • Firestore 를 깊은 중첩을 가진 관계형 데이터베이스처럼 모델링하는 것
  • 페이지네이션 또는 제한 없이 전체 컬렉션에 리스너를 연결하는 것

자주 묻는 질문

Firestore 와 Realtime Database 의 차이점은 무엇인가요?
Firestore 는 더 나은 쿼리와 확장성을 갖춘 최신 제품입니다. Realtime Database 는 간단한 동기화 시나리오에서 더 빠릅니다. 대부분의 새 프로젝트에는 Firestore 를 선택하세요.
Firebase 함수를 어떻게 보안하나요?
Firebase Authentication 을 사용하여 호출자를 검증하세요. 모든 입력 데이터를 유효성 검사하세요. 서비스 계정 자격 증명을 노출하지 마세요. 필요한 경우에만 --public 플래그로 배포하세요.
Firebase 를 자체 백엔드와 함께 사용할 수 있나요?
네, 신뢰할 수 있는 작업에 대해 보안 규칙을 우회하기 위해 서버에서 Firebase Admin SDK 를 사용하고 사용자는 클라이언트 측 규칙을 유지할 수 있습니다.
Firestore 에서 비용 급증을 어떻게 방지하나요?
쿼리에 제한을 추가하고, 복합 인덱스를 현명하게 사용하고, 청구 알림을 설정하고, 사용량 대시보드를 정기적으로 모니터링하세요.
Firebase Emulators 란 무엇인가요?
Firestore, Auth, Cloud Functions 및 기타 서비스를 시뮬레이션하는 로컬 개발 서버입니다. 비용을 발생시키거나 프로덕션에 영향을 주지 않고 테스트하는 데 사용하세요.
Firebase 에서 사용자 역할을 어떻게 처리하나요?
Firestore 사용자 문서에 역할을 저장하거나 ID 토큰의 사용자 정의 클레임을 사용하세요. 클라이언트 보안 규칙과 Cloud Functions 모두에서 역할을 확인하세요.

개발자 세부 정보

파일 구조

📄 SKILL.md