Persona Inc, utilizada por Roblox, Discord, Reddit, etc. para la verificación de edad, acusada de permitir una amplia vigilancia de la identidad
Persona, el servicio de verificación de identidad que impulsa las comprobaciones de edad en plataformas como Roblox, Discord (brevemente), Reddit y ChatGPT, está recibiendo mucha atención esta semana después de que investigadores de seguridad publicaran lo que llaman un análisis profundo de una configuración de vigilancia de identidad a gran escala, una configuración de la que los usuarios que entregan sus selfis e identificaciones a estas plataformas probablemente desconocían.
Persona Identities, Inc., es una startup de verificación de identidad biométrica, una empresa que ofrece soluciones de Conozca a su Cliente (KYC) y Antilavado de Dinero (AML) que se basan en comprobaciones de identidad biométricas para estimar la edad del usuario.
El descubrimiento reveló un conjunto de herramientas de vigilancia e inteligencia financiera mucho más completo que una simple herramienta de seguridad para adolescentes.
La noticia se ha popularizado en X y ha generado debate en r/privacy y r/ChatGPT. Persona denomina a sus herramientas "infraestructura de cumplimiento centrada en la privacidad". Los investigadores discrepan claramente.
La empresa no fue hackeada. El informe, publicado el 16 de febrero por investigadores de vmfunc (Celeste), afirma que todo el código fuente del panel gubernamental de Persona, con sus 53 megabytes distribuidos en 2.456 archivos, se encontraba desprotegido en un endpoint gubernamental autorizado por FedRAMP. No se necesitó ninguna filtración ni exploit. Solo el código fuente de JavaScript (en archivos js.map, ver abajo) accesibles públicamente a través de una ruta activa /vite-dev/, aparentemente una configuración de desarrollo y compilación que, de alguna manera, llegó a producción en una plataforma que gestiona datos de identidad gubernamentales.
Según los investigadores, la plataforma puede presentar Informes de Actividades Sospechosas directamente a FinCEN, la unidad de delitos financieros del Departamento del Tesoro de EE.UU., e informes similares a FINTRAC de Canadá, con nombres clave internos como Proyecto SHADOW, Proyecto LEGION, PROTECT y otros.
Según se informa, las selfies subidas durante una verificación rutinaria pueden aparecer en listas biométricas de rostros que se almacenan hasta por tres años. Existe una comprobación que compara la selfie con fotos de políticos y figuras públicas, generando una puntuación de similitud.
Otra comprobación se llama literalmente "SelfieSuspiciousEntityDetection" y el código aparentemente no ofrece ninguna explicación sobre qué califica una cara como sospechosa. Incluso se realizan búsquedas en los registros de la Administración del Seguro Social para personas fallecidas. En total, los investigadores contabilizaron 269 comprobaciones de verificación en todo el sistema.
Un aspecto destacado del informe fue que la plataforma Persona, orientada al gobierno, y la plataforma para consumidores comparten la misma base de código subyacente, como lo confirman el de código fuente analizado. Persona obtuvo la autorización de FedRAMP en octubre de 2025, pero los fuentes todavía estaban activos, lo que plantea preguntas justas sobre cómo se filtró eso.
Algunas preguntas abordan una discrepancia entre la política de retención biométrica de un año declarada por OpenAI y el límite de tres años detectado en el código, así como el motivo por el cual los usuarios en Ucrania parecen estar siendo bloqueados a pesar de no haber sanciones activas.
Persona recopila (y puede conservar hasta tres años) direcciones IP, huellas dactilares del navegador y del dispositivo, números de identificación oficial, números de teléfono, nombres, rostros y una serie de análisis de "selfies", como detección de entidades sospechosas, detección de repetición de poses y comprobaciones de inconsistencia de edad.
MalwareByte publicó una herramienta para verificar si nuestros datos personales han sido expuestos.
Archivos JS.MAP
En la página de inicio de sesión del panel de gobierno de ONYX (app.onyx.withpersona-gov[.]com/dashboard/login), la ruta de activos /vite-dev/ sirve mapas de origen de JavaScript sin autenticación, no solo paquetes minimizados, sino el código fuente TypeScript original y completo.
Vite (la herramienta de compilación) genera mapas de origen durante la compilación. Estos son archivos .js.map que contienen una matriz sourcesContent con el TypeScript original sin minificar, incrustado como cadenas JSON. Durante el desarrollo, Vite los sirve desde una ruta /vite-dev/ o /@vite/ para que las herramientas de desarrollo del navegador puedan mostrar el código fuente real durante la depuración.
La configuración predeterminada de Vite establece build.sourcemap como false para compilaciones de producción; pero, si alguien lo habilita explícitamente (o copia una configuración de desarrollo en producción) (o aplica vibecode a la aplicación), los archivos .map se integran en el paquete de salida y se sirven junto con el JS minificado. El navegador ya sabe buscarlos por defecto; cada archivo .js minificado termina con un comentario //# sourceMappingURL=<filename>.js.map que indica a las herramientas de desarrollo dónde obtener el mapa.
Los mapas de origen no solo contienen nombres de variables y números de línea, sino que contienen todo el código fuente original a través de sourcesContent. Se puede ejecutar JSON.parse() en el archivo de maps, iterar sourcesContent y así reconstruir el árbol completo del proyecto en disco. Eso es lo que se hizo en este caso. Sin descompilación, sin ingeniería inversa, sin necesidad de conocimientos avanzados.
La ruta /vite-dev/ sugiere específicamente que ni siquiera se trató de una situación de "¡Uy, nos dejamos los mapas de origen activados!". Esa ruta es el prefijo de recursos del servidor de desarrollo de Vite. O alguien implementó una compilación de desarrollo en producción, o la configuración de Docker/k8s lo extrajo del pipeline de CI. Los auditores no revisaron los recursos estáticos o no sabían qué era un mapa de origen. En cualquier caso, había 53 megabytes de Typescript, para cualquiera con un navegador y un poco de idea.
Fuente: Piunika


0 Comments:
Publicar un comentario
Gracias por dejar un comentario en Segu-Info.
Gracias por comentar!