SECURITY GATES

운영 보안 배포 승인 기준

TypeScript 앱의 보안 점검은 일반 원칙 나열보다 secret 유출, env 검증, dependency audit, 권한 최소화가 CI/CD에서 실패 조건으로 작동해야 한다.

01

환경 변수 검증

zod/env schema로 필수 값과 형식을 시작 시점에 검증한다.

fail fast
02

secret 스캔

토큰, 개인키, .env가 git history와 컨테이너 레이어에 들어갔는지 확인한다.

누수 점검
03

의존성 감사

npm audit, lockfile review, license/publish source를 릴리스 전에 확인한다.

supply chain
04

런타임 제한

서비스 계정, 파일 권한, outbound 네트워크를 필요한 범위로만 연다.

least privilege
missing env
운영에서 undefined secret 사용 빌드가 아니라 프로세스 시작 시 schema 검증으로 중단시킨다.
config drift
secret in log
오류 로그에 토큰 출력 logger redaction 규칙과 error serializer를 둔다.
masking
vulnerable package
취약 transitive dependency 포함 업데이트, override, 대체 패키지 중 하나를 결정하고 예외 만료일을 둔다.
CVE 통과 기준
over-permission
앱이 필요 이상 권한 보유 DB 계정, cloud IAM, container capability를 기능별로 좁힌다.
blast radius

CI에서 막을 항목

env schema 필수 운영 설정이 없으면 배포가 성공하지 않아야 한다.
lockfile diff 새 의존성이 추가되면 크기, 유지보수, 취약점 상태를 리뷰한다.
secret rotation 유출 의심 시 폐기와 재발급 절차가 문서화되어 있어야 한다.