1 Punkte von GN⁺ 2023-07-28 | 1 Kommentare | Auf WhatsApp teilen
  • In einer GitHub-Diskussion darüber, ein Register auf 0 zu setzen, wurde daraus eine Erwähnung des Nutzers @reset, wodurch wiederholt E-Mail-Benachrichtigungen an die falsche Person gingen
  • Ursache ist, dass GitHub Zeichenfolgen wie @reset als automatische Mention interpretiert, sodass Wörter aus technischem Kontext zu echten Nutzererwähnungen werden
  • Kurze Handles, die sich mit Fachbegriffen oder Platzhaltern überschneiden, wie @boxed, @stack, @else, @font oder @acme, leiden unter ähnlichen Fehlbenachrichtigungen
  • Vorgeschlagen wurden Backticks oder das Vermeiden von @[any_text], aber auch in Commit-Messages sowie PR- und Issue-Kommentaren können Benachrichtigungen ausgelöst werden, sodass eine vollständige Vermeidung schwierig ist
  • Laut einem Hacker-News-Kommentar nimmt der Nutzer @reset das Ganze mit Humor und hat sogar Spaß daran, aber kurze und allgemeine Handles kollidieren leicht mit den Auto-Mention-Funktionen von Entwickler-Tools

Der Mention-Zwischenfall mit @reset

  • Adrian Sampson entschuldigte sich dafür, dass er auf GitHub beim Sprechen über das Zurücksetzen von Registern auf 0 dem Nutzer @reset E-Mail-Benachrichtigungen geschickt hatte
  • Der verlinkte GitHub-Issue-Kommentar ist ein Issue-Kommentar im Repository cucapra/calyx; im Zentrum des Problems steht, dass @reset als GitHub-Benutzername interpretiert wurde
  • Im technischen Kontext von „setting registers to zero“ tauchte das Wort reset ganz natürlich auf, und mit einem vorangestellten @ wurde daraus eine echte Nutzererwähnung

Falsche Benachrichtigungen für kurze Handles

  • Handles, die sich mit technischen Begriffen oder häufigen Bezeichnern überschneiden, erhalten auf vielen Diensten leicht unbeabsichtigte Benachrichtigungen
    • Der Nutzer @boxed verwendet denselben Namen auf GitHub und Mastodon und berichtet, dass Leute @boxed in Commit-Messages schreiben, was auf GitHub zu vielen Benachrichtigungen führt
    • Der Nutzer @stack sagt, dass er automatisch Nachrichten erhält, wenn in manchen Sprachen Variablen rund um den Stack mit @ geschrieben werden
    • Ein Nutzer von @else gab diesen Handle schließlich wegen der vielen Benachrichtigungen aus PRs und Kommentaren auf
    • Der Nutzer @acme erhält viele Benachrichtigungen, weil sich der Name mit Platzhaltern in verschiedenen Frameworks überschneidet
    • In CSS-Diskussionen gibt es Fälle, in denen der Nutzer @font ständig gestört wird, wenn über @font-face gesprochen wird

Warum sich GitHubs Auto-Mentions schwer vermeiden lassen

  • Reaktionen wie „Das Zeichen @ lässt sich nicht escapen“ nennen GitHubs automatische Mention-Verarbeitung als Hauptursache
  • Es wurde geraten, in GitHub-Issues oder PRs @[any_text] nicht direkt zu schreiben
  • Es gab auch den Vorschlag, Begriffe in Backticks zu setzen
  • In Textbereichen, die Entwickler häufig nutzen, etwa Code, Kommentare, Commit-Messages und Issue-Kommentare, kann die Form @wort mit Benutzernamen kollidieren

