Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
asso:moderation:mobilizon [2022/04/16 13:04] – qduchemi | asso:moderation:mobilizon [2023/03/13 17:05] (Version actuelle) – qduchemi | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{indexmenu_n> | ||
## Mobilizon : vive le spam ! | ## Mobilizon : vive le spam ! | ||
- | < | + | < |
### Modération fédérée : une autre paire de manches | ### Modération fédérée : une autre paire de manches | ||
Ligne 17: | Ligne 18: | ||
- Mais les comptes de spam peuvent venir d' | - Mais les comptes de spam peuvent venir d' | ||
- | Ce qui rend la modération sur les services fédérés très complexes ; à tel point qu'une [thèse | + | Ce qui rend la modération sur les services fédérés très complexes ; à tel point qu'une [thèse |
### Gérer les problèmes locaux | ### Gérer les problèmes locaux | ||
Ligne 25: | Ligne 26: | ||
La liste des signalement est accessible depuis le compte administrateur et ressemble à ça : | La liste des signalement est accessible depuis le compte administrateur et ressemble à ça : | ||
- | {{ : | + | {{ : |
On constate que ces signalement sont bien effectués par des personnes extérieures. Chaque signalement est transmis sur `picasoft@assos.utc.fr`. | On constate que ces signalement sont bien effectués par des personnes extérieures. Chaque signalement est transmis sur `picasoft@assos.utc.fr`. | ||
Ligne 33: | Ligne 34: | ||
Deux cas se présentent. | Deux cas se présentent. | ||
- | ##### Compte de spam | + | #### Compte de spam |
Un compte fait uniquement de la publicité et du spam, sur toutes les instances. Exemple typique via un signalement : | Un compte fait uniquement de la publicité et du spam, sur toutes les instances. Exemple typique via un signalement : | ||
- | {{: | + | {{ : |
On clique sur l' | On clique sur l' | ||
- | {{: | + | {{ : |
On décide de supprimer le compte, on y accède au compte en cliquant sur l' | On décide de supprimer le compte, on y accède au compte en cliquant sur l' | ||
Ligne 47: | Ligne 48: | ||
< | < | ||
- | {{: | + | {{ : |
On clique sur « Suspendre ». | On clique sur « Suspendre ». | ||
Ligne 59: | Ligne 60: | ||
Dans ce cas, il sera peut-être pertinent de supprimer uniquement l' | Dans ce cas, il sera peut-être pertinent de supprimer uniquement l' | ||
- | {{: | + | {{ : |
< | < | ||
Ligne 75: | Ligne 76: | ||
Par exemple, même après avoir suspendu le compte `buyyoutubeviews` en local, on constate qu'il règle un événement dans le flux : | Par exemple, même après avoir suspendu le compte `buyyoutubeviews` en local, on constate qu'il règle un événement dans le flux : | ||
- | {{: | + | {{ : |
En cliquant dessus, on réalise que c'est un compte distant : | En cliquant dessus, on réalise que c'est un compte distant : | ||
- | {{: | + | {{ : |
On peut rechercher ce compte depuis l' | On peut rechercher ce compte depuis l' | ||
- | {{: | + | {{ : |
Et choisir de le suspendre, comme dans le cas local. | Et choisir de le suspendre, comme dans le cas local. | ||
Ligne 96: | Ligne 97: | ||
Il faut probablement engager le dialogue, et en l' | Il faut probablement engager le dialogue, et en l' | ||
+ | |||
+ | ### Grosse vague de spam, détecter les contenus problématiques | ||
+ | |||
+ | < | ||
+ | |||
+ | Une fois dans le conteneur de base de données : | ||
+ | |||
+ | ```sh | ||
+ | psql -U mobilizon -d postgres_mobilizon | ||
+ | ``` | ||
+ | |||
+ | Pour détecter les profils problématiques, | ||
+ | ```sql | ||
+ | SELECT url FROM events WHERE local = true AND draft = false AND visibility = ' | ||
+ | ``` | ||
+ | |||
+ | Cette requête recherche des mots clés dans les évènements, | ||
+ | ```sql | ||
+ | SELECT organizer_actor_id, | ||
+ | ``` | ||
+ | Ces mots clés peuvent être utilisés (non exhaustif, à compléter) : | ||
+ | * cash | ||
+ | * bitcoin | ||
+ | * escort | ||
+ | * driver | ||
+ | * download | ||
+ | * exam | ||
+ | * design (! beaucoup de faux positifs) | ||
+ | * company | ||
+ | |||
+ | Cette requête indique les comptes ayant beaucoup d' | ||
+ | ```sql | ||
+ | SELECT organizer_actor_id, | ||
+ | ``` | ||
+ | |||
+ | On peut ensuite accéder au profil à l'URL `https:// | ||
+ | |||
+ | Cette requête indiques les profils ayant créé des évènement qui démarrent très peu de temps après la création du compte, encore une fois c'est parfois légitime mais c'est un critère commun à beaucoup de spams : | ||
+ | ```sql | ||
+ | SELECT DISTINCT actors.id, actors.url FROM actors INNER JOIN users ON actors.user_id = users.id INNER JOIN events ON events.organizer_actor_id = actors.id WHERE events.begins_on - users.inserted_at < '2 hours':: | ||
+ | ``` |