Moderadores lendo mensagens nos Registros de Ação da Equipe

Estamos enfrentando um problema de privacidade em que moderadores conseguem acessar mensagens que não deveriam ter permissão para ver.

Pelo que pude perceber, o Discourse tem dois objetivos de design que entram em conflito aqui:

  1. Moderadores não estão isentos das verificações de permissão e só podem ler mensagens para as quais foram convidados.
  2. Quando moderadores usam seus poderes, qualquer ação que realizam é registrada e pode ser inspecionada por qualquer membro da equipe.

Às vezes, esses objetivos entram em conflito, por exemplo, quando um moderador edita a postagem de outro usuário em uma mensagem que inclui esse usuário. Nesses casos, o Discourse prioriza o :two:: a postagem do usuário editado é revelada a toda a equipe nos registros de ações da equipe.

Embora eu já discorde da decisão de priorizar o :two:, isso gera casos extremos que considero definitivamente indesejáveis, beirando um Contribute > Bug. O maior que encontramos: os moderadores podem atualmente ler cada mensagem que contém um link para uma imagem externa, pois o @system baixa a imagem, edita a postagem e isso é adicionado aos registros de ações da equipe.

Não tenho certeza de qual é o caminho correto a seguir aqui. Tornar o acesso ao registro de ações da equipe configurável para moderadores? Não permitir a visualização da postagem para entradas de registro de ações da equipe originadas pelo @system? Fazer com que o recurso de visualização da postagem respeite, de forma geral, as permissões da postagem?

De qualquer forma, espero que algo possa mudar aqui, pois atualmente estamos sendo forçados a bloquear o acesso à API de registro de ações da equipe no nível do Nginx.

9 curtidas

Acho que essas edições não deveriam ser registradas.

@david, você pode garantir que não registraremos essas edições muito específicas do usuário @system? (e remover as existentes)

10 curtidas

Isso foi feito em FIX: Do not log 'pull_hotlinked_images' edits in the staff action log · discourse/discourse@67a9894 · GitHub.

Observe que os moderadores ainda podem ver os registros de mensagens privadas editadas por alguém que não seja o autor.

Isso é complicado de automatizar — não temos como saber se os registros existentes são de “pull de imagens hotlinked” ou foram editados como usuário do sistema via API. @fefrei, se quiser apagar os registros antigos de todas as edições do sistema no seu site, você pode executar algo assim no console:

UserHistory.where(action: UserHistory.actions[:post_edit], acting_user: Discourse.system_user).destroy_all
9 curtidas

Ótimo, obrigado! :heart:

5 curtidas