Verwandte Fälle, die zum Witz wurden

  • Die Situation wird als Nebenwirkung verstanden, wenn man kurze und gängige Bezeichner auswählt
  • Manche fühlten sich an die Geschichte eines Sicherheitsforschers erinnert, der das Kennzeichen NULL kaufte und daraufhin Strafzettel für nicht zugeordnete Verkehrsverstöße erhielt
  • Andere dachten an Steve Wozniak, der die Telefonnummer 888-8888 bekam und dann Anrufe von Kindern erhielt, die wiederholt Tasten drückten
  • Ein IRC-Nutzer namens pokes berichtete, dass Leute /me pokes [name] fälschlich als /msg eingaben und er deshalb oft Privatnachrichten bekam
  • Auch auf Mastodon gibt es Fälle, in denen ein Gesicht wie @_@ Benachrichtigungen an den Nutzer @_ auf einer bestimmten Instanz senden kann

Reaktion des Nutzers @reset

  • Berichten zufolge schrieb der Nutzer @reset auf Hacker News, dass er jedes Mal lachend antworte, wenn er eine Benachrichtigung bekomme, und tatsächlich Spaß daran habe
  • Die anschließenden Reaktionen drückten Erleichterung darüber aus, das zu erfahren
  • Dennoch zeigt der gesamte Fall, dass kurze und allgemeine Handles in Kombination mit den Auto-Mention-Funktionen von Entwickler-Plattformen wiederholt unbeabsichtigte Benachrichtigungen an die falsche Person senden können

