Skip to content

[Security] A10: 예외 처리 개선 필요 #8

@serithemage

Description

@serithemage

OWASP 카테고리

  • A10:2025 - Mishandling of Exceptional Conditions

심각도

🟡 Medium

현황

일반적인 에러 응답, 에러 유형 미구분

발견된 문제

1. 모든 에러가 500

// backend/lambda/src/index.ts
} catch {
  return {
    statusCode: 500,  // 모든 에러가 500
    body: JSON.stringify({ message: 'Internal server error' }),
  };
}

2. 에러 정보 미제공

  • 클라이언트가 문제 원인 파악 불가
  • 디버깅 어려움

3. 에러 유형 미구분

  • 400 (Bad Request) vs 404 (Not Found) vs 500 (Server Error) 구분 없음
  • 스택 트레이스 미보존

영향받는 파일

  • backend/lambda/src/index.ts
  • backend/lambda/src/todoService.ts

권장 조치

  1. 에러 유형별 HTTP 상태 코드 반환
    if (error instanceof ValidationError) {
      return { statusCode: 400, body: JSON.stringify({ error: error.message }) };
    }
    if (error instanceof NotFoundError) {
      return { statusCode: 404, body: JSON.stringify({ error: 'Not found' }) };
    }
  2. 커스텀 에러 클래스 정의
  3. 구조화된 에러 응답 형식
  4. Sentry 등 에러 모니터링 도구 적용 (선택)

참고

Metadata

Metadata

Assignees

No one assigned

    Labels

    mediumMedium prioritysecuritySecurity related issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions