본문 바로가기

사람+AI가 함께 잡는 게임 봇

`,.' 2025. 8. 30.

📌 핵심 요약

  • 무엇을 했나? 모바일 MMORPG에서 자동 사냥·자동 레벨업 을, 라벨 없이(완전 비지도) 잡아내는 새 프레임워크를 제안해요. 플레이어의 레벨업 시간 기록만으로 패턴을 뽑아 비슷한 애들을 군집(클러스터) 하고, 마지막에 LLM(예: GPT-4o) 이 한 번 더 걸러줘요.
  • 왜 필요하나? 봇은 사람처럼 보이려고 흉내를 잘 내고, 제재는 증거와 설명 가능성이 중요해서 “왜 잡았는지”가 보여야 해요. 이 프레임워크는 시각화(성장 곡선)LLM 설명으로 그 부분을 보완합니다.
  • 어떻게 했나? 레벨 1→50까지 각 레벨 사이 걸린 시간(분) 시퀀스를 임베딩(대표 특징 벡터)으로 바꾸고, DBSCAN으로 군집화. 그다음 LLM이 클러스터 내부를 점검해 ‘정상 유저 섞임’을 빼줍니다.
  • 결과 한 컷: 임베딩 품질은 TS2Vec가 가장 좋았고(Kendall’s τ≈ 0.83), DBSCAN의 q=0.1 설정이 대체로 가장 안전한 군집을 만들었어요. LLM을 붙이니 ‘같이 접속·접근하는 정도’(동일인/동일 집단 가능성을 보는 지표)가 더 낮아져, 제재 명단의 신뢰성이 높아졌습니다.


1. 배경: 왜 게임 봇이 어렵고, 왜 ‘설명’이 필요할까

MMORPG 봇은 가성비 루트(잘 오르는 사냥터·퀘스트)를 반복해 사람보다 일정하고 빠르게 캐릭터를 키웁니다. 이러면 경제 교란·RMT(현금 거래) 등으로 공정성이 무너져요. 그런데 사람처럼 보이게 위장하는 데 능하고, 제재 후 분쟁이 생기면 “왜 나를 잡았는지”가 설명돼야 합니다. 그래서 정확도 + 설명 가능성이 핵심 과제예요.


2. 한 장 요약: 파이프라인

  • 비유: 같은 시간대에 같은 버스를 타서 똑같은 정류장들만 찍고 출근하는 사람들(=봇)은 같은 경로·시간 패턴이 나옵니다. 반면 사람 유저는 친구 만나고 PVP하고 길드 이벤트 들르느라 패턴이 들쭉날쭉해요.
  • 이 논문은 그 “버스 정류장 시간표” = 레벨업 사이 걸린 시간을 모아서, 비슷한 사람끼리 묶고(군집)이상한 섞임이 없는지 LLM이 재확인성장 곡선 그림으로 사람이 최종 점검하는 흐름입니다.

3. 데이터와 전처리: 레벨업 시간 시퀀스 만들기

  • 무엇을 쓰나? 각 캐릭터의 레벨 i→i+1까지 걸린 시간(분) 을 순서대로 모은 시퀀스 T(p). 분석의 안정성을 위해 레벨 50까지만 사용(그 이상은 PVP·사회적 변수로 패턴이 흐트러지기 쉬움). 결측·유료 아이템 영향으로 패턴이 왜곡된 계정은 제외합니다.

4. 핵심 모델: 임베딩 → DBSCAN → LLM 2차 검증

  1. 임베딩(표현 학습)
  • TS2Vec으로 시퀀스를 고정 길이 벡터로 바꿉니다. 비슷한 시퀀스는 가깝게, 다른 시퀀스는 멀게 배치하는 게 목표예요. 봇은 루틴이 일정해서 벡터가 한데 뭉치고, 사람은 활동이 제각각이라 퍼지게 됩니다.
  1. 군집화(DBSCAN)
  • 파라미터 min_samples=3(현장 관찰상 봇 파티가 최소 3인 이상인 경우가 많아서), ε(엡실론)거리 분포의 분위수(q=0.1 또는 0.2) 로 자동 설정하는 방식을 채택. 즉, 가까운 애들만 묶는 보수적 군집을 우선합니다.
  1. LLM 2차 검증(‘사람 심사 보조’)
  • 군집 안에 정상 유저가 끼어들었는지 LLM이 제로샷 규칙으로 판정(“패턴 구조 비교 → 봇 의심 그룹 표시 → 정상 추정자 제외”). 논문은 GPT-4o 를 사용했고, 입력 길이 한계 때문에 “LLM 단독”보단 임베딩+군집 → LLM 보조가 현실적임을 보여줍니다.

5. 시각화: 성장 곡선으로 ‘설명 가능한’ 제재

  • 각 캐릭터의 레벨업 간격(분)선으로 이어 보여주면, 봇 군집은 거의 겹치는 ‘빼박 규칙선’, 정상 유저는 요철이 많은 들쭉날쭉선이 나와요. GM(운영자)은 이 그림만 봐도 “왜 이 계정이 묶였는지” 금방 납득할 수 있어 법적·고객 응대에 도움이 됩니다.

6. 실험과 수치: 무엇이 얼마나 좋아졌나

  • 데이터 규모: 상용 모바일 MMORPG 3종(각 DAU≈20만), 학습: 2024.10.1~12.31, 평가: 2025.1.1~1.14. 학습 1,005,522건, 평가 38,514건.
  • 임베딩 품질(시퀀스 교란을 점점 키워가며 순서 보존력 평가): TS2Vec(τ≈0.8304) > 오토인코더(≈0.8219) > DTW(≈0.5283). → TS2Vec 채택 근거.
  • 군집 성능 & 안전성: ε을 q=0.1로 잡을 때, ‘같이 접속하는 경향’(동일 통제 가능성)을 재는 Acc_info 값이 대체로 더 낮아 오탐 위험이 줄어든 군집이 만들어졌어요. 너무 큰 ε은 #탐지 수는 늘리지만 혼입 위험도 키웁니다.
  • LLM 보정 효과: LLM을 적용하면 세 게임 모두 Acc_info 추가 하락(=정상 유저 섞임 더 줄임). 즉, “기계 1차 + LLM 2차 + 사람이 최종” 구조가 실무에 맞는 안전한 파이프라인임을 확인.

쉬운 해석: q=0.1은 “딱붙는 애들만 묶자”는 전략, LLM은 “혹시 사람 섞였나 마지막 확인자”. 둘 다 오탐 줄이는 안전장치예요.


7. 현장 적용 팁: 보안/데이터/운영 팀 체크리스트

  • 보안/데이터 팀
    • 레벨 50 전까지의 레벨업 간격 시퀀스 파이프라인부터 표준화(유료 아이템 영향·결측 로그 제외 규칙 포함).
    • TS2Vec 임베딩 + DBSCAN(q=0.1 추천) 기본값으로 시작, 서비스별 튜닝. min_samples=3를 기본, 파티 문화 다르면 재조정.
    • 성장 곡선 대시보드로 클러스터별 겹침 정도 확인(최대/평균 차이 지표 같이 표기).
  • 운영(GM) 팀
    • LLM 판정 리포트에 근거 포인트(“어느 구간에서 동일 패턴이 집중되었는가”)를 문장으로 첨부받아, 고객 응대용 설명 스크립트에 반영.
    • 제재 전 샘플링 수기 확인 루틴 유지(고액 결제, 장기 이용자 등 민감 케이스).
  • 법무/정책
    • “자동 판정 + LLM 검토 + 사람 최종 승인”의 3중 절차 명문화. 시각화 자료 보관으로 분쟁 대응.

8. 한계와 다음 단계

  • 상위 레벨(50↑) 은 사회적 변수로 패턴이 흐트러져 분석에서 제외됨 → 상위 구간 특화 모델 필요.
  • 유료 아이템·특수 이벤트 영향은 배제 규칙에 의존 → ‘합법적 부스터’와 ‘봇 루틴’의 경계 정교화 필요.
  • LLM 의존: 제로샷 규칙 설계와 입력 길이 한계가 품질을 좌우 → 클러스터 단위 요약/근거 추출 자동화 연구가 유용.

9. 한 문장 결론

“레벨업 시간표”만 잘 보면 봇은 서로 닮아 있어요. 임베딩·군집으로 한 번, LLM과 성장 곡선으로 두 번 검증하면, 라벨 없이도 안전하고 설명 가능한 제재가 가능해집니다.


2508.20578v1.pdf
1.45MB

댓글