TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 37 READS

레딧은 매일 쏟아지는 스팸을 어떻게 막을까, 안티스팸 내부 들여다보기

거대 커뮤니티의 보이지 않는 방패

전 세계에서 가장 큰 커뮤니티 사이트 중 하나인 레딧(Reddit)에는 매 순간 어마어마한 양의 글과 댓글이 올라와요. 그중 상당수는 사람이 아니라 봇이 뿌리는 스팸이거나, 가짜 계정으로 여론을 조작하려는 시도예요. 이런 걸 일일이 사람이 막는 건 불가능하죠. 그래서 레딧 내부에는 보이지 않는 거대한 안티스팸(anti-spam) 시스템이 24시간 돌아가고 있어요. 이번에 그 내부 구조를 엿볼 수 있는 글이 나왔는데, 스팸 방어 시스템을 설계해본 사람이라면 꽤 흥미로운 내용이에요.

핵심은 '규칙 엔진'이에요

레딧 안티스팸의 중심에는 룰 엔진(rule engine)이 있어요. 이게 뭐냐면, '이런 조건들이 맞으면 이렇게 처리해라'라는 규칙을 사람이 코드 배포 없이 빠르게 추가하고 바꿀 수 있게 한 시스템이에요. 예를 들면 '가입한 지 1시간도 안 된 계정이, 같은 링크를, 여러 게시판에, 1분 안에 5번 이상 올렸다 → 차단' 같은 규칙을 만드는 거죠.

왜 이런 구조가 중요할까요? 스패머들은 막히면 곧바로 수법을 바꾸거든요. 만약 규칙 하나 바꾸려고 매번 코드를 새로 짜서 배포해야 한다면 며칠씩 걸려서 도저히 못 따라잡아요. 룰 엔진을 쓰면 새로운 스팸 패턴이 발견됐을 때 몇 분 만에 대응 규칙을 라이브에 반영할 수 있어요. 공격과 방어가 실시간으로 치고받는 싸움에서 이 속도가 곧 생명이에요.

어떤 신호(signal)들을 볼까요?

시스템이 '이게 스팸인가?'를 판단할 때 보는 단서들을 신호라고 불러요. 대표적인 게 이런 것들이에요.

이런 신호들을 조합해 점수를 매기고, 위험도가 높으면 차단하거나 사람 검토(모더레이터)로 넘기는 식이에요.

잡았다고 바로 알려주지 않아요

재미있는 포인트가 하나 있어요. 스팸 계정을 잡았을 때 대놓고 '당신 차단됐어요'라고 알려주지 않는 경우가 많다는 거예요. 이걸 흔히 섀도밴(shadowban)이라고 불러요. 본인 눈에는 글이 정상적으로 올라간 것처럼 보이는데, 실제로는 다른 사람들에게 안 보이는 상태인 거죠. 왜 이렇게 할까요? 스패머가 '아 이 방법은 막혔구나' 하고 바로 알아채면 다른 수법으로 갈아타거든요. 차라리 모르게 둬서 헛수고하게 만드는 게 방어 입장에선 더 이득일 때가 많아요.

업계 맥락에서 보면

이런 고민은 레딧만의 것이 아니에요. 네이버, 카카오, 당근, 디시인사이드 같은 한국 커뮤니티도, 유튜브 댓글이나 이메일 스팸 필터도 본질은 똑같아요. 규칙 기반(rule-based)으로 빠르게 막되, 머신러닝으로 새로운 패턴을 학습하고, 공격자에게 정보를 최대한 안 주는 것. 특히 '단순 ML 모델 하나로 다 해결'이 아니라 빠른 룰 엔진과 ML을 함께 쓰는 하이브리드 접근이 현실적이라는 게 핵심 교훈이에요. ML은 강력하지만 새 패턴에 재학습하려면 시간이 걸리고, 그 빈틈을 룰이 메워주거든요.

한국 개발자에게

커뮤니티 서비스나 사용자 콘텐츠(UGC)를 다루는 서비스를 만든다면, 운영자가 코드 없이 규칙을 바꿀 수 있는 룰 엔진 구조를 일찍부터 고민해두면 좋아요. 처음엔 단순 if문으로 시작해도, 결국 운영팀이 직접 조건을 추가할 수 있는 형태로 진화시켜야 빠른 어뷰징 대응이 가능하거든요. 또 차단 사실을 즉시 노출하지 않는 섀도밴 같은 설계도, 어뷰징 대응에서 의외로 강력한 무기라는 걸 기억해두세요.

핵심 한 줄: 스팸 방어는 한 방의 똑똑한 모델이 아니라, 빠르게 바꿀 수 있는 규칙 + 학습하는 모델 + 정보를 숨기는 심리전이 합쳐진 종합 게임이에요. 여러분이 운영하는 서비스라면 어뷰징에 어떤 방식으로 대응하고 계신가요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://lyra.horse/blog/2026/06/reddit-spam-internals/
SHARE
처리 중...