3 points par GN⁺ 2026-02-12 | 1 commentaires | Partager sur WhatsApp
  • Un script qui fait automatiquement passer comme adulte les procédures de vérification d’âge sur plusieurs plateformes
  • En collant du code dans la console de Discord puis en l’exécutant, il envoie automatiquement une requête à l’API /age-verification/verify puis redirige vers la page de fin de vérification
  • La vérification peut aussi être effectuée sur d’autres plateformes comme Twitch, Kick et Snapchat en saisissant l’URL du code QR, selon le même procédé
  • Cet outil exploite la structure de traitement des données faciales du système k-id pour générer des métadonnées valides sans visage réel
  • Il reproduit le chiffrement AES-GCM et une structure de données prédictive afin de franchir la procédure de validation, dans le contexte de l’extension mondiale de la vérification d’âge

Procédure de vérification sur Discord

  • La méthode consiste à coller et exécuter un script dans la console développeur (F12) de l’application web Discord
    • Le script extrait le cache des modules webpack de Discord, trouve le client API interne, puis envoie une requête vers l’endpoint /age-verification/verify
    • Il redirige ensuite l’verification_webview_url reçu en réponse vers age-verifier.kibty.town
  • L’utilisateur doit résoudre le captcha puis attendre que la page affiche “success” pour que la vérification soit terminée
  • À l’issue du processus, le compte Discord apparaît comme vérifié en tant qu’adulte

Méthode de vérification sur d’autres plateformes (Twitch, Kick, Snapchat, etc.)

  • Sur la page de vérification d’âge de chaque plateforme, il faut sélectionner l’option « selfie », puis copier l’URL du code QR affiché
  • Il faut ensuite coller cette URL dans le champ de saisie de age-verifier.kibty.town puis cliquer sur le bouton “verify”
  • La procédure de vérification se lance alors automatiquement jusqu’à l’affichage du message de réussite

Principe de fonctionnement

  • Le système de vérification d’âge k-id utilisé par Discord n’envoie pas la vidéo du visage au serveur, mais uniquement des métadonnées liées au visage et des détails du processus
    • Grâce à cette structure, il est possible de manipuler et transmettre des métadonnées d’apparence légitime afin de franchir la vérification sans visage réel
  • Après la publication par le passé du k-id verifier d’amplitudes, le partenaire faceassure avait renforcé la validation, mais cet outil la contourne cette fois avec une nouvelle méthode

Étapes techniques détaillées

  • Étape 1 : reproduction des paramètres de chiffrement
    • En comparant avec une requête légitime, les paramètres manquants encrypted_payload, auth_tag, timestamp et iv ont été identifiés
    • Le chiffrement utilise AES-GCM, avec une clé dérivée de nonce + timestamp + transaction_id via HKDF(SHA-256)
    • La même structure est reproduite pour générer les paramètres manquants
  • Étape 2 : manipulation des données de prédiction
    • Même avec une reproduction parfaite du chiffrement, l’échec persistait, ce qui a permis de constater que la validation dépendait des « prediction arrays » (outputs, primaryOutputs, raws)
    • Les données raws servent de base pour supprimer les valeurs aberrantes via un z-score, puis générer outputs et primaryOutputs
    • Les conditions suivantes sont également vérifiées
      • Les valeurs xScaledShiftAmt et yScaledShiftAmt ne peuvent prendre que l’une de deux possibilités
      • Le nom du média (caméra) doit correspondre à la liste réelle des appareils
      • L’heure de fin des statuts doit correspondre à la chronologie
  • Le code open source implémentant l’ensemble du processus est publié, et peut être consulté par tous

Publication et contexte de création

  • L’auteur remercie xyzeva, Dziurwa et amplitudes, qui avait déjà travaillé auparavant sur des sujets liés
  • Il est expliqué que Discord prévoit un déploiement mondial complet de la vérification d’âge en mars, ce qui a motivé l’exploration d’une nouvelle méthode de contournement de la validation

