광범위한 예외 처리 사용

광범위한 예외 처리 사용

설명

bare except 또는 except Exception/BaseException은 예상하지 못한 오류까지 한꺼번에 처리해 보안 실패와 프로그래밍 오류를 숨길 수 있습니다.

잠재적 영향

  • 인증, 검증, 파일 처리 실패가 잘못 복구될 수 있습니다.
  • 운영 장애나 공격 시도가 일반 오류처럼 묻힐 수 있습니다.

해결 방법

  • 복구 가능한 구체 예외만 처리합니다.
  • 예상하지 못한 예외는 로깅 후 다시 발생시키거나 공통 오류 처리 계층에 위임합니다.

예시

변경 전

python
try:
    return int(value)
except Exception:
    return 0

변경 후

python
try:
    return int(value)
except ValueError:
    return 0

설명:

  • 변경 전: bare except 또는 except Exception/BaseException은 예상하지 못한 오류까지 한꺼번에 처리해 보안 실패와 프로그래밍 오류를 숨길 수 있습니다.
  • 변경 후: 복구 가능한 구체 예외만 처리합니다.

참조