3 puntos por GN⁺ 10 일 전 | 3 comentarios | Compartir por WhatsApp
  • Vercel confirmó oficialmente un incidente de seguridad por acceso no autorizado a sus sistemas internos y actualmente está colaborando con expertos en respuesta a incidentes y con las fuerzas del orden
  • La causa de la brecha fue el compromiso de la app OAuth de Google Workspace de la herramienta de IA de terceros Context.ai, lo que permitió el secuestro de cuentas de empleados de Vercel
  • Los atacantes enumeraron variables de entorno no sensibles (non-sensitive) para obtener privilegios de acceso adicionales, y esas variables estaban almacenadas sin cifrado
  • Un hacker que dice ser ShinyHunters afirma en un foro de hacking que está vendiendo claves de acceso, código fuente, datos de bases de datos, claves API y más, y exige un rescate de 2 millones de dólares
  • Vercel confirmó la seguridad de sus proyectos open source como Next.js y Turbopack, y recomendó a los clientes revisar sus variables de entorno y activar la función de variables sensibles

Resumen del incidente de seguridad

  • Vercel es una plataforma de infraestructura en la nube para hosting y despliegue especializada en frameworks de JavaScript; es la empresa detrás de Next.js y ofrece funciones serverless, edge computing y servicios de pipelines de CI/CD
  • A través de un aviso de seguridad, confirmó oficialmente que hubo acceso no autorizado (unauthorized access) a sus sistemas internos
  • Informó que solo un subconjunto limitado de clientes se vio afectado y que el servicio en sí no sufrió impacto
  • Contrató expertos en respuesta a incidentes y notificó a las autoridades, mientras continúa la investigación

Vía de intrusión y detalles técnicos

  • La causa raíz de la brecha fue el compromiso de la app OAuth de Google Workspace de la plataforma de IA de terceros Context.ai
  • El CEO de Vercel, Guillermo Rauch, publicó detalles adicionales en X (antes Twitter)
    • Los atacantes comprometieron la cuenta de Google Workspace de un empleado de Vercel a través de la brecha en Context.ai
    • Después, escalaron el acceso desde esa cuenta hacia el entorno de Vercel
  • Los atacantes accedieron a variables de entorno marcadas como "no sensibles (non-sensitive)", que estaban almacenadas sin cifrado en reposo (not encrypted at rest)
  • Vercel afirmó que almacena todas las variables de entorno de los clientes con cifrado completo en reposo (fully encrypted at rest) y cuenta con mecanismos de defensa en múltiples capas, pero las variables marcadas como "non-sensitive" actuaron como punto débil
  • Se recomienda a los administradores de Google Workspace revisar la siguiente app OAuth:
    • 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com

Afirmación de venta de datos por parte de los hackers

  • Un actor de amenazas que dice ser ShinyHunters publicó en un foro de hacking un mensaje sobre la brecha de Vercel y la venta de datos
    • A la venta: claves de acceso, código fuente, datos de bases de datos, acceso a despliegues internos y claves API, incluidos tokens de NPM y GitHub
    • Presentó datos de Linear como prueba y afirmó tener acceso a múltiples cuentas de empleados
  • Actores de amenazas previamente vinculados al grupo ShinyHunters negaron a BleepingComputer cualquier relación con este incidente
  • Un archivo de texto compartido por el atacante incluye 580 registros de información de empleados de Vercel, compuestos por nombres, direcciones de correo de Vercel, estado de cuenta y marcas de tiempo de actividad
  • También compartió una captura de pantalla que parecería mostrar un panel interno de Vercel Enterprise
  • BleepingComputer no pudo verificar de forma independiente la autenticidad de esos datos y de la captura
  • En mensajes de Telegram, el actor de amenazas afirmó estar en contacto con Vercel y haber exigido un rescate (ransom) de 2 millones de dólares