1 Kommentare

 
GN⁺ 2023-07-28
Meinungen auf Hacker News
  • @reset ist hier. Wenn ich per @ erwähnt werde, antworte ich immer. Es ist lustig, und später zu sehen, was die Leute so bauen, macht wirklich großen Spaß
    Ich hoffe, sie machen weiter; es ist ein ziemlich erfreulicher Teil meines Tages

    • Die Antwort im verlinkten PR fand ich wirklich gut. So etwas kann extrem nervig oder extrem lustig sein, und es ist schön zu sehen, dass es mit Humor genommen wurde
    • Mein Account war @username, aber GitHub hat ihn eines Tages plötzlich in usernamex geändert
    • Aus demselben Grund habe ich den Account sshole bekommen
  • Ich habe früher bei Realm, einer Mobile-Database-Firma, gearbeitet. Wir hatten eine Integration, die Erwähnungen von @realm auf Twitter wieder in Slack gepostet hat, um zu sehen, was passiert
    Eines Morgens war der Channel #twitter voller Inhalte, die fast schon pornografisch waren. Junge Männer trugen freizügige Kleidung, zeigten ihre Bauchmuskeln und lächelten in die Kamera
    Wie sich herausstellte, hatte jemand einen Bot eingerichtet, der Instagram-Posts erneut auf Twitter veröffentlichte; Instagram erlaubt Punkte in Benutzernamen, Twitter aber nicht. Der IG-Account war vermutlich @realm.of.beauty, und Twitter interpretierte das direkt als @realm

    • Ich bin auf Twitter auch @cmg und habe ziemlich viele solcher Instagram-Erwähnungen bekommen; Leute hielten mich für alles Mögliche, etwa CheckMate Gaming, Canadian Media Guild, Cocaine Muzik Group, Chipotle Mexican Grill usw.
    • Mir ist etwas Ähnliches passiert. Der Name eines öffentlichen Boards war eine Abkürzung, und dieselbe Abkürzung wurde auch in einem Gay-Paddling-Fetisch verwendet
      Wenn man unseren Hashtag oder unsere Erwähnungen durchsah, bekam man gelegentlich Szenen zu sehen, in denen ein junger Darsteller mit so etwas wie einem Cricket-Schläger lasziv auf den nackten Hintern geschlagen wurde
    • Ich nutze auf Twitter @CommonFirstNameCommonLastName, und manchmal erwähnen mich Leute oder schicken mir DMs, weil sie mich für eine ganz andere Person halten. Es passiert nicht so oft, dass es besonders nervt
  • Bei einem früheren Job beschlossen wir, Slack-Channels nach C-Präprozessor-Direktiven zu benennen. Vermutlich war es #define oder #endif. Ein paar Leute fanden es und verstanden den Witz
    Ein paar Monate später meldete sich aber ein Administrator und fragte, ob er den Channel löschen dürfe. In großen Organisationen weiß Slack offenbar von Channels, die in anderen Teilen der Organisation nicht sichtbar sein sollen; dadurch wurden Erwähnungen von C-Präprozessor-Direktiven für Leute außerhalb meiner Gruppe zensiert ^^;

    • Dann lernen sie eben, es in einen Codeblock zu setzen
    • Lustig ist, dass Slack beim Versuch, Erwähnungen zu blockieren, stattdessen die Existenz eines privaten Channels verraten hat
  • Ich habe einmal versehentlich einen Backtrace ohne Codeblock in ein GitHub-Issue eingefügt. Der Stack war tief, und jede Zeile begann mit „#0“, „#1“, „#2“ usw.; GitHub hat daraus jeweils Links zu den Issues mit diesen Nummern gemacht
    In jedem Issue gingen sogar Backreference-Benachrichtigungen raus, und es schien keine Möglichkeit zu geben, dieses Verhalten rückgängig zu machen

    • Ein größeres Problem mit Issue-Referenzen hatte ich bei Commit-Messages. Ein Repository, das wir als Template nutzten, verwendete in Commit-Messages „Fixes #123“, um Tickets im Template-Repository zu schließen
      Das Problem war: Wenn das aktualisierte Template in Unter-Repositories gemergt wurde, wurden auch die Issues in den jeweiligen Unter-Repositories geschlossen
    • Im GitLab-Issue-Tracker von QEMU haben wir die Issue-Nummern absichtlich bei einer höheren Zahl beginnen lassen. Ich glaube, ungefähr bei 100
      Wir sind sehr früh bei der Migration von Launchpad auf dieses Problem gestoßen, daher mussten nur zwei oder drei bereits mit niedrigen Nummern angelegte Issues umnummeriert werden, und es war kein großes Problem
    • Für solche Fälle muss es unbedingt einen sofort sichtbaren Rückgängig-Button geben
  • Leute, die auf Bugs stoßen, @-erwähnen mich manchmal, nur weil ich kürzlich zu einem Repository beigetragen habe. Wenn ich dann einfach „LGTM Approved“ antworte, werden sie wütend
    Es ist mir egal, was in dieses Projekt eingecheckt wird. Es ist nicht mein Projekt

  • Einmal habe ich meine Handynummer geändert, sodass die letzten acht Ziffern 69696969 waren. Ich fand das unglaublich witzig
    Dann stellte ich fest, dass Leute diese Nummer wahllos in alle Toilettenkabinen kritzelten, etwa „Ruf XYZ69696969 an, wenn du Spaß haben willst“, und ich bekam jede Nacht pausenlos Anrufe

    • Steve Wozniak nutzte eine Zeit lang 888-8888. Eine sehr coole Nummer, aber er bekam Hunderte Anrufe, bei denen im Hintergrund nur zufällige Geräusche zu hören waren
      Später stellte sich heraus, dass Babys auf den Tasten der Handys ihrer Eltern herumdrückten, und eine Nummer, die nur aus 8ern besteht, war für Babys offenbar leicht zu wählen
      https://www.wired.com/1998/09/woz/
    • Ich habe ein paar 867-5309-Nummern in verschiedenen Regionen. Heutzutage sind sie so eingerichtet, dass sie nichts tun, aber eine Zeit lang hatte ich sie an eine PBX angeschlossen, und jede Leitung bekam bis zu 2.500 Anrufe pro Tag. Viele betrunkene Männer wollten Jenny anrufen
    • Es ist erstaunlich, dass Leute solche Nummern tatsächlich anrufen
    • Der berühmte deutsche Fußballstar Franz Beckenbauer bat bei einer Promo-Aktion eines Mobilfunkanbieters um 66666666 und bekam ähnlich nächtliche Anrufe
      https://www.spiegel.de/panorama/falsche-nummer-beckenbauers-...
  • GitHub hat bei Tags und Erwähnungen ziemlich gefährliche Funktionen. Wenn man zum Beispiel jemanden zu einer Organisation hinzufügt, werden Benutzernamen automatisch vervollständigt
    Es gab jemanden mit einem häufigen Namen, und wir haben versehentlich eine andere Person mit ähnlichem Namen zur Organisation hinzugefügt. Zum Glück haben wir sie entfernt, bevor sie die Einladung annahm, und dann die richtige Person hinzugefügt

    • Absolut. Das ist extrem störend. Man wird durch alle möglichen Prozesse gezwungen, um Quellcode zu verifizieren, und muss mehrere Schichten Verschlüsselung verwenden, aber es wird viel zu einfach gemacht, einer völlig unbeteiligten Person Schreibzugriff auf den gesamten Firmen-Code zu geben
    • Das ist mir auch passiert. Ich habe die Einladung angenommen, mir deren Inhalte angesehen und dann ein Issue/PR erstellt, in dem ich darum bat, mich zu entfernen. Sie gerieten in Panik, und ich musste ein bisschen lachen
  • Auf GitHub werde ich manchmal als Zeitzone getaggt

    • Ich frage mich, wie man so einen Benutzernamen bekommt. Kurze Namen sind extrem schnell weg; vermutlich gehörte die Person zu den ersten 1.000 Nutzern
  • Mir fällt ein interessanter Spam-Vektor ein: Man erstellt einen PR, der irgendetwas bewirbt, und @-erwähnt dann massenhaft Leute, die man gescraped hat.
    Auch der Angriffsweg ist interessant: sich einen leicht zu verwechselnden @-Namen sichern und beobachten, bei welchen PRs man als Reviewer eingetragen wird. Dann fügt man diesem PR bösartigen Code hinzu und merged ihn.
    Nebenbei: Es ist auch dämlich, dass man beim Einrichten von Zugriffsrechten für Organisationssicherheit am Arbeitsplatz in der Kombinationssuche jeden beliebigen Menschen weltweit hinzufügen kann. Es gibt nicht einmal eine Option, nur auf interne Mitglieder der Organisation zu filtern.
    Und die meisten verwenden für ihr berufliches oder privates GitHub irgendwelche seltsamen Handles. Wenn man also die UI benutzt, muss ein Mensch entweder ein hervorragender String-Vergleicher sein oder die Handles aller Personen herausfinden und einzeln per Copy-and-paste einfügen.
    Ein dritter Angriff wäre, massenhaft Konten mit Namen anzulegen, die den Mitarbeitern des Zielunternehmens ähneln, und darauf zu hoffen, versehentlich zu einem Organisations-Repository hinzugefügt zu werden.

  • Ich war ziemlich irritiert, als ich herausfand, dass beim Verlinken eines GitHub-Issues aus einem anderen Repository im verlinkten Issue ein Backlink entsteht. Selbst wenn man den Link löscht, wird das nicht rückgängig gemacht; man muss das Issue komplett löschen.
    Es wäre schön, wenn man dieses Feature abschalten könnte.

    • Ich habe das heute gerade erst entdeckt. Unter einem Issue in einem öffentlichen Repository wurde ein Link zu einem PR in unserem privaten Repository angezeigt, was mich ziemlich überrascht hat.
      Zum Glück verschwand er im Inkognito-Modus, und auch mit einem anderen Account eingeloggt war er nicht sichtbar. Er ist also nicht für alle sichtbar, aber für einen kurzen Moment war es eine ziemlich unangenehme Überraschung.
    • https://github.com./a/b“ oder „https://www.github.com/a/b“ funktionieren ebenfalls als Workaround.
      Aber dass es nicht verschwindet, selbst wenn man es herauseditiert oder sogar den Kommentar löscht, in dem der Link stand, ist unglaublich dumm und nervig.
    • Ist schon okay. Es schickt niemandem Benachrichtigungen. Wenn man nichts Peinliches oder Spamartiges macht, dürfte es niemanden kümmern.
      Es ist gut sehen zu können, welche Issues andere Projekte auf welche Weise betreffen, und das kann ziemlich nützliche Information sein.
    • Wenn man es wirklich vermeiden will, könnte man es vermutlich mit einem URL-Shortener wie bit.ly hinter Markdown verbergen. Getestet habe ich das nicht.
      Allerdings würde ich mir wünschen, dass man so etwas nur in einem persönlichen Repository macht, zu dem nur man selbst beiträgt. Sonst wirkt es für die klickende Person extrem verdächtig.