개발 slecs

금융 서비스에 비정상 충전 패턴 이상감지 시스템 구축

목차

feat: 이상감지 및 할당량 관리 기능 구현

이상감지 기능은 금융 서비스에서 특히 중요함. 비정상 패턴을 자동으로 탐지하고 기록해두는 시스템을 구현했음.

이상 패턴 유형

패턴 조건 조치
단시간 대량 충전 1시간 내 N회 이상 경고 + 관리자 알림
비정상 시간대 접근 새벽 2-5시 대량 거래 로그 기록
기기 변경 후 즉시 거래 기기 바뀌고 5분 내 2차 인증 요구
할당량 초과 시도 제한 금액 계속 재시도 일시 차단

탐지 로직

public boolean isAnomaly(AnomalyCheckDto dto) {
    int chargeCount = anomalyMapper.countRecentCharge(
        dto.getMemberSn(),
        LocalDateTime.now().minusHours(1)
    );
    return chargeCount >= anomalyThreshold;
}

이력 조회 기능

관리자가 특정 사용자의 이상감지 이력을 조회할 수 있도록 Excel 다운로드와 함께 제공함.

  • 조회 기간 필터
  • 이상 유형 필터
  • CSV/Excel 내보내기

다음: ML 기반 이상 스코어링 도입 검토

개발 원칙 정리

이 작업을 진행하면서 재확인한 원칙들:

작은 커밋: 변경 단위를 작게 유지해서 코드 리뷰와 롤백이 쉽게.

테스트 먼저: 변경 전 현재 동작을 파악하고, 변경 후 동일하게 동작하는지 확인.

문서 동기화: 코드가 바뀌면 관련 주석과 문서도 같이 업데이트.

원칙 이유
단일 책임 하나의 함수/클래스는 하나의 역할만
명시적 코드 영리한 코드보다 읽기 쉬운 코드
실패 우선 처리 happy path보다 에러 케이스 먼저 설계

댓글 0

첫 댓글 달아줘.