Spam account scanner script

https://github.com/TannerFilip/discourse-spam-check

I’ll start off by saying, I’m not a great programmer. This is the first “real” tool I’ve written that’s (potentially) useful to people other than me. I’d love any feedback/criticism you have.

I’ve written a Python script that scans through the list of suspect and/or silenced users and lets you delete them if necessary. I ran it over on Mozilla’s Discourse and deleted a few dozen accounts - this was only after I deleted close to a hundred by hand.

There are a few things that seem pretty hacky, especially lines 174 to 191. As I said, I’d appreciate any feedback you might have, and would be happy to answer any questions!

11개의 좋아요

Very cool! One thing you’ll want to do is be sure Akismet is enabled, as we recently (within the last 2-3 months) added a feature where the Akismet plugin will scan new user accounts for spammy stuff and flag them for you thanks to @Roman :clap:

Yes, completely human spam account signups – accounts that never post once, just set up an account with profile info and walk away forever – is indeed still a problem. The below is even after Akismet checking:

But bear in mind user profiles aren’t indexed at all, and new user profiles have seriously suppressed info.. and our Akismet change helps tremendously.

Having a cleanup tool is still needed though!

7개의 좋아요

I didn’t know that! I’ll have to talk to @LeoMcA to see if we want to enable that.

4개의 좋아요

의심 사용자는 이제 이 스크립트에서 사용하던 의심 사용자 목록을 제거한 검토 대기열(Review Queue)로 이동하고 있습니다. 수동 검토로 처리되고 있으므로, 이 기능이 여전히 필요한가요?

3개의 좋아요

이 부분에 대해 진행 상황이 있나요?

저희 커뮤니티에서는 매일 여러 개의 스팸/봇 계정 가입이 발생하고 있습니다. 이러한 계정들은 게시글 읽음 0개, 주제 열람 0개, 읽기 시간 1분 미만인 특징을 보입니다. 특정 조건을 충족하는 모든 계정을 자동으로 삭제할 수 있는 기능이 있으면 좋겠습니다.

또한, 봇을 걸러내는 데 도움이 되는 캡차(Captcha) 또는 유사한 플러그인 옵션이 있나요?

해당 계정에 활동이 없다면 무해합니다. 다른 사용자(공개 사용자 목록 포함)에게는 보이지 않습니다. 또한 사용자 프로필은 신뢰 수준과 관계없이 robots.txt에서 허용되지 않으며, 검색 엔진에서도 표시되지 않습니다.

게다가 비활성 계정은 주기적으로 정리됩니다. 일정 기간 후 비활성 사용자 정리 설정을 참고해 주세요(“게시글이 없는 비활성 사용자(신뢰 수준 0)가 삭제되기까지의 일수. 정리를 비활성화하려면 0으로 설정하세요.”).

이 작업은 CleanUpInactiveUsers SideKiq 작업을 통해 트리거됩니다.

1개의 좋아요

이것은 아무것도 금지하지 않습니다. robots.txt는 단순히 정중한 제안일 뿐이며, 동시에 올바른 방향을 가리켜 줍니다.

해당 계정 자체는 무해해 보일 수 있지만, 과거 스팸 발송자들은 신규 계정에 대한 모니터링을 우회하기 위해 계정을 먼저 생성해 두고 일정 기간이 지난 후 활성화하는 수법을 사용해 왔습니다. 그렇게 3개월 전에 생성된 계정이 갑자기 스팸 링크를 달거나 피싱 시도로 사용자에게 DM을 보내는 식으로 악용됩니다.

개인적으로는 문제가 되기 전에 이를 선제적으로 차단할 수 있는 더 나은 도구가 필요하다고 생각합니다. 또한 봇이 아예 가입하지 못하도록 방지하는 강력한 도구도 함께 마련된다면 도움이 될 것입니다.

네, 가끔은 여전히 문제가 될 수 있습니다. 저는 스팸을 많이 경험하지만, 그동안 오랫동안 활동하지 않던 스팸 계정들이 갑자기 게시물을 올리는 경우는 본 적이 없습니다.

그들이 스팸을 게시한다면, 어쨌든 다른 사용자들에 의해 빠르게 신고될 것입니다.

그리고 비활성 계정이 삭제되기까지의 기간을 여전히 크게 줄일 수 있습니다.