Respuesta de Vercel y recomendaciones para clientes

  • Se confirmó que Next.js, Turbopack y otros proyectos open source están a salvo
  • Se desplegó en el panel una página de resumen de variables de entorno y una interfaz mejorada para administrar variables de entorno sensibles
  • Medidas recomendadas a los clientes:
    • Revisar las variables de entorno (environment variables)
    • Activar la función de variables de entorno sensibles (sensitive environment variable feature) para garantizar el cifrado cuando no se use
    • Realizar rotación de secretos (secret rotation) si es necesario

3 comentarios

 
GN⁺ 10 일 전
Comentarios en Hacker News
  • Acaban de actualizar el aviso, y me pareció importante que aclararan que la intrusión comenzó con el compromiso de una app OAuth de Google Workspace de una herramienta de IA de terceros
    También publicaron IOC para apoyar la investigación, y decían que los administradores debían verificar de inmediato si esa app estaba en uso
    La app OAuth es 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com, y el texto original puede verse en el aviso de seguridad de Vercel

    • Según la explicación de Guillermo Rauch, el punto de partida fue una intrusión del lado de una cuenta de cliente de Context.ai usada por un empleado de Vercel, y luego parece que el acceso se encadenó hacia la cuenta de Google Workspace de Vercel y sus entornos
      En particular, me llamó la atención la explicación de que fue posible obtener acceso adicional mediante la enumeración de variables de entorno no sensibles, y también surgió la hipótesis de que los atacantes eran un grupo sofisticado muy acelerado por IA
      Aun así, que todavía no haya una notificación por correo para los usuarios me parece bastante preocupante
    • Sentí que estaría bien que no solo dijeran el ID del cliente OAuth, sino también el nombre real de la app
      Entiendo que no quieran señalar directamente a la otra parte, pero ocultar el nombre del servicio da la impresión de que solo retrasa la respuesta
    • De todos modos, al final se va a saber, así que no entiendo muy bien por qué no nombran directamente a la app responsable
    • Ya parecía que esa app había sido eliminada
    • Esto se sintió como una consecuencia natural de la dirección que ha tomado el desarrollo web en los últimos 10 años
      Hoy se ha vuelto demasiado normal ensamblar varias piezas de terceros en lugar de construir sobre una base estable, y eso multiplica los puntos de falla
      Al final volvió a quedar claro que la seguridad solo es tan fuerte como el eslabón más débil, y creo que montar un negocio sobre herramientas de IA con vibra de vibe coding es un riesgo evidente
      Me hizo preguntarme si realmente debemos seguir empujando en esta dirección, y cuánta más complejidad tiene que acumularse antes de que nos detengamos a reconsiderarlo
  • Al ver el análisis del stack recomendado por Claude Code, sentí que Claude Code está homogeneizando aún más la web al recomendar por defecto ciertos proveedores y frameworks
    Esa falta de diversidad parece hacer que, cuando ocurre un incidente, el radio de impacto sea mucho mayor

    • Si ves los proyectos de vibe coding de bajo esfuerzo que aparecen en reddit, muy seguido están montados sobre Vercel
      Da la impresión de que ya quedó como la opción por defecto
    • Hace unos días forcé a Claude Code a crear una app CRUD nueva en React, y por defecto arrojó una montaña de dependencias de Node JS y NPM
      Entonces le pedí que lo hiciera sin Node, y enseguida la reescribió con un backend en Python, explicando por sí mismo que así reducía dependencias
      Ojo, esto fue solo un experimento para un resultado desechable, no una recomendación de vibe coding
    • Es un buen punto, pero no creo que el núcleo del problema sea Claude en sí
      Al final es un tema de cómo se usa, y creo que hay que guiar mejor a los desarrolladores para que no dejen que Claude tome las decisiones por ellos
      Puedes recibir consejos, pero al final una persona debe revisarlos críticamente, y en ese sentido no se siente tan distinto de colaborar con otro miembro del equipo
    • No puedo sacarme de la cabeza la idea de que la IA está acelerando muchísimo la convergencia hacia el promedio
      Internet ya tenía esa tendencia, pero esta vez se siente distinta
    • No es que me oponga totalmente a culpar a los agentes, pero en realidad creo que este tipo de problema es un patrón que siempre se ha visto entre humanos también
  • Como alguien que antes estuvo en un equipo de respuesta a incidentes de seguridad, pude empatizar con lo duro que debe estar siendo esto para el equipo actual
    Aun así, el primer comunicado realmente pareció una comunicación pésima
    No decía qué había pasado, pero sí usaba frases como que era lo bastante serio como para informar a las fuerzas del orden, y la guía práctica para clientes era algo como “revisen las variables de entorno”
    Pero desde la perspectiva del cliente, eso era demasiado ambiguo. No quedaba claro si había que ver si los valores seguían ahí, ni cómo se suponía que uno debía determinar si ya se habían filtrado
    Para mí, debieron decir de inmediato que se rotaran todas las contraseñas, tokens de acceso y datos sensibles confiados a Vercel, y después indicar que se auditaran los logs de acceso y señales anómalas en los datos de clientes
    Una de las razones para pagar hosting caro es justamente esperar que gestionen la seguridad y la estabilidad de forma profesional, y ahora mismo, incluso considerando la incertidumbre inicial, esto se ve demasiado deliberadamente vago

    • Mirando la página del incidente, decía que las variables de entorno marcadas como sensitive en Vercel se almacenan de forma que no puedan leerse, y que hasta ahora no había evidencia de acceso
      Aun así, si secretos como claves API, tokens, credenciales de DB o claves de firma no estaban marcados como sensitive, había que asumir una posible exposición y reemplazarlos con prioridad
      La fuente era la página del incidente, y yo la vi a las 4:22 p. m. hora del Este
    • Sinceramente no entiendo por qué me estoy enterando de esto aquí primero
      Soy cliente de pago desde hace más de un año, y es absurdo que me avise antes un agregador de noticias que el correo de la empresa
    • El año pasado Vercel también manejó torpemente la respuesta a una vulnerabilidad de Next middleware, así que esto tampoco se sintió completamente nuevo
      El contexto puede verse en el hilo de HN y en la reacción de ese momento
    • La seguridad es realmente difícil, y siento que los únicos proveedores en los que confío son AWS, Google e IBM
      Todo lo demás en general se siente como una elección que se busca problemas
    • Parte de la razón para pagar caro es la expectativa de seguridad y estabilidad, pero también la comodidad de poder desplegar en unos cuantos clics
      Aun así, yo ya decidí no depender más de esa comodidad, y migré todo de Render a linode
      Antes pagaba más de 50 dólares al mes en Render y ahora estoy entre 3 y 5 dólares, así que casi no creo que vuelva a usar ese tipo de hosting
  • Al leer la frase “Vercel no reveló qué sistemas fueron comprometidos”, incluso sin ser experto en seguridad, eso me pareció una postura bastante difícil de justificar
    También daba la impresión de que estaban más enfocados en protegerse a sí mismos que en ayudar a los clientes a entender el impacto

    • Por otro lado, también pensé que aunque dieran el nombre del sistema de forma más concreta, eso no necesariamente sería más útil
      Por ejemplo, aunque dijeran que en GitHub comprometieron un subsistema X poco conocido, tal vez eso no ayudaría en la práctica más que la frase ya publicada de que “algunos entornos de clientes fueron comprometidos”
  • Al volver a ver que agregaron IOC al aviso, quedó claro que para toda la comunidad era información importante que este incidente empezó con el compromiso de una app OAuth de Google Workspace
    Sentí que administradores y dueños de cuentas deberían revisar de inmediato ese identificador de app, y los detalles estaban en el aviso de Vercel

    • De verdad tengo curiosidad por saber qué herramienta era esa app OAuth
  • Yo estoy en un MacBook Pro con Chrome 147.0.7727.56, y apenas hice clic en el logo de Vercel arriba a la izquierda, Chrome se cerró de inmediato
    Me pareció un bug bastante interesante

    • Yo estoy en Arch Linux, y el mismo crash se reprodujo en Chrome 147.0.7727.101, pero no en Firefox 149.0.2 ni en Chromium 147.0.7727.101
      Es curioso que todos estén leyendo que quizá Vercel sufrió algún tipo de intrusión y, al mismo tiempo, estén probando si también pueden reproducir un crash de la página web
      Claro, también pensé que este juego colectivo de reproducirlo de ninguna manera podía salir mal
    • Lamentablemente, en mi Windows 11 Pro con Chrome 147.0.7727.101 no pude reproducir el crash
      Incluso grabé un video, y como uso uBlock Origin Lite pensé que quizá era eso, pero incluso desactivándolo no pasó nada
      Hasta pensé que habría sido un poco divertido si se reproducía
    • Me recordó a un bug de Chromium de alrededor de 2021 en Linux, donde al abrir el menú desplegable de GitHub se caía todo el sistema
      Duró un tiempo, pero al final lo arreglaron
    • Yo también vi lo mismo en Chrome sobre Windows 11
      Pero después de abrir una vez la home de Vercel directamente por URL, al hacer clic en el logo ya no volvió a crashear
    • Mi entorno es un MBP M4 Max con Chrome 146.0.7680.178, y no hubo crash
      Pero ahora sí me da algo de cosa hacer clic en el botón de Finish update
  • Estaba viendo como referencia otro hilo de HN y varios posts en X
    En la primera mención de Theo decía que parecía creíble, y en un post posterior dijo que las env var marcadas como sensitive estaban seguras y que los valores no marcados debían reemplazarse por precaución
    En otro post comentó que este tipo de hack puede pasarle a cualquier host, y en otra mención se planteó una posible relación con ShinyHunters

    • Si un valor no marcado como sensitive de verdad no era sensible, entonces no veo por qué habría que reemplazarlo
      Si necesariamente hay que reemplazarlo, entonces desde el principio era información sensible y debería haberse marcado como sensitive, ¿no?
    • Me da curiosidad quién es exactamente este Theo para que tanta gente lo siga citando
      A estas alturas no parece que haya aportado demasiada información sustancial
  • Este tipo de incidente vuelve a recordar lo concentrado que está el ecosistema web moderno en puntos únicos de falla
    Lo que se ha revelado hasta ahora me parece relativamente transparente, pero sí me hizo recalcular el perfil de riesgo de depender por completo de un PaaS totalmente administrado

  • La expresión “un subconjunto limitado de clientes” me suena bastante ambigua, porque técnicamente podría aplicar incluso si fuera el 99%

  • También me generó la sospecha de si en realidad esto afectó a muchos clientes, y solo están llamando subset a los grandes clientes que no les conviene perder

    • Es solo una especulación, pero siento que pocas veces la frase “limited subset” ha sido una buena noticia
      Normalmente, si realmente pudieran tranquilizar, dirían algo como “menos del 1% de los usuarios” con una cifra concreta, pero esta vez no lo hicieron
      Por eso me da la impresión de que todavía no tienen suficiente visibilidad, o que los números no les gustan
      Aun así, empatizo con lo duro que debe estar siendo para el equipo de respuesta, y espero que de aquí en adelante se comuniquen de forma más abierta y transparente
 
click 10 일 전

Aquí también se ven caracteres en hindi. Últimamente, sin importar si es OpenAI, Claude o Google, pasa bastante seguido que se mezcla hindi en las salidas en coreano. ¿Será que personas de India hicieron el etiquetado del dataset en coreano?
Antes no me gustaban los modelos chinos porque mezclaban chino en las respuestas en coreano, pero últimamente los modelos frontier se la pasan metiendo hindi, así que irónicamente me ha bajado el rechazo hacia los modelos chinos.

 
slowandsnow 10 일 전

A mí también me pasa que cuando uso Claude, a menudo sale en japonés. Ayer también pasó.