1 commentaires

 
GN⁺ 2026-02-12
Commentaires de Hacker News
  • La méthode vraiment solide, c’est de générer une entrée vidéo artificielle au lieu d’utiliser une vraie webcam
    Je pense qu’aucune plateforme ne pourra empêcher ça
    Même si une plateforme exige une entrée caméra difficile à usurper comme sur un téléphone, il suffit de placer une caméra devant un écran haute résolution
    Ce jeu du chat et de la souris ne durera pas longtemps

    • On peut se demander si les plateformes veulent vraiment empêcher ça
      Une vérification d’âge imparfaite basée sur un selfie vidéo profite en réalité à tout le monde
      Les gens raisonnables n’ont pas besoin d’envoyer leur permis de conduire ou leur passeport, et les plateformes retiennent plus facilement leurs utilisateurs
      Les sites porno peuvent créer des comptes utilisateurs pour améliorer le suivi et les revenus publicitaires
      Les politiques peuvent annoncer qu’ils ont « mis en place une politique de restriction par âge », et les parents sont rassurés en pensant que leurs enfants ne regardent pas de porno
      Au final, tout le monde y gagne
    • Il existe déjà des appareils avec des fonctions d’attestation matérielle, comme les caméras Windows Hello
      J’ai l’impression que ce type de vérification va finir par aller dans cette direction
      C’est probablement aussi l’une des raisons pour lesquelles Google a poussé les apps réservées au Play Store : construire une chaîne logicielle vérifiable
    • Si le scan du visage est impossible, on peut basculer sur une vérification d’identité
      En fin de compte, c’est un problème qui se règle en changeant juste un interrupteur
    • Il y a des rumeurs selon lesquelles Apple ajouterait un capteur d’image multispectral au prochain iPhone
      Combiné à une cartographie 3D, un simple truc consistant à montrer un écran ne fonctionnerait pas
      Le problème, c’est que des services de vérification d’âge comme celui de Discord n’essaient même pas sérieusement
    • Je suis d’accord sur le fait que ce jeu ne durera pas longtemps, mais pour une autre raison
      Moi, je ne jouerai simplement pas le jeu et j’arrêterai d’utiliser la plateforme
  • Cette approche pose trois problèmes

    1. elle réduit la friction de la vérification d’âge et incite les gens à rester dans des écosystèmes fermés
    2. elle justifie des vérifications plus intrusives au motif que « les méthodes respectueuses de la vie privée sont trop faciles à contourner »
    3. elle pousse à exécuter du code arbitraire alors qu’on est connecté à son compte
    • Montrer que quelque chose est possible et le recommander, ce n’est pas la même chose
      C’est un excellent exemple de rétro-ingénierie, qui montre à quel point il est difficile de vérifier quoi que ce soit sans porter atteinte à la vie privée
      Comme le code est public, le problème de l’exécution de code arbitraire (#3) ne s’applique pas ici
      Si des entreprises répondent par des méthodes plus intrusives (#2), les utilisateurs peuvent toujours partir vers d’autres plateformes
  • Je trouve que c’est une idée assez maligne
    Discord semble avoir assoupli la vérification d’âge juste assez pour pouvoir dire aux régulateurs qu’il « protège les enfants »
    Mais si les gouvernements commencent à surveiller sérieusement, cette approche ne tiendra pas longtemps
    Certains pays exigent déjà une authentification biométrique plus forte, et certains services passent à une vérification via application mobile
    De simples astuces en JavaScript deviendront de moins en moins efficaces

  • Je recommande d’envelopper le code dans une fonction immédiatement invoquée (IIFE)
    Sur Safari macOS, top-level await n’est pas pris en charge, donc ça ne fonctionne pas
    Voir caniuse.com/wf-top-level-await

    • Safari donne l’impression de refuser de prendre en charge les standards web modernes
      Il a déjà 5 ans de retard
  • J’ai essayé et j’ai été redirigé vers https://age-verifier.kibty.town/webview?url=null
    avec le message {"error":"error parsing webview url"}
    Mon compte Discord semble être dans un test A/B et utilise donc un autre prestataire de vérification, Persona

    • Persona est connu comme une entreprise qui collecte et partage des données, un peu comme quand on montre sa pièce d’identité à l’entrée d’un bar
      Une recherche permet de trouver plus d’informations
    • Tweet lié : https://x.com/xyz3va/status/2021734252505604108
    • J’espère que ce commentaire remontera en haut pour que les responsables sécurité le voient
  • Ça marche vraiment
    J’ai reçu sur Discord le message indiquant que j’avais été « classé dans le groupe adulte »
    (voix off) Et à cet instant, j’ai compris que mon compte avait été piraté ;)

    • Chez moi aussi, ça a marché
      J’espère que mon compte vieux de 11 ans n’aura pas de problème, mais si on me demande mon visage ou une pièce d’identité, je supprimerai simplement mon compte
    • Ce serait plus drôle de se faire vérifier avec le personnage g-man de Half-Life
    • Par précaution, j’ai changé mon mot de passe ensuite
  • Je ne comprends pas pourquoi les jeunes générations restent autant attachées à des services qui leur sont hostiles
    Est-ce que la commodité de rester sur une plateforme qu’on déteste l’emporte à ce point sur l’effort nécessaire pour trouver une alternative ?

    • Dire que « trouver une alternative demande peu d’efforts » suppose des bases techniques
      Beaucoup de jeunes aujourd’hui ne sont même pas familiers avec un terminal ou la notion de chemin de fichier
      Ils savent chercher, mais configurer eux-mêmes une alternative, c’est autre chose
      Surtout, il manque souvent la conscience même qu’une alternative puisse exister
    • Au-delà des effets de réseau, il y a aussi l’absence d’alternatives crédibles
      Les plateformes ouvertes comme Matrix manquent encore de fonctionnalités, et Discord reste l’option la moins mauvaise
    • Au fond, la raison est simple — l’effet de réseau
      Mes amis sont là-bas, donc moi aussi
    • La plupart des communautés Discord ne sont pas sous mon contrôle
      À chaque migration de plateforme, on perd des membres et la communauté se désagrège
      Ce qui semble être un « petit effort » revient en pratique à tuer une communauté
    • C’est la même raison pour laquelle les personnes d’âge moyen utilisent encore Facebook Marketplace
      Même en allant sur une autre plateforme, on se retrouve seul
      Faire en sorte que tout le monde migre en même temps est quasiment impossible
  • J’ai passé le captcha sur Discord, mais
    j’obtiens l’erreur {"error":"failed to execute k-id privately action (status=404)"}
    Je suis clairement majeur, et cette procédure est absurde
    Je m’en fiche même d’être bloqué

    • J’ai vu la même erreur, mais après actualisation ça a marché
    • Il semble y avoir une autre étape indiquée dans le code
  • Résumé des actus liées

  • Le jeu du chat et de la souris autour de la vérification d’âge numérique représente une énorme charge réglementaire
    Si c’est contournable aussi facilement, les plateformes ne font en réalité que cocher une case de conformité réglementaire,
    et la base réelle de confiance est extrêmement fragile

    • Il existe pourtant une méthode qui pourrait satisfaire tout le monde
      Mais les entreprises ne la préfèrent pas, car elle ne leur permet pas d’obtenir des données d’utilisateurs adultes vérifiés
      Voir à ce sujet le blog de Google : Google's Age Assurance Europe blog
    • Ce ne sera jamais parfait
      Le but de ces systèmes n’est pas de bloquer parfaitement, mais d’ajouter suffisamment de friction pour que le grand public ne puisse pas contourner facilement