23 lines
1.3 KiB
Markdown
23 lines
1.3 KiB
Markdown
# 보안 개발 가이드라인 (Security Rules)
|
|
|
|
## 체인지로그 (Changelog)
|
|
- **2026-03-27**: 민감 정보 하드코딩 금지 규칙 명문화
|
|
|
|
## 본문 (Body)
|
|
|
|
`Kord` 개발, 테스트, 배포를 포함한 모든 프로젝트 활동 중 반드시 지켜야 하는 핵심 보안 정책입니다.
|
|
|
|
### 민감 정보 하드코딩 금지
|
|
코드, 마크다운 문서, 디렉터리 구성 파일(`.env.example`의 기본값 포함) 등 어떠한 경우에도 아래의 민감 정보를 소스 상에 **직접 문자열(String)로 기재하는 것을 절대 금지**합니다.
|
|
|
|
#### 절대 금지 대상 예시:
|
|
- 디스코드 봇 토큰 (Discord Bot Tokens)
|
|
- 데이터베이스 비밀번호 및 접속 주소 (e.g. `postgresql://user:password@host/db`)
|
|
- Redis 비밀번호, API 인증 키(Keys), 비밀 암호 해시, 사내용 중요 자격증명 리스트
|
|
|
|
#### 올바른 해결 방법
|
|
1. **환경 변수 파일 (`.env`) 사용**:
|
|
모든 민감 정보는 루트 경로에 위치한 `.env` 파일 안에 적고, `.gitignore`를 통해 Git 추적에 포함되지 않도록 보장해야 합니다.
|
|
2. **동적 로드 매핑**:
|
|
TypeScript 환경에서는 환경 변수를 로드하고 타입 체킹을 해주는 별도의 모듈(예: `src/config/env.ts` 등)에서 `process.env.DISCORD_TOKEN` 과 같은 형태로 끌어다 사용하는 것이 권장됩니다.
|