All Articles

익명게시판 탐지기 개발

TL;DR

익명게시판에서 글쓴이가 쓴 다른글을 찾는 크롤러를 개발해보았다.
해당 글쓴이를 차단하고, 게시판의 모든 글을 조회해서
차단되어 보이지않는 글, 코멘트를 크롤링을 통해 찾아낸다.

익명게시판

우리학교는 커뮤니티가 꽤 활성화된 편이다.
특히 익명게시판이 활성화가 잘되어있는데,
익명이라고 해도 학교라는 공통 분모를 갖고있다보니
커뮤니티도 재밌고 중독성도 꽤 있는편이다.ㅋㅋ

특히 연애상담 게시판이 꿀잼

자랑글. 진짜? vs 어그로?

아래는 익명게시판에서 자주 보이는 자랑 글이다.
Screenshot_20190822-043304_Chrome

직장인 게시판에서 돈자랑을 하도 많이 봐와서,
저게 진정성있는 사람의 글인지, 익명성에 기댄 아무말 대잔치인지 늘 궁금했었다.
이번 기회에 저 사람을 파보기로하고, 크롤러를 만들어보았다.

결론부터 말하자면, 아래의 글들의 글쓴이는 저 글의 글쓴이와 동일인물이다.

Screenshot_20190822-043730_Chrome Screenshot_20190822-043748_Chrome

위에서 와이프와 함께 돈을 모아 건물을 구매한 글쓴이와,
소개팅을 나가서 상대방 남자의 자랑을 40분간 듣고온 글쓴이와,
본인을 2년채우고 빤스런한 회계사라고 소개하는 글쓴이는 동일인물이었다.

심지어 다른글의 코멘트에서는 본인을 은행원이라고 소개한다.
(작성자가 닉네임을 익명처리하지않아서 코멘트의 스크린샷은 생략했다.)

그는 과연 남성일까? 여성일까?
회계사일까? 은행원일까?

역시 익게는 오늘도 평화롭다.ㅋㅋㅋ

크롤러

크롤러는 아래와 같이 구현하였다.

  1. 내 계정의 차단리스트를 초기화한다.
  2. 해당 글의 글쓴이를 차단한다.
  3. 글을 하나하나 조회해보며 차단한 글쓴이인지, 차단되어 안보이는 코멘트가 있는지 검사한다.
  4. 찾지못하면 searched 폴더에 글번호를 저장,
    찾으면 foundauthor, foundreplier 폴더에 게시글링크, 코멘트번호를 저장하였다.
  5. 무한반복

크롤러가 동작하면서 남기는 로그: image

마치며

지난 7월 말 2주간의 여름휴가 막바지에 할일이 없어서 해본 사이드 프로젝트였는데,
생각보다 꿀잼이었다.

생각해보면 차단 기능이 있는 익명게시판은 필연적으로
이 원리로 익명성을 위협받을것 같다.

차단한 글의 존재를 파악하는것을 불가능하게 만들기위해,
글 번호에 기반한 url을 두지않는것을 상상해보았지만
차단을 하기 전, 후의 게시물이 비교 가능 해지는 순간 바로 취약점이 드러난다.

예를들면 차단을 하기 전, 후 노출되는 글 리스트를 전수비교 하면된다.

참고

이 크롤러는 selenium 을 사용해 구현하였다.
구현된 코드는 https://github.com/kujyp/ikgay_detector 에 공개되어있다.

Published 21 Aug 2019

kujyp 개발블로그

ML DevOps, Python, Docker ...
kujyp on Github