1 pontos por GN⁺ 2023-07-28 | 1 comentários | Compartilhar no WhatsApp
  • Em uma discussão em uma issue do GitHub sobre definir registradores como 0, isso foi tratado como uma menção ao usuário @reset, fazendo com que notificações por e-mail fossem enviadas repetidamente à pessoa errada
  • A causa é que o GitHub interpreta automaticamente strings como @reset como menções, fazendo com que uma palavra em contexto técnico acabe chamando um usuário real
  • Handles curtos que coincidem com termos técnicos ou placeholders, como @boxed, @stack, @else, @font e @acme, sofrem problemas semelhantes com notificações
  • Foram sugeridos o uso de crases ou evitar @[any_text], mas como notificações também podem ocorrer em mensagens de commit e comentários de PRs/issues, é difícil evitar completamente
  • Segundo comentários no Hacker News, o usuário @reset leva isso com bom humor e se diverte com a situação, mas handles curtos e comuns entram facilmente em conflito com recursos de menção automática de ferramentas de desenvolvimento

O incidente da menção a @reset

  • Adrian Sampson pediu desculpas por acabar enviando uma notificação por e-mail ao usuário @reset no GitHub ao falar sobre definir registradores como 0
  • O comentário de issue vinculado é um comentário de issue do repositório cucapra/calyx, e o ponto central do problema é que @reset foi interpretado como um nome de usuário do GitHub
  • No contexto técnico de “setting registers to zero”, a palavra reset apareceu naturalmente e, ao receber um @, tornou-se uma menção a um usuário real

Notificações indevidas recebidas por handles curtos

  • Handles que coincidem com termos técnicos ou identificadores comuns tendem a receber notificações não intencionais em vários serviços
    • O usuário @boxed usa o mesmo apelido no GitHub e no Mastodon, e diz receber muitas notificações do GitHub porque pessoas escrevem @boxed em mensagens de commit
    • O usuário @stack diz que, em certa linguagem, quando variáveis relacionadas a stack recebem @, ele passa a receber mensagens automaticamente
    • Um usuário que usava @else acabou abandonando esse handle por causa de muitas notificações de PRs e comentários
    • O usuário @acme recebe muitas notificações por coincidir com placeholders usados em vários frameworks
    • Em conversas sobre CSS, há casos em que o usuário @font é constantemente incomodado quando se discute @font-face

A dificuldade de evitar menções automáticas no GitHub

  • Como na reação de que “não é possível escapar o caractere @”, o processamento de menções automáticas do GitHub é apontado como a causa principal
  • Surgiu o conselho de não escrever diretamente @[any_text] em issues ou PRs do GitHub
  • Também há a sugestão de que envolver o texto com crases pode ajudar
  • Em espaços de texto que desenvolvedores usam com frequência, como código, comentários, mensagens de commit e comentários de issues, formas como @palavra podem colidir com nomes de usuário

Casos relacionados que viraram piada

  • A situação é vista como um efeito colateral de escolher identificadores curtos e comuns
  • Houve reações comparando com a história de um pesquisador de segurança que comprou a placa NULL e passou a receber multas de trânsito não atribuídas
  • Alguém também lembrou da situação de Steve Wozniak ao conseguir o número de telefone 888-8888, quando crianças apertavam o botão repetidamente e acabavam ligando para ele
  • Um usuário que usava o nome pokes no IRC disse que recebia mensagens privadas com frequência porque pessoas digitavam /me pokes [name] incorretamente como /msg
  • No Mastodon, também surgem casos em que emoticons como @_@ podem enviar notificações ao usuário @_ de uma instância específica

A reação do usuário @reset

  • Segundo relatos, o usuário @reset deixou um comentário no Hacker News dizendo que responde sempre que recebe notificações, ri da situação e realmente se diverte com ela
  • As reações seguintes foram de alívio por saber disso
  • Ainda assim, o conjunto de casos mostra que, quando handles curtos e comuns encontram recursos de menção automática em plataformas de desenvolvimento, notificações repetidas podem ser enviadas a pessoas que não eram o alvo

