# Discord/Twitch/Snapchat 연령 인증 우회하기

> Clean Markdown view of GeekNews topic #26621. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=26621](https://news.hada.io/topic?id=26621)
- GeekNews Markdown: [https://news.hada.io/topic/26621.md](https://news.hada.io/topic/26621.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-02-12T13:34:06+09:00
- Updated: 2026-02-12T13:34:06+09:00
- Original source: [age-verifier.kibty.town](https://age-verifier.kibty.town/)
- Points: 3
- Comments: 1

## Topic Body

- 여러 플랫폼의 **연령 인증 절차를 자동으로 성인으로 통과시키는 스크립트**  
- **Discord 콘솔에 코드를 붙여넣어 실행**하면, 자동으로 `/age-verification/verify` API 요청을 보내고 인증 완료 페이지로 이동  
- **Twitch, Kick, Snapchat 등 다른 플랫폼**에서도 QR 코드 URL을 입력해 동일한 방식으로 인증 가능  
- 이 도구는 **k-id 시스템의 얼굴 데이터 처리 구조**를 악용해, 실제 얼굴 없이도 합법적인 메타데이터를 생성함  
- **AES-GCM 암호화와 예측 데이터 구조를 복제**해 검증 절차를 통과시키는 방식으로, 글로벌 연령 인증 확대에 맞춰 제작됨  
  
---  
### Discord에서의 인증 절차  
- Discord 웹앱의 **개발자 콘솔(F12)** 에 특정 스크립트를 붙여넣어 실행하는 방식  
  - 스크립트는 Discord의 **webpack 모듈 캐시**를 추출하고, 내부 API 클라이언트를 찾아 `/age-verification/verify` 엔드포인트에 요청을 보냄  
  - 요청 결과로 받은 `verification_webview_url`을 `age-verifier.kibty.town`으로 리디렉션함  
- 사용자는 **캡차를 해결한 뒤 페이지가 “success”를 표시할 때까지 대기**하면 인증 완료  
- 이 과정을 통해 Discord 계정이 **성인 인증된 상태로 표시**됨  
  
### 다른 플랫폼(Twitch, Kick, Snapchat 등) 인증 방식  
- 각 플랫폼의 **연령 인증 페이지에서 ‘selfie’ 옵션을 선택**하고, 표시된 **QR 코드의 URL을 복사**  
- 해당 URL을 `age-verifier.kibty.town`의 입력창에 붙여넣고 **‘verify’ 버튼을 클릭**  
- 이후 자동으로 인증 절차가 진행되어 성공 메시지가 표시됨  
  
### 작동 원리  
- Discord가 사용하는 **k-id 연령 인증 시스템**은 얼굴 영상을 서버로 전송하지 않고, **얼굴 관련 메타데이터와 프로세스 세부 정보만 전송**함  
  - 이 구조 덕분에 **합법적으로 보이는 메타데이터를 조작해 전송**하면 실제 얼굴 없이도 인증 통과 가능  
- 과거 **amplitudes의 k-id verifier**가 공개된 이후, 파트너사 **faceassure**가 검증을 강화했으나 이번 도구는 새로운 방식으로 이를 우회함  
  
### 기술적 세부 단계  
- **1단계: 암호화 파라미터 복제**  
  - 합법적 요청과 비교했을 때 누락된 `encrypted_payload`, `auth_tag`, `timestamp`, `iv`를 확인  
  - AES-GCM 암호화로, 키는 `nonce + timestamp + transaction_id`를 **HKDF(SHA-256)** 로 파생해 생성  
  - 동일한 구조를 재현해 누락된 파라미터를 생성함  
- **2단계: 예측 데이터 조작**  
  - 암호화를 완벽히 복제해도 실패하자, **검증이 ‘prediction arrays’(outputs, primaryOutputs, raws)에 의존**함을 확인  
  - `raws` 데이터를 기반으로 z-score를 이용해 이상치를 제거하며 `outputs`와 `primaryOutputs`를 생성  
  - 추가로 다음 조건들이 검증됨  
    - `xScaledShiftAmt`, `yScaledShiftAmt` 값은 두 가지 중 하나만 가능  
    - 미디어 이름(카메라)이 실제 장치 목록과 일치해야 함  
    - 상태 완료 시간이 타임라인과 일치해야 함  
- 이러한 과정을 모두 구현한 **오픈소스 코드가 공개되어 있으며**, 누구나 확인 가능  
  
### 공개 및 제작 배경  
- 제작자는 **xyzeva**와 **Dziurwa**, 이전 관련 작업을 한 **amplitudes**에게 감사 인사를 표함  
- Discord가 **글로벌 연령 인증을 3월에 전면 시행**할 예정이어서, 이에 맞춰 **새로운 검증 우회 방법을 탐구**했다고 설명됨

## Comments



### Comment 51054

- Author: neo
- Created: 2026-02-12T13:34:06+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46982421) 
- 진짜 **견고한 방법**은 실제 웹캠 대신 인공적인 영상 입력을 생성하는 것임  
  어떤 플랫폼도 이걸 막을 수 없을 거라 생각함  
  만약 플랫폼이 휴대폰처럼 **스푸핑이 어려운 카메라 입력**을 요구하더라도, 고해상도 화면 앞에 카메라를 두면 끝임  
  이런 **고양이와 쥐의 게임**은 오래가지 않을 것임
  - 플랫폼이 정말로 이걸 막고 싶어할까 하는 의문이 있음  
    불완전한 영상 셀피 기반 나이 인증은 오히려 모두에게 이득임  
    상식적인 사람은 운전면허증이나 여권을 업로드하지 않아도 되고, 플랫폼은 사용자 유지가 쉬워짐  
    포르노 사이트는 사용자 계정을 만들어 추적과 광고 수익을 늘릴 수 있음  
    정치인은 “나이 제한 정책을 도입했다”고 발표할 수 있고, 부모는 자녀가 포르노를 안 본다고 안심함  
    결국 **모두가 이기는 구조**임
  - Windows Hello 카메라처럼 **하드웨어 인증** 기능이 있는 장치가 이미 존재함  
    이런 검증 방식도 결국 그 방향으로 갈 것 같음  
    아마 Google이 Play Store 전용 앱을 밀었던 이유 중 하나도 이런 **검증 가능한 소프트웨어 체인**을 만들기 위해서였을 것임
  - 얼굴 스캔이 불가능하면 ID 확인으로 전환할 수 있음  
    결국 **스위치 하나만 바꾸면** 되는 수준의 문제임
  - Apple이 차세대 iPhone에 **다중 스펙트럼 이미지 센서**를 추가할 거라는 소문이 있음  
    3D 매핑과 함께라면 단순히 화면을 비추는 트릭은 통하지 않음  
    문제는 Discord 같은 나이 인증 서비스가 **진지하게 시도하지 않는 것**임
  - 이런 게임은 오래가지 않을 거라는 말에 동의하지만, 이유는 다름  
    나는 그냥 그 게임을 하지 않고 **플랫폼 사용을 중단할 것**임

- 이 방식에는 세 가지 문제가 있음  
  1) 나이 인증의 불편함을 줄여서 사람들이 **폐쇄된 생태계**에 머물게 함  
  2) “프라이버시 친화적 방식은 너무 쉽게 우회된다”는 이유로 **더 침입적인 인증**을 정당화함  
  3) 계정과 연결된 상태에서 **임의의 코드를 실행**하도록 유도함
  - 어떤 것이 가능하다고 증명하는 것과 그걸 권장하는 것은 다름  
    이건 **리버스 엔지니어링의 훌륭한 사례**로, 개인정보를 침해하지 않고 검증하는 게 얼마나 어려운지 보여줌  
    코드가 공개되어 있으니 임의 코드 실행 문제(#3)는 해당되지 않음  
    만약 기업이 더 침입적인 방법(#2)으로 대응한다면, 사용자는 언제든 다른 플랫폼으로 이동할 수 있음

- 꽤 **영리한 아이디어**라고 생각함  
  Discord는 규제 당국에 “아이 보호 조치를 하고 있다”고 말할 수 있을 정도로만 나이 인증을 완화한 듯함  
  하지만 정부가 진지하게 감시한다면 이런 접근은 오래 못 감  
  이미 일부 국가는 **더 강력한 생체 인증**을 요구하고 있고, 일부 서비스는 모바일 앱 기반 인증으로 옮겨가고 있음  
  단순한 **JavaScript 기반 트릭**은 점점 통하지 않게 될 것임

- 코드 실행 시 즉시 실행 함수(IIFE)로 감싸는 걸 추천함  
  macOS Safari에서는 **top-level await**을 지원하지 않아서 작동하지 않음  
  관련 정보는 [caniuse.com/wf-top-level-await](https://caniuse.com/wf-top-level-await) 참고
  - Safari는 **현대 웹 표준을 지원하지 않으려는 태도**를 보임  
    이미 5년은 뒤처져 있음

- 시도해보니 [https://age-verifier.kibty.town/webview?url=null](https://age-verifier.kibty.town/webview?url=null) 로 리디렉션되며  
  `{"error":"error parsing webview url"}` 메시지가 뜸  
  내 Discord 계정이 **A/B 테스트 중**이라 다른 인증 제공업체 Persona를 쓰는 듯함
  - Persona는 바(bar) 입장 시 신분증을 보여주는 것처럼 **데이터를 수집하고 공유**하는 회사로 알려져 있음  
    검색해보면 더 많은 정보를 볼 수 있음
  - 관련 트윗: [https://x.com/xyz3va/status/2021734252505604108](https://x.com/xyz3va/status/2021734252505604108)
  - 이 댓글이 상단에 올라가서 **보안 담당자들이 확인**했으면 좋겠음

- 실제로 작동함  
  Discord에서 “성인 그룹으로 분류되었다”는 메시지를 받음  
  (내레이션) 그리고 그 순간, **계정이 해킹되었음을 깨닫게 됨** ;)
  - 나도 작동했음  
    11년 된 계정이 문제 생기지 않길 바라지만, 얼굴이나 ID를 요구한다면 그냥 **탈퇴할 생각**임
  - Half-Life의 **g-man 캐릭터**로 인증하는 게 더 재밌을 듯함
  - 혹시 몰라서 나중에 **비밀번호를 변경**했음

- 왜 젊은 세대가 자신들을 적대하는 서비스에 그렇게 **매달리는지 이해가 안 됨**  
  싫어하는 플랫폼에 남아 있는 편의성이 대안을 찾는 수고보다 큰 걸까?
  - “대안을 찾는 건 가벼운 노력”이라는 말은 **기술적 기본기**를 전제로 함  
    요즘 젊은 세대는 터미널이나 파일 경로 개념조차 생소함  
    검색은 할 줄 알지만, 대안을 직접 세팅하는 건 다른 문제임  
    무엇보다 **대안이 존재할 수 있다는 인식 자체**가 부족함
  - 네트워크 효과 외에도 **실질적인 대안 부재**가 있음  
    Matrix 같은 오픈 플랫폼은 아직 기능이 부족하고, Discord가 **가장 덜 나쁜 선택지**인 상황임
  - 결국 이유는 단순함 — **네트워크 효과** 때문임  
    친구들이 거기에 있으니 나도 거기에 있음
  - 대부분의 Discord 커뮤니티는 내가 통제하지 않음  
    플랫폼을 옮길 때마다 **멤버가 줄고 공동체가 붕괴**됨  
    “가벼운 노력”이 실제로는 커뮤니티를 죽이는 일임
  - 중년층이 여전히 Facebook Marketplace를 쓰는 이유와 같음  
    다른 플랫폼을 써도 **혼자만 남게 되기 때문**임  
    모두가 동시에 옮기게 만드는 건 거의 불가능함

- Discord에서 캡차를 통과했지만,  
  `{"error":"failed to execute k-id privately action (status=404)"}` 라는 오류가 뜸  
  나는 분명 성인인데, 이런 절차는 **말도 안 되는 일**임  
  차단당해도 상관없음
  - 나도 같은 오류를 봤지만, 새로고침하니 작동했음
  - 코드에 표시된 **다른 단계**가 있는 듯함

- 관련 소식 요약  
  - [Discord, 다음 달부터 얼굴 스캔 또는 ID 요구](https://news.ycombinator.com/item?id=46945663) (2026년 2월, 댓글 1999개)  
  - [Discord 대안 순위](https://news.ycombinator.com/item?id=46949564) (2026년 2월, 댓글 456개)  
  - [데이터 유출로 7만 개 ID 노출 후 나이 인증 반발](https://news.ycombinator.com/item?id=46951999) (2026년 2월, 댓글 21개)

- 디지털 나이 인증의 **고양이와 쥐 게임**은 엄청난 규제 부담임  
  이렇게 쉽게 우회된다면 플랫폼은 단지 **규제용 체크박스**만 채우는 셈이고,  
  실제 신뢰 기반은 매우 취약함
  - 모두가 만족할 수 있는 방법도 있음  
    하지만 기업은 **인증된 성인 사용자 데이터**를 확보하지 못하니 선호하지 않음  
    관련 내용은 [Google의 Age Assurance Europe 블로그](https://blog.google/company-news/inside-google/around-the-globe/google-europe/age-assurance-europe/) 참고
  - 완벽할 수는 없음  
    이런 시스템의 목적은 완벽한 차단이 아니라, **대중이 쉽게 우회하지 못하도록 마찰을 추가하는 것**임
