teum.

checkout-api

main ·a61c9e4 · 09. 28. 16:42 · R-042 샘플 데이터

발견 근거와 수정 방향을 함께 확인하세요
발견 목록F-013 / CODE
DDOMADO

JWT 서명 키가 코드에 포함됨

높음실행 검증 안 함

src/auth/auth.module.ts:18

토큰 서명 키가 코드에 직접 포함된 예시입니다. 실제 사용 중인 키가 유출됐다면 환경변수로 옮기는 것만으로는 부족하며, 키 교체와 기존 토큰 영향도 검토해야 합니다.

발견 규칙
teum/hardcoded-secret
분류
CWE-798

수정안 비교

예제 코드

발견 시점 코드
삭제, 기존 18행: JwtModule.register({삭제, 기존 19행:   secret: 'DEMO_KEY_NOT_A_REAL_SECRET',삭제, 기존 20행:   signOptions: { expiresIn: '15m' },유지, 기존 21행: });
수정 제안 · 예시
추가, 수정 18행: JwtModule.registerAsync({추가, 수정 19행:   inject: [ConfigService],추가, 수정 20행:   useFactory: (config: ConfigService) => ({추가, 수정 21행:     secret: config.getOrThrow('JWT_SECRET'),추가, 수정 22행:     signOptions: { expiresIn: '15m' },추가, 수정 23행:   }),유지, 수정 24행: });

ConfigService 가져오기와 모듈 설정을 확인하세요. 기존 expiresIn은 유지했습니다. 키 교체는 배포 순서와 토큰 무효화 정책을 별도로 검토해야 합니다.

수정 후 확인할 것

직접 확인할 항목

  • 실제 키 노출 여부와 교체 절차 확인
  • 환경변수 누락 시 시작 실패와 기존 만료 시간 유지 확인

검토한 내용을 상태로 남기세요.

현재 처리 상태: 수정 중

샘플의 상태만 바뀌며 코드에는 적용되지 않아요. 위험 수용은 사유와 기한이 필요한 실제 작업 공간에서 기록해요. 재점검 관측 결과는 직접 변경하지 않아요.

점검 범위 확인
체험 중 바꾼 상태는 새로고침하거나 샘플을 벗어나면 초기화돼요.내 코드 점검 준비 →