Mis disculpas a la persona con el nombre de usuario @reset en GitHub
(discuss.systems)- En un issue de GitHub, una discusión sobre configurar un registro en 0 fue interpretada como una mención al usuario @reset, lo que provocó que se enviaran notificaciones por email repetidas a la persona equivocada
- La causa es que GitHub interpreta automáticamente cadenas como
@resetcomo menciones, haciendo que una palabra en un contexto técnico termine invocando a un usuario real - Handles cortos que coinciden con términos técnicos o placeholders, como
@boxed,@stack,@else,@fonty@acme, sufren problemas similares de notificaciones - Se sugirió usar backticks o evitar
@[any_text], pero como las notificaciones también pueden generarse en mensajes de commit y comentarios de PR/issues, es difícil evitarlas por completo - Se sabe que el usuario
@resetcomentó en Hacker News que se lo toma con humor y lo disfruta, pero los handles cortos y comunes chocan fácilmente con la función de menciones automáticas de las herramientas de desarrollo
El incidente de la mención a @reset
- Adrian Sampson se disculpó por una situación en la que, al hablar en GitHub sobre configurar registros en 0, terminó enviándole una notificación por email al usuario
@reset - El comentario enlazado corresponde a un comentario de issue del repositorio
cucapra/calyx, y el problema central fue que@resetse interpretó como un nombre de usuario de GitHub - En el contexto técnico de “setting registers to zero”, la palabra
resetaparecía de forma natural, y al agregársele@se convirtió en una mención a un usuario real
Notificaciones equivocadas que reciben los handles cortos
- Los handles que coinciden con términos técnicos o identificadores comunes son propensos a recibir notificaciones no intencionales en varios servicios
- El usuario
@boxedusa el mismo nick en GitHub y Mastodon, y dice que recibe muchas notificaciones de GitHub porque la gente escribe@boxeden mensajes de commit - El usuario
@stackdice que, en cierto lenguaje, cuando una variable relacionada con pilas lleva@, recibe mensajes automáticamente - Un usuario que usaba
@elseterminó abandonando ese handle por la cantidad de PRs y comentarios que le llegaban como notificaciones - El usuario
@acmerecibe muchas notificaciones porque coincide con placeholders de varios frameworks - En conversaciones sobre CSS, aparece el caso de que el usuario
@fontsigue sufriendo molestias cuando se habla de@font-face
- El usuario
La dificultad de evitar las menciones automáticas de GitHub
- Como refleja la reacción de que “el carácter
@no se puede escapar”, el procesamiento de menciones automáticas de GitHub se señala como la causa principal - Surgió el consejo de no escribir directamente
@[any_text]en issues o PRs de GitHub - También se propuso que envolver el texto en backticks podría ayudar
- En espacios de texto que los desarrolladores usan con frecuencia, como código, comentarios, mensajes de commit y comentarios de issues, las formas
@palabrapueden chocar con nombres de usuario
Casos relacionados que se volvieron chiste
- La situación se interpretó como un efecto secundario de elegir identificadores cortos y comunes
- Hubo reacciones que la compararon con la historia de un investigador de seguridad que compró la placa
NULLy empezó a recibir multas de tránsito no asignadas - Algunas personas recordaron el caso de Steve Wozniak, que obtuvo el número telefónico
888-8888y luego recibía llamadas de niños que presionaban repetidamente los botones - Un usuario que usaba el nombre
pokesen IRC contaba que recibía muchos mensajes privados porque la gente escribía mal/me pokes [name]como/msg - En Mastodon también se mencionó que una carita como
@_@puede enviar notificaciones al usuario@_de cierta instancia
La reacción del usuario @reset
- Se sabe que el usuario
@resetdejó un comentario en Hacker News diciendo, en esencia, que responde cada vez que recibe una notificación, se ríe y de hecho lo disfruta - Las respuestas posteriores transmitían alivio por saber eso
- Aun así, el conjunto de casos muestra que, cuando handles cortos y comunes se combinan con funciones de mención automática en plataformas de desarrollo, pueden enviarse notificaciones repetidas a personas no previstas
1 comentarios
Opiniones de Hacker News
@reset por aquí. Siempre respondo cuando me mencionan con @. Es gracioso y, además, la verdad es que me divierte mucho ver después qué está construyendo la gente.
Ojalá sigan haciéndolo; es una parte bastante entretenida de mi día.
Antes trabajé en Realm, una empresa de bases de datos móviles. Teníamos una integración que reenviaba a Slack las menciones a @realm en Twitter para ver qué estaba pasando.
Una mañana, el canal #twitter estaba lleno de contenido casi pornográfico. Hombres jóvenes con ropa reveladora presumían sus abdominales y sonreían a la cámara.
Resultó que alguien había conectado un bot que republicaba posts de Instagram en Twitter, pero Instagram permite puntos en los nombres de usuario y Twitter no. La cuenta de IG probablemente era @realm.of.beauty, y Twitter la interpretó directamente como @realm.
Al revisar nuestro hashtag o menciones, de vez en cuando veíamos a un actor joven recibiendo de forma provocativa golpes en las nalgas desnudas con algo como un bate de críquet.
En un trabajo anterior decidimos crear un canal de Slack con el nombre de una directiva del preprocesador de C. Creo que era #define o #endif. Algunos lo encontraron y entendieron el chiste.
Pero unos meses después, un administrador me contactó para preguntarme si podía borrar ese canal. En organizaciones grandes, Slack sabe qué canales no deberían ser visibles para otras partes de la organización, y por eso estaba censurando menciones a directivas del preprocesador de C para personas fuera de mi grupo ^^;
Una vez pegué por accidente un backtrace en un issue de GitHub sin usar un bloque de código. La pila era profunda y cada línea empezaba con “#0”, “#1”, “#2”, etc., y GitHub convirtió todo eso en enlaces a los issues con esos números.
Incluso envió notificaciones de referencia inversa a cada issue, y no parecía haber forma de revertir ese comportamiento.
El problema era que, al fusionar la plantilla actualizada en repositorios derivados, también se cerraban los issues de cada repositorio derivado.
Se toparon con este problema muy al inicio de la migración desde Launchpad, así que solo tuvieron que renumerar dos o tres issues que ya se habían creado con números bajos, y no fue gran cosa.
A veces la gente que sufre bugs me etiqueta con @ solo porque contribuí recientemente al repositorio. En esos casos, simplemente respondo “LGTM Approved” y la gente se enoja.
No me importa qué hagan check-in en ese proyecto. No es mi proyecto.
Una vez cambié mi número de celular para que los últimos 8 dígitos fueran 69696969. Me pareció súper gracioso.
Luego descubrí que la gente había escrito ese número al azar en todos los cubículos de baños, con frases como “si quieres pasarla bien llama a XYZ69696969”, y recibía llamadas todas las noches sin parar.
Después se supo que eran bebés presionando botones en los celulares de sus padres, y parece que un número compuesto solo por 8 era fácil de marcar para los bebés.
https://www.wired.com/1998/09/woz/
https://www.spiegel.de/panorama/falsche-nummer-beckenbauers-...
GitHub tiene algunas funciones bastante peligrosas con etiquetas y menciones. Por ejemplo, al agregar a alguien a una organización, el nombre de usuario se autocompleta.
Había una persona con un nombre común, y una vez agregamos por error a la organización a otra persona con un nombre parecido. Por suerte la eliminamos antes de que aceptara la invitación y agregamos a la persona correcta.
En GitHub a veces me etiquetan como una zona horaria.
Se me ocurrió una vía de spam interesante. Basta con crear un PR que publicite algo y luego arrobar a un montón de gente scrapeada.
La vía de ataque también es interesante: conseguir un nombre @ fácil de confundir y esperar a ver si te conviertes en reviewer de algún PR. Luego agregas código malicioso a ese PR y lo mergeas.
Además, cuando configuras permisos de acceso de seguridad de una organización en el trabajo, también es una estupidez que en la búsqueda combinada puedas agregar a cualquier persona del mundo. Ni siquiera hay una opción para filtrar solo dentro de la organización.
Y la mayoría usa handles raros en GitHub, ya sea laboral o personal. Así que, para usar la UI, una persona tiene que convertirse en un excelente comparador de cadenas, o averiguar el handle de cada quien y copiarlo y pegarlo uno por uno.
Un tercer ataque sería crear un montón de cuentas con nombres parecidos a los empleados de la empresa objetivo y esperar a que, por error, las agreguen al repositorio de la organización.
Un usuario de GitHub envió notificaciones a 400 mil personas [2022]
https://news.ycombinator.com/item?id=31627061
Me llevé una sorpresa bastante incómoda al enterarme de que, si enlazas un issue de GitHub de otro repositorio, se crea un backlink en el issue enlazado. Aunque borres el enlace, no se revierte; tienes que eliminar el issue por completo.
Ojalá se pudiera desactivar esta función.
Por suerte desaparecía en modo incógnito, y tampoco se veía al iniciar sesión con otra cuenta. No es que lo vea todo el mundo, pero durante un momento fue una sorpresa bastante desagradable.
Pero que no desaparezca aunque lo edites para quitarlo, o incluso aunque borres el comentario que contenía ese enlace, es increíblemente tonto y molesto.
Poder ver qué efecto tiene un issue en otros proyectos es bueno y puede ser información bastante útil.
Eso sí, ojalá solo lo hagas en repositorios personales donde solo tú contribuyes. Si no, para quien haga clic se ve extremadamente sospechoso.