[시큐어코딩 가이드] 2-6-2. 제거되지 않고 남은 디버그 코드

제거되지 않고 남은 디버그 코드

정의

디버깅 목적으로 삽입된 코드는 개발이 완료되면 제거해야 합니다. 디버그 코드는 민감한 정보 또는 의도하지 않은 시스템 제어로 이어질 수 있는 정보를 담고 있을 수도 있습니다. 만약 디버그 코드가 남겨진 채로 배포될 경우, 공격자가 식별 과정을 우회하거나 의도하지 않은 정보 노출로 이어질 수 있습니다.

 

안전한 코딩기법

소프트웨어 배포 전 반드시 디버그 코드를 확인 및 삭제합니다.

 

코드예제

아래 코드는 Django의 미들웨어 셋팅 파일인 settings.py 의 일부입니다. 개발 시 사용된 DEBUG 옵션이 True로 설정되어 있다면 정보 노출의 위험이 있습니다. 따라서 개발이 끝난 소스코드를 배포 및 운영할 경우에는 반드시 DEBUG 옵션을 False로 변경해야 합니다.

 

 

 

캡슐화/제거되지 않고 남은 디버그 코드

[참고문헌] Python 시큐어코딩 가이드(2022) / KISA(한국인터넷진흥원)