- Dans une issue GitHub, une discussion sur le fait de mettre un registre à 0 a été interprétée comme une mention de l’utilisateur @reset, ce qui a envoyé à répétition des notifications par e-mail à la mauvaise personne
- La cause vient du fait que GitHub interprète automatiquement des chaînes comme
@resetcomme des mentions, si bien qu’un mot employé dans un contexte technique peut déclencher l’appel d’un véritable utilisateur - Des identifiants courts qui se superposent à des termes techniques ou à des placeholders, comme
@boxed,@stack,@else,@fontou@acme, subissent des problèmes similaires de notifications indésirables - L’usage de backticks ou le fait d’éviter
@[any_text]ont été proposés, mais comme les notifications peuvent aussi être déclenchées dans les messages de commit et les commentaires de PR ou d’issues, il est difficile d’éviter totalement le problème - L’utilisateur
@resetaurait indiqué dans un commentaire sur Hacker News qu’il en riait et appréciait la situation, mais des identifiants courts et génériques entrent facilement en conflit avec les fonctions de mention automatique des outils de développement
L’incident des mentions @reset
- Adrian Sampson s’est excusé après avoir envoyé des notifications par e-mail à l’utilisateur
@resetsur GitHub en parlant du fait de mettre des registres à zéro - Le commentaire d’issue GitHub lié est un commentaire d’issue dans le dépôt
cucapra/calyx, et le cœur du problème est que@reseta été interprété comme un nom d’utilisateur GitHub - Dans le contexte technique de “setting registers to zero”, le mot
resetapparaissait naturellement, et l’ajout de@en a fait une véritable mention utilisateur
Les notifications absurdes reçues par les identifiants courts
- Les identifiants qui coïncident avec des termes techniques ou des noms courants reçoivent facilement des notifications involontaires sur différents services
- L’utilisateur
@boxedutilise le même pseudo sur GitHub et Mastodon, et explique recevoir beaucoup de notifications GitHub parce que des gens écrivent@boxeddans des messages de commit - L’utilisateur
@stackdit recevoir automatiquement des messages quand@est ajouté à des variables liées à la pile dans certains langages - Un utilisateur qui employait
@elsea fini par abandonner cet identifiant à cause du grand nombre de notifications issues de PR et de commentaires - L’utilisateur
@acmereçoit de nombreuses notifications parce que son identifiant recoupe des placeholders de plusieurs frameworks - Dans des discussions CSS, quand on parle de
@font-face, l’utilisateur@fontse retrouve lui aussi régulièrement dérangé
- L’utilisateur
La difficulté d’éviter les mentions automatiques de GitHub
- Des réactions du type « le caractère
@ne peut pas être échappé » montrent que le problème principal vient du traitement automatique des mentions par GitHub - Certains conseillent de ne pas écrire directement
@[any_text]dans les issues ou les PR GitHub - D’autres suggèrent que l’usage de backticks peut aider
- Dans les espaces textuels que les développeurs utilisent souvent — code, commentaires, messages de commit, commentaires d’issues — les formes
@motpeuvent entrer en conflit avec des noms d’utilisateur
Des cas similaires devenus des blagues
- Cette situation est perçue comme un effet secondaire du choix d’identifiants courts et très courants
- Certains ont comparé cela à l’histoire d’un chercheur en sécurité ayant acheté la plaque d’immatriculation
NULLet reçu des contraventions non attribuées - D’autres ont pensé à Steve Wozniak, qui après avoir obtenu le numéro
888-8888, recevait des appels d’enfants appuyant plusieurs fois sur les boutons - Sur IRC, un utilisateur nommé
pokesdisait recevoir souvent des messages privés parce que des gens tapaient par erreur/me pokes [name]comme un/msg - Sur Mastodon aussi, des cas existent où une émoticône comme
@_@peut envoyer une notification à l’utilisateur@_d’une instance donnée
La réaction de l’utilisateur @reset
- L’utilisateur
@resetaurait laissé sur Hacker News un commentaire disant, en substance, qu’il répondait en riant à chaque notification et qu’il appréciait réellement la situation - Les réactions qui ont suivi allaient plutôt dans le sens du soulagement de l’apprendre
- Malgré cela, l’ensemble de ces exemples montre que des identifiants courts et génériques, combinés aux fonctions de mention automatique des plateformes de développement, peuvent envoyer à répétition des notifications à des personnes qui n’étaient pas visées
1 commentaires
Avis sur Hacker News
@reset est ici. Je réponds toujours quand on me mentionne avec @. C’est drôle, et c’est aussi vraiment très plaisant de voir ce que les gens construisent ensuite
J’espère que ça continuera, c’est une partie assez agréable de ma journée
J’ai travaillé autrefois chez Realm, une entreprise de bases de données mobiles. On avait une intégration qui republiquait dans Slack les mentions de @realm sur Twitter, pour voir ce qui se passait
Un matin, le canal #twitter était rempli de contenu presque pornographique. De jeunes hommes portaient des vêtements révélateurs, exhibaient leurs abdos et souriaient à la caméra
Il s’est avéré que quelqu’un avait branché un bot qui republiait des posts Instagram sur Twitter, mais Instagram autorise les points dans les noms d’utilisateur alors que Twitter ne les autorise pas. Le compte IG était sans doute @realm.of.beauty, et Twitter l’a interprété directement comme @realm
En parcourant notre hashtag ou nos mentions, on tombait parfois sur une scène où un jeune acteur se faisait frapper de façon suggestive les fesses nues avec une sorte de batte de cricket
Dans un précédent boulot, on avait décidé de créer un canal Slack nommé d’après une directive du préprocesseur C. C’était probablement #define ou #endif. Quelques personnes l’ont trouvé et ont compris la blague
Mais quelques mois plus tard, un administrateur m’a contacté pour me demander s’il pouvait supprimer ce canal. Dans les grandes organisations, Slack connaît les canaux qui ne doivent pas être visibles par d’autres parties de l’organisation, et à cause de ça, les mentions de directives du préprocesseur C étaient censurées pour les personnes hors de mon groupe ^^;
Il m’est arrivé de coller par erreur une backtrace dans une issue GitHub sans bloc de code. La pile était profonde et chaque ligne commençait par “#0”, “#1”, “#2”, etc., et GitHub a transformé tout ça en liens vers les issues portant ces numéros
Des notifications de rétro-référence ont même été envoyées à chaque issue, et il ne semblait pas y avoir de moyen d’annuler ce comportement
Le problème, c’est qu’en fusionnant le template mis à jour dans les dépôts enfants, les issues de chaque dépôt enfant étaient aussi fermées
Ils avaient rencontré ce problème très tôt pendant la migration depuis Launchpad, donc il n’a fallu renuméroter que deux ou trois issues déjà créées avec de petits numéros, et ce n’était pas très grave
Il arrive que des gens confrontés à un bug me @ simplement parce que j’ai récemment contribué au dépôt. Dans ces cas-là, je réponds juste “LGTM Approved”, et les gens s’énervent
Je me fiche de ce qui est check-in dans ce projet. Ce n’est pas le mien
Une fois, j’ai changé de numéro de téléphone pour que les 8 derniers chiffres soient 69696969. Je trouvais ça hilarant
Puis j’ai découvert que des gens avaient écrit ce numéro n’importe où dans toutes les cabines de toilettes, avec des messages du style “pour passer un bon moment, appelez XYZ69696969”, et je recevais des appels toute la nuit, tous les jours
Il a fini par comprendre que des bébés appuyaient sur les boutons des téléphones de leurs parents, et qu’un numéro composé uniquement de 8 était apparemment facile à composer pour eux
https://www.wired.com/1998/09/woz/
https://www.spiegel.de/panorama/falsche-nummer-beckenbauers-...
GitHub a des fonctionnalités assez dangereuses du côté des tags et des mentions. Par exemple, quand on ajoute quelqu’un à une organisation, le nom d’utilisateur est autocomplété
Il y avait une personne avec un nom courant, et on a déjà ajouté par erreur à l’organisation quelqu’un d’autre au nom similaire. Heureusement, on l’a retirée avant qu’elle n’accepte l’invitation, puis on a ajouté la bonne personne
Sur GitHub, il m’arrive d’être tagué comme fuseau horaire
Un vecteur de spam intéressant me vient à l’esprit. Il suffit de créer une PR qui fait la promotion de quelque chose, puis de @mentionner en masse les personnes qu’on a scrapées
Le vecteur d’attaque est intéressant aussi : obtenir un @nom facile à confondre et attendre de devenir reviewer d’une PR. Ensuite, ajouter du code malveillant à cette PR et la fusionner
Au passage, au travail, quand on configure les droits d’accès de sécurité de l’organisation, le fait que la recherche combinée permette d’ajouter n’importe qui dans le monde est idiot. Il n’y a même pas d’option pour filtrer uniquement les membres de l’organisation
Et la plupart des gens utilisent des handles bizarres sur leur GitHub professionnel ou personnel. Donc, pour utiliser l’UI, il faut soit devenir un excellent comparateur de chaînes de caractères, soit trouver le handle de chaque personne et le copier-coller un par un
Une troisième attaque consiste à créer plein de comptes avec des noms proches de ceux des employés de l’entreprise ciblée, en espérant être ajouté par erreur à un dépôt de l’organisation
Un utilisateur GitHub envoie une notification à 400 000 personnes [2022]
https://news.ycombinator.com/item?id=31627061
J’ai été assez déconcerté en découvrant que, quand on lie une issue GitHub d’un autre dépôt, un rétrolien apparaît sur l’issue liée. Même si on supprime le lien, ce n’est pas annulé ; il faut supprimer complètement l’issue
J’aimerais qu’on puisse désactiver cette fonctionnalité
Heureusement, il disparaissait en navigation privée, et il n’était pas visible non plus en me connectant avec un autre compte. Ce n’est donc pas visible par tout le monde, mais pendant un instant ça a été une surprise franchement désagréable
Mais le fait que ça ne disparaisse pas même après l’avoir modifié pour le supprimer, voire après avoir supprimé le commentaire qui contenait ce lien, est incroyablement idiot et agaçant
C’est bien de pouvoir voir quelle issue a un impact sur quel autre projet, et ça peut être une information assez utile
Cela dit, j’aimerais que vous ne fassiez ça que dans un dépôt personnel auquel vous êtes le seul à contribuer. Sinon, du point de vue de la personne qui clique, ça paraît extrêmement suspect