1 comentários

 
GN⁺ 2023-07-28
Opiniões do Hacker News
  • @reset aqui. Sempre respondo quando sou mencionado com @. É engraçado e, depois, também é muito legal ver o que as pessoas estão criando
    Espero que continuem fazendo isso; é uma parte bem divertida do meu dia

    • A resposta deixada no PR linkado foi muito boa. Esse tipo de coisa pode ser extremamente irritante ou extremamente divertido, e foi legal ver que levou na esportiva
    • Minha conta era @username, mas um dia o GitHub simplesmente a mudou para usernamex
    • Consegui a conta sshole pelo mesmo motivo
  • Trabalhei no passado na Realm, uma empresa de banco de dados móvel. Havia uma integração que repostava no Slack as menções a @realm no Twitter, para vermos o que estava acontecendo
    Uma manhã, o canal #twitter estava cheio de conteúdo quase pornográfico. Jovens homens usando roupas reveladoras, exibindo o abdômen e sorrindo para a câmera
    No fim, alguém tinha conectado um bot que repostava publicações do Instagram no Twitter, mas o Instagram permite pontos em nomes de usuário e o Twitter não. A conta do IG provavelmente era @realm.of.beauty, e o Twitter interpretou isso diretamente como @realm

    • Eu também era @cmg no Twitter, então recebia bastante esse tipo de menção do Instagram, e as pessoas me confundiam com todo tipo de coisa: CheckMate Gaming, Canadian Media Guild, Cocaine Muzik Group, Chipotle Mexican Grill etc.
    • Algo parecido aconteceu. O nome de um fórum público era uma sigla, e essa sigla também era usada para um fetiche gay de paddling
      Ao vasculhar nossa hashtag ou menções, às vezes acabávamos vendo um jovem ator levando palmadas sedutoras no bumbum nu com algo como um taco de críquete
    • Uso @CommonFirstNameCommonLastName no Twitter e, de vez em quando, pessoas que me confundem com alguém completamente diferente me mencionam ou mandam DM. Não acontece com tanta frequência, então não chega a incomodar muito
  • Em um emprego anterior, decidimos criar um canal no Slack com o nome de uma diretiva do pré-processador C. Acho que era #define ou #endif. Algumas pessoas descobriram e entenderam a piada
    Mas, meses depois, um administrador entrou em contato perguntando se podia apagar o canal. Em uma organização grande, o Slack sabe quais canais não devem ser visíveis para outras partes da organização, e por causa disso as menções a uma diretiva do pré-processador C estavam sendo censuradas para pessoas fora do meu grupo ^^;

    • Aí elas vão aprender a colocar dentro de blocos de código
    • É engraçado que o Slack, ao tentar bloquear a menção, acabou revelando a existência de um canal privado
  • Uma vez colei por engano um backtrace em uma issue do GitHub sem usar bloco de código. A pilha era profunda e cada linha começava com “#0”, “#1”, “#2” etc., e o GitHub transformou tudo em links para as issues correspondentes
    Até notificações de referência reversa foram enviadas para cada issue, e não parecia haver uma forma de desfazer aquilo

    • O problema maior que tive com referências a issues foi em mensagens de commit. Um repositório usado como template estava usando “Fixes #123” nas mensagens de commit para fechar tickets daquele repositório-template
      O problema é que, ao mesclar o template atualizado nos repositórios derivados, as issues de cada repositório derivado também eram fechadas
    • No rastreador de issues do GitLab do QEMU, eles começaram intencionalmente a numeração das issues em um número mais alto. Acho que por volta de 100
      Eles encontraram esse problema bem no início da migração a partir do Launchpad, então bastou renumerar duas ou três issues que já tinham sido criadas com números baixos, e não foi nada grave
    • Nesses casos, deveria obrigatoriamente haver um botão de desfazer exibido imediatamente
  • Pessoas enfrentando bugs às vezes me @mencionam só porque contribuí recentemente para o repositório. Nessas horas, se eu simplesmente respondo “LGTM Approved”, elas ficam irritadas
    Não me importo com o que fazem check-in nesse projeto. Não é meu projeto

  • Uma vez mudei meu número de celular para que os últimos 8 dígitos fossem 69696969. Achei hilário
    Então descobri que as pessoas tinham escrito aquele número aleatoriamente em todos os cubículos de banheiro, algo como “para se divertir, ligue para XYZ69696969”, e eu recebia ligações a noite inteira, todos os dias

    • Steve Wozniak usou 888-8888 por um tempo. Um número muito legal, mas recebia centenas de ligações em que só havia ruídos aleatórios ao fundo
      Depois descobriram que eram bebês apertando botões nos celulares dos pais, e aparentemente um número só com 8 era fácil para bebês discarem
      https://www.wired.com/1998/09/woz/
    • Tenho alguns números 867-5309 em várias regiões. Hoje eles não fazem nada, mas por um tempo os encaminhei para um PBX e cada linha chegou a receber até 2.500 ligações por dia. Havia muitos homens bêbados tentando ligar para a Jenny
    • É surpreendente que as pessoas realmente liguem para esses números
    • O famoso astro do futebol alemão Franz Beckenbauer pediu o número 66666666 em uma promoção de uma operadora de celular e, de forma parecida, recebia ligações à noite
      https://www.spiegel.de/panorama/falsche-nummer-beckenbauers-...
  • O GitHub tem alguns recursos bastante perigosos na parte de tags e menções. Por exemplo, ao adicionar alguém a uma organização, o nome de usuário é autocompletado
    Havia uma pessoa com um nome comum, e certa vez alguém adicionou por engano à organização uma pessoa com nome parecido, mas diferente. Felizmente, removemos essa pessoa antes que ela aceitasse o convite e adicionamos a pessoa certa

    • É bem isso. Isso incomoda demais. Eles fazem você passar por todo tipo de procedimento para provar o código-fonte e usar várias camadas de criptografia, mas tornam fácil demais conceder permissão de escrita sobre todo o código da empresa a uma pessoa totalmente alheia
    • Isso também aconteceu comigo. Aceitei o convite, olhei o conteúdo deles e então abri uma issue/PR pedindo que me removessem. Eles entraram em pânico e eu ri um pouco
  • No GitHub, às vezes sou marcado como fuso horário

    • Fico curioso para saber como conseguiu esse nome de usuário. Nomes curtos somem muito rápido; talvez tenha sido uma das primeiras 1.000 pessoas
  • Pensei em um caminho interessante para spam. Basta criar um PR anunciando alguma coisa e então mencionar em massa as pessoas coletadas com @
    O vetor de ataque também é interessante: conseguir um @ com nome fácil de confundir e ficar observando quais PRs essa pessoa vira revisora. Aí é só adicionar código malicioso nesse PR e fazer o merge
    Além disso, ao configurar permissões de acesso de segurança da organização no trabalho, também é burrice o campo de busca por combinação permitir adicionar qualquer pessoa do mundo. Nem existe uma opção para filtrar apenas membros internos da organização
    E a maioria usa handles estranhos no GitHub de trabalho ou pessoal. Então, para usar a UI, a pessoa precisa virar uma excelente comparadora de strings, ou descobrir o handle de cada um e copiar e colar um por um
    Um terceiro ataque seria criar um monte de contas com nomes parecidos com os dos funcionários da empresa-alvo e torcer para que alguma seja adicionada por engano ao repositório da organização

  • Fiquei bem perplexo quando descobri que, ao linkar uma issue do GitHub de outro repositório, é criado um backlink na issue linkada. Mesmo apagando o link, isso não é revertido; é preciso excluir a issue inteira
    Seria bom poder desativar esse recurso

    • Acabei de descobrir isso hoje. Fiquei bem surpreso ao ver, abaixo de uma issue de um repositório público, um link para um PR do nosso repositório privado
      Felizmente, ele sumiu no modo anônimo e também não aparecia ao fazer login com outra conta. Não era visível para todo mundo, mas por um instante foi uma surpresa bastante desagradável
    • https://github.com./a/b” ou “https://www.github.com/a/b” também funcionam como alternativa
      Mas o fato de isso não desaparecer mesmo depois de editar e apagar, ou até de excluir o comentário que continha o link, é incrivelmente burro e irritante
    • Tudo bem. Isso não envia notificação para ninguém. Se você não estiver fazendo algo constrangedor ou spam, acho que ninguém vai se importar
      É bom poder ver como uma issue afeta outros projetos, e isso pode ser uma informação bem útil
    • Se quiser mesmo evitar isso, acho que dá para mascarar usando um encurtador de links como bit.ly atrás do Markdown. Não testei
      Mas espero que façam isso só em repositórios pessoais nos quais apenas você contribui. Caso contrário, para quem clica, parece extremamente suspeito