본문으로 건너뛰기
피드

백악관 공식 앱을 디컴파일해봤더니 — 예상대로 엉망이었음

security 약 7분
vote
0
댓글
북마크

백악관 공식 Android 앱을 디컴파일한 결과, 서드파티 웹사이트의 GDPR 동의창과 페이월을 강제 제거하는 JS 인젝션, 4.5분 간격의 GPS 추적 파이프라인, 개인 GitHub Pages에서 코드 로딩 등 다수의 보안·프라이버시 문제가 발견됨.

  • 1

    앱 내 WebView가 외부 사이트의 쿠키 동의창, GDPR 배너, 페이월을 JS 인젝션으로 강제 제거

  • 2

    OneSignal SDK를 통한 GPS 추적 파이프라인이 포그라운드 4.5분, 백그라운드 9.5분 간격으로 설정되어 전체 컴파일됨

  • 3

    YouTube 임베드가 개인 GitHub Pages에서 HTML을 로딩 — 계정 탈취 시 임의 코드 실행 가능

  • 4

    인증서 피닝 없음, 개발용 아티팩트가 프로덕션 빌드에 포함, 정부 인프라 없이 Mailchimp/Uploadcare 등 서드파티 의존

  • 백악관이 앱스토어와 구글플레이에 공식 앱을 출시했는데, 누군가 APK를 뜯어봤음. React Native + Expo(SDK 54) 기반이고 Hermes JS 엔진 위에서 돌아감. 백엔드는 놀랍게도 WordPress + 커스텀 REST API임
  • 개발사는 Expo 설정에 "forty-five-press"라는 이름으로 박혀있고, 실제 앱 로직은 5.5MB짜리 Hermes 바이트코드 번들 하나에 다 들어있음. 네이티브 Java 쪽은 그냥 얇은 래퍼 수준

앱이 하는 짓: 쿠키 동의창과 페이월을 강제로 없앰

  • 앱 내 WebView로 외부 링크를 열 때마다 JavaScript를 인젝션함. 이 스크립트가 하는 일이 압권인데:
    • 쿠키 배너, GDPR 동의 다이얼로그, OneTrust 팝업 제거
    • 로그인 월, 가입 월, 업셀 프롬프트, 페이월 요소 제거
    • body { overflow: auto !important }로 동의 다이얼로그가 잠근 스크롤을 강제 해제
    • MutationObserver로 동적으로 추가되는 동의 요소도 계속 제거
  • 미국 연방 정부 공식 앱이 서드파티 웹사이트의 쿠키 동의창과 페이월을 CSS/JS 인젝션으로 뜯어내고 있다는 거임

⚠️주의

> 정부 공식 앱이 타사 웹사이트의 GDPR 동의 배너와 페이월을 강제 제거하는 JavaScript를 인젝션하고 있음. 법적으로 문제가 없을 수도 있지만, 정부 앱이 할 짓은 아님

GPS 추적 파이프라인이 통째로 컴파일되어 있음

  • Expo 설정에 withNoLocation이라는 플러그인이 있어서 위치 추적을 제거한 것처럼 보이지만, 실제로는 OneSignal SDK의 네이티브 위치 추적 코드가 전부 APK에 남아있음
  • 포그라운드 4.5분, 백그라운드 9.5분 간격으로 GPS를 폴링하도록 설정되어 있음
  • 위도, 경도, 정확도, 타임스탬프, 포그라운드/백그라운드 여부, GPS/네트워크 구분까지 전부 캡처해서 OneSignal 서버로 동기화하는 구조
  • 활성화 조건은 3가지 게이트가 있음: (1) JS에서 setLocationShared(true) 호출, (2) 사용자가 런타임 위치 권한 승인, (3) 기기에 위치 프로바이더 존재. 근데 setLocationSharedisLocationShared가 JS 번들에 참조되어 있어서 언제든 켤 수 있는 상태
  • 앱이 비활성 상태일 때도 위치를 캡처하는 백그라운드 서비스까지 포함되어 있음

보안? 그런 거 없음

  • YouTube 임베드에 react-native-youtube-iframe 라이브러리를 쓰는데, 이게 lonelycpp라는 개인의 GitHub Pages에서 플레이어 HTML을 로드함. 이 계정이 해킹당하면 앱 WebView 안에서 임의 코드 실행이 가능
  • Elfsight(상용 SaaS 위젯 회사)의 JavaScript를 샌드박싱 없이 로드해서 소셜 미디어 피드를 임베드함. Elfsight가 추적하는 건 고스란히 이 앱에서도 추적됨
  • 이메일 구독은 Mailchimp로, 이미지는 Uploadcare CDN으로, Truth Social 임베드는 하드코딩된 static CDN URL로 — 정부 인프라를 거치는 게 하나도 없음
  • SSL 인증서 피닝도 없음. 기본 Android TrustManager만 사용해서, 기업 프록시나 공공 와이파이의 MITM 공격에 그대로 노출

