用户删除被标记为垃圾邮件的帖子后,账户在没有复审的情况下被禁言

优先级/严重性:

中等

平台:

Discourse 版本 b66fca70d0e3d12ef930398289fac5269cd240c7

描述:

Discourse 提供了一个自动垃圾邮件检测系统。该系统在检测到帖子为垃圾邮件时执行的操作包括:

  • 禁言发帖人账户
  • 标记帖子

标记会将自动化操作提请人类管理员注意以供复核。由于自动化系统容易出现误报,人工复核至关重要。

如果被标记帖子的作者在被标记后删除了该帖子(他们可能会觉得有义务在收到帖子被标记的通知后这样做),复核项会自动标记为已解决。解决中使用的结论是“忽略”。

:bug: 用户的账户仍然处于被禁言状态。人类管理员将不会知道自动化系统的操作,因此不会对禁言操作进行必要的复核。

可复现步骤:

  1. 使用具有管理员权限的账户登录 Discourse 论坛。
  2. 使用管理员账户,调整 /admin/plugins/discourse-ai/ai-spam 上的自定义指令,以确保可以对测试帖子产生垃圾邮件检测(例如,通过在指令中指定包含任意唯一关键字的帖子应始终被视为垃圾邮件)。
  3. 在论坛上创建一个一次性账户。
    出于此目的使用新账户是必要的,因为 Discourse AI 垃圾邮件功能只扫描每个用户创建的前三个帖子。
  4. 使用一次性账户创建一个帖子,该帖子将因上一步配置的自定义指令而被检测为垃圾邮件。
  5. 等待一次性账户收到帖子被隐藏的通知。
  6. 使用一次性账户删除该帖子。
  7. 使用管理员账户导航到复核队列,并将“状态”过滤器设置为“待处理”(默认设置):/review
    :bug: 没有针对垃圾邮件检测系统操作的待处理复核项。
  8. 使用管理员账户导航到一次性用户账户的个人资料页面。

:bug: 用户的账户被永久禁言,且无法保证人类管理员复核了这一影响重大的操作。一个帖子的作者如果遭遇了垃圾邮件检测的误报,将被不公平地排除在论坛社区的参与之外。

附加信息:

我在我管理的论坛 forum.arduino.cc 上重现了该错误。由于需要管理员权限,我无法尝试在 try.discourse.org 上重现该错误。