TL;DR
- 웹사이트에 하루 약 20건씩 가입이 발생했지만, 계정은 대형 기업의 실제 이메일 주소를 사용했고 가입과 이메일 인증 외에는 활동이 없음.
- 처음에는 가입 알림이 이메일 인증 전에 발송돼 인증하지 않는 봇의 가입으로 판단함.
- 알림 발송을 이메일 인증 후로 바꾸자 약 한 달간 조용했지만, 이후 인증된 가입이 다시 늘어남.
- 이메일 서비스가 의심스러운 링크를 확인하려고 직접 방문하는 과정에서 웹사이트가 이메일 주소를 자동 인증하는 것이 원인임.
- 특정 헤더가 있는 요청은 인증 처리에서 제외하고 사이트에 직접 인증 버튼을 추가한 뒤, 기존 계정을 삭제해 문제를 해결함.
갑자기 늘어난 가입
- 웹사이트에 새 사용자가 가입하면 알림을 받지만, 마케팅을 거의 하지 않아 가입은 매우 드문 편임.
- 어느 날부터 하루 약 20명이 가입하기 시작함. 사이트에는 캡차 같은 장치가 없고, 가입에는 이메일과 비밀번호, 경우에 따라 사용자 이름만 필요함.
- 가입자 데이터베이스를 확인해도 계정 생성 외에는 별다른 활동이 보이지 않음.
- 처음에는 가입 링크를 누르기도 전에 백엔드가 알림을 보내도록 설정해 둔 상태였음. 따라서 가짜 가입도 알림에 잡혔고, 이메일을 인증하지 않는 봇일 것이라고 생각함.
첫 번째 수정과 다시 늘어난 가입
- 새 사용자 알림을 이메일 인증이 완료된 뒤에만 보내도록 바꾸자 약 한 달 동안 알림이 사라짐.
- 이후 인증을 마친 가입이 다시 몇 건씩 들어오기 시작했고, 점차 늘어 다시 하루 약 20명에 이름.
- 가입자는 이메일 인증까지 마치지만 그 외에는 활동하지 않음.
hermes에이전트를 사용해 보고, 일부 에이전트가 전용 이메일 받은편지함을 가질 수 있다는 점을 떠올림. Hugging Face 관련 사건과 독일 포럼이 봇에 이용됐다는 게시물 제목도 접한 상태였음.- 처음에는 봇이 소통하거나 세상을 장악할 장소를 찾으며 웹을 돌아다니는 상황에 자신도 휘말린 것이라고 생각함.
실제 원인
- 새 계정의 이메일 주소를 확인하자
@openai.com이나@anthropic.com, 직접 만든 듯한 도메인이 아니라 화학·건설 분야를 비롯한 대기업의 실제 업무용 이메일 주소가 다수였음. 일부는 나스닥 상장 기업의 이메일 주소였음. - 대형 이메일 계정이나 서비스는 의심스러운 링크가 포함된 메일을 제대로 분류하려고 링크의 URL에 직접 접속해 내용을 확인할 수 있음.
- 웹사이트는 이메일 인증 링크에 접속하는 요청을 인증 완료로 처리하고 있었음. 따라서 이메일 서비스가 링크를 확인하는 것만으로 계정 인증이 이뤄짐.
수정과 마무리
- 특정 헤더가 포함된 요청은 인증으로 처리하지 않도록 미들웨어를 추가함.
- 사이트에 ‘이메일 인증하기’ 버튼을 추가해 사용자가 직접 인증을 완료하도록 바꿈.
- 기존 계정을 삭제한 뒤 데이터베이스는 다시 조용해졌고, 이후 새 사용자 알림도 더는 받지 않음.
- 정교한 에이전트 군집의 공격은 아니었으며, 작은 웹사이트에서 발생한 흥미로운 이메일 링크 확인 문제였음.
- 웹사이트는 완벽하지 않고 대부분 개인적으로 사용하기 위한 것이지만, 위험 부담이 적은 환경에서 천천히 관리하며 이런 문제를 발견하는 경험은 개발자로서 다시 일하는 듯한 재미를 줌.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요