배경
개발 환경 API 로거는 요청 및 응답을 출력하면서 인증 토큰과 비밀번호 등 민감정보를 [REDACTED]로 치환함
보안 관련 로직이지만 현재 자동화 테스트가 없어 키 패턴이나 재귀 처리 변경 시 민감정보가 로그에 노출될 수 있음
테스트 대상
authorization
accessToken, access_token
refreshToken, refresh_token
idToken, id_token
password
secret
- 중첩 객체 내부의 민감정보
- 배열 내부 객체
Date, Map, Set 등 Plain Object가 아닌 값
- 일반 필드는 원래 값을 유지하는지
undefined, null, 빈 응답 처리
고려 사항
현재 마스킹 함수가 비공개 함수이므로 다음 중 하나를 선택함
- 마스킹 로직을 별도 유틸로 분리하고 직접 테스트
- 개발 로거 모듈 내부 함수를 테스트 가능하도록 제한적으로 export
완료 조건
배경
개발 환경 API 로거는 요청 및 응답을 출력하면서 인증 토큰과 비밀번호 등 민감정보를
[REDACTED]로 치환함보안 관련 로직이지만 현재 자동화 테스트가 없어 키 패턴이나 재귀 처리 변경 시 민감정보가 로그에 노출될 수 있음
테스트 대상
authorizationaccessToken,access_tokenrefreshToken,refresh_tokenidToken,id_tokenpasswordsecretDate,Map,Set등 Plain Object가 아닌 값undefined,null, 빈 응답 처리고려 사항
현재 마스킹 함수가 비공개 함수이므로 다음 중 하나를 선택함
완료 조건