프로덕션에 개발 아티팩트가 그대로

  • Hermes 번들에 localhost URL이 포함되어 있음 (Metro 번들러 개발 서버 주소)
  • 개발자 로컬 IP 10.4.4.109가 string resources에 하드코딩
  • Expo 개발 클라이언트(expo-dev-client, expo-devlauncher, expo-devmenu)가 릴리즈 빌드에 컴파일되어 있고, 개발용 PreviewActivity가 매니페스트에 export 상태

OneSignal을 통한 사용자 프로파일링

  • 단순 푸시 알림을 넘어서 OneSignal이 하는 일이 많음:
    • addTag로 사용자 세그먼테이션
    • addSms로 전화번호를 사용자 프로필에 연결
    • addAliases로 크로스 디바이스 사용자 식별
    • 알림 클릭, 인앱 메시지 클릭/표시/해제 전체 라이프사이클 추적
    • 사용자 상태 변경 추적
  • 위치, 알림 상호작용, 인앱 메시지 클릭, 전화번호, 태그, 상태 변경 — 전부 OneSignal 서버로 전송

중요

> 68개 이상의 라이브러리가 컴파일되어 있고, Google ML Kit Vision(바코드 스캐닝), Apollo GraphQL, ExoPlayer, Firebase Analytics 등이 포함됨. 뉴스 앱치고 과하다 못해 의심스러운 수준

  • ICE(이민세관단속국) 신고 폼 링크도 하드코딩되어 있음. 뉴스 앱인데
  • 하드코딩된 문자열 중에는 "Greatest President Ever!" 같은 것도 있음 (ㅋㅋ)
  • 불법이냐고? 아마 아닐 거임. 정부 공식 앱에서 기대하는 수준이냐고? 그것도 아닐 거임

정부 앱이라는 타이틀이 무색할 정도의 보안·프라이버시 수준. React Native + WordPress 조합의 허술함보다, GDPR 동의창을 강제로 뜯어내는 JS 인젝션이 정치적으로도 기술적으로도 가장 논란이 될 부분임.

댓글

댓글

댓글을 불러오는 중...

security

엘에이 경찰, 사생활 침해 논란 끝에 플록 번호판 감시 계약 종료

엘에이 경찰이 번호판 인식 카메라 업체 플록 세이프티와의 3년 계약을 연장하지 않기로 했어. 시민권, 프라이버시, 데이터 보관과 공유 문제를 해결하지 못했다는 게 핵심 이유야. 플록은 미국 전역에 최소 8만 대 카메라망을 깔아 경찰과 연방기관이 차량을 추적할 수 있게 해왔고, 오탐·보안 사고·이민 단속 악용 의혹까지 겹치며 압박이 커졌어.

security

크로미움 148부터 Math.tanh 한 번으로 운영체제 지문이 새는 문제

크로미움 148 이후 V8이 Math.tanh 계산을 자체 구현 대신 운영체제의 수학 라이브러리에 맡기면서, 같은 입력값도 리눅스·맥·윈도우에서 마지막 비트가 달라지는 지문 신호가 생겼다. 이 차이는 User-Agent로 맥이라고 주장하면서 리눅스 수학 결과를 내는 식의 위장을 바로 들키게 만든다. CSS 삼각함수와 웹 오디오까지 보면 브라우저 수학 경로가 꽤 복잡하게 갈라지고, 제대로 흉내 내려면 실제 운영체제 라이브러리의 비트 단위 동작까지 맞춰야 한다.

security

출입통제도 클라우드 구독제로 간다…제로트러스트·AI 분석이 승부처

기업 출입보안이 사업장별 서버를 두는 방식에서 클라우드 기반 서비스형 출입통제(ACaaS)로 옮겨가고 있다. 시장은 2026년 17억8000만 달러에서 2030년 31억9000만 달러로 커질 전망이고, 제로트러스트·모바일 인증·AI 출입 분석·스마트빌딩 통합이 핵심 경쟁 포인트로 꼽힌다.

security

AWS·구글 클라우드, 양자컴퓨터 대비해 암호 체계 갈아엎는 중

AWS와 구글 클라우드가 양자컴퓨터 시대를 대비해 기존 공개키 암호와 양자내성암호를 함께 쓰는 하이브리드 전환을 시작했다. 핵심 배경은 지금 훔친 암호문을 나중에 양자컴퓨터로 푸는 ‘선수집·후해독’ 공격이고, 국내도 통신·금융·국방 등 5개 분야에 45억원을 투입해 실증에 들어간다.

security

보안 점검 맡긴 AI 에이전트가 악성코드를 직접 실행할 수 있다는 경고

AI 보안 에이전트가 저장소를 검사하다가 README 같은 문서에 숨은 프롬프트 인젝션에 속아 악성 바이너리를 실행할 수 있다는 연구가 나왔다. 클로드 코드와 코덱스의 자동 모드처럼 승인 없이 명령을 수행하는 구성에서 문제가 재현됐고, 여러 모델과 공급업체를 가로질러 같은 패턴이 통했다는 점이 핵심이다.