Persona Inc, utilizada por Roblox, Discord, Reddit, etc. para la verificación de edad, acusada de permitir una amplia vigilancia de la identidad ~ Segu-Info

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.

Hace poco Discord, por ejemplo, comenzó a limitar los perfiles a un «modo apto
para adolescentes» hasta que se verifique la edad. Esto significa que
cualquiera que quiera seguir usando Discord como antes tendría que permitir
que escanee el rostro, y en internet no hubo mucha satisfacción. Discord
utilizaba Persona com plataforma de verificación, al igual que Reddit, Roblox,
Character.AI pero el caso de Discord fue considerarlo un experimento y supuestamente ya ha finalizado. 

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


Ver fuente

Related Post