1P by GN⁺ 4시간전 | ★ favorite | 댓글 1개
  • Bluetooth 신호를 분석해 주변의 스마트 안경을 탐지하고 경고를 표시하는 앱으로, Meta Ray-Ban이나 Snap Spectacles 같은 기기를 식별함
  • BLE 광고 패킷의 제조사 ID 코드(예: Meta, Luxottica, Snap)를 기반으로 탐지하며, VR 헤드셋 등으로 인한 오탐 가능성이 있음
  • 앱은 개인정보를 수집하지 않으며 광고나 원격 전송 기능이 없음, 로그는 사용자가 직접 내보낼 때만 저장됨
  • RSSI 임계값 설정, 로그 출력, 제조사 ID 수동 입력, 다국어 지원 등 다양한 사용자 설정 기능을 제공
  • 개발자는 스마트 안경을 사생활 침해적 기술로 간주하며, 이 앱을 통해 사용자가 주변 환경을 인식하고 주의할 수 있도록 함

프로젝트 개요

  • _Nearby Glasses_는 주변의 스마트 안경을 탐지하고 사용자에게 알림을 제공하는 Android 앱
    • BLE(저전력 블루투스) 신호의 제조사 식별 코드(Company ID) 를 이용해 Meta, Luxottica, Snap 등의 기기를 감지
    • VR 헤드셋 등 동일 제조사의 다른 기기로 인한 오탐 가능성이 존재
  • 앱은 무료이며 소스코드가 공개되어 있으나, 비상업적 사용만 허용하는 PolyForm Noncommercial License 1.0.0을 따름
  • 개인정보 수집, 광고, 원격 통신이 전혀 없음, 로그는 로컬에만 저장되며 사용자가 직접 내보낼 수 있음

경고 및 법적 주의

  • 스마트 안경 착용자를 괴롭히거나 추궁하는 행위는 범죄가 될 수 있음
    • 앱의 경고를 근거로 타인을 공격하거나 괴롭히지 말 것을 명시
    • 사용자는 법적 책임을 스스로 부담해야 하며, 앱 제작자는 책임을 지지 않음
  • BLE 탐지의 한계로 인해 오탐 또는 미탐이 발생할 수 있음, 따라서 경고 메시지에 즉각적으로 반응하지 말고 신중히 판단해야 함

동기와 배경

  • 개발자는 스마트 안경을 사생활 침해적이고 동의 없는 촬영 도구로 인식
    • 일부 제품은 녹화 중임을 알리는 LED 표시를 비활성화할 수 있음
    • 얼굴 인식 기능이 탑재된 사례가 보고되어, 개인 안전에 위협이 된다고 언급
    • 관련 사례로 Meta Ray-Ban을 이용한 불법 촬영 및 인권 침해 보도 링크를 제시

기술적 구현 방식

  • BLE의 랜덤 MAC 주소와 불안정한 UUID로 인해 단순 비콘 스캔은 불가능
    • 대신 Bluetooth SIG의 제조사 코드(Company ID) 를 활용해 탐지
    • 예시 코드:
      • 0x01AB Meta Platforms, Inc.
      • 0x058E Meta Platforms Technologies, LLC
      • 0x0D53 Luxottica Group S.p.A
      • 0x03C2 Snapchat, Inc.
  • RSSI(수신 신호 세기) 를 기준으로 근접 여부를 판단
    • 기본 임계값은 -75 dBm, 약 10~15m(실내 3~10m) 거리
    • RSSI는 송신 전력, 장애물, 인체 흡수, 반사 등에 따라 달라짐
  • Foreground Service를 사용해 백그라운드에서도 지속적으로 탐지 가능

주요 기능

  • 스마트 안경 탐지 시 알림 표시, 신호 세기 기반 거리 추정
  • 디버그 로그 출력 및 내보내기 기능, 고급 사용자용 설정 제공
  • 사용자 정의 제조사 ID 입력, 탐지 대상 확장 가능
  • 알림 쿨다운 시간(기본 10초), 로그 길이, BLE ADV 전용 표시 등 세부 설정 지원
  • 영어, 독일어, 스위스 독일어, 프랑스어 등 다국어 지원

사용 방법

  • GitHub Releases 또는 Google Play에서 설치 후 실행
  • Start Scanning 버튼으로 탐지 시작, Bluetooth 및 근처 기기 접근 권한 필요
  • RSSI 임계값, 알림 설정, 로그 표시, 디버그 모드 등을 메뉴에서 조정 가능
  • 탐지 시 알림이 표시되며, Stop Scanning으로 중지 가능
  • 로그는 텍스트 파일로 내보내거나 복사 가능

향후 계획 (Todos)

  • 실제 환경에서 테스트 완료, Google Play 등록 완료
  • 오탐 기기 무시 목록 기능‘경고 없음’ 모드(카나리아 모드) 추가 예정
  • 추가 제조사 ID 등록iOS 버전 개발 검토
  • BLE 트래픽 분석을 통한 정확도 향상 연구 계획
  • Google Pixel 기기 UI 문제 수정 완료(버전 1.0.3 기준)

라이선스 및 크레딧

  • 아이콘 출처: Freepik 제작 Eyeglass 아이콘 (Flaticon)
  • 라이선스: PolyForm Noncommercial License 1.0.0
  • 개발 언어: Kotlin 100%

관련 주제

  • android, privacy, smartglasses, self-defense, ray-ban-meta-smart-glasses, privacy-protection 등 태그 포함
Hacker News 의견들
  • Moto G 128GB (2025, Android 16) 에서 테스트해봤음
    볼티모어의 사람이 많은 지역에서 실행했는데, 근처에 안경을 쓴 사람은 없었고 탐지는 없었음
    대신 주변 Bluetooth 기기가 많아서 디버그 로그가 엄청 빠르게 흘러갔음
    스캔 시작 버튼이 ‘중지’로 바뀌지는 않지만, 토글은 되는 듯함
    상단 바가 알림 영역과 겹치고, 하단은 내 3버튼 제스처 바 때문에 약간 잘림
    권한을 처음 허용했을 때 앱이 멈춰서 재시작해야 했음. 권한을 다 줬는데도 설정이 안 열렸음
    처음 실행 시 헤드셋이 연결되어 있었는데, 권한 요청 후 끊겼던 것 같음
    • 앱이 제대로 작동하지는 않지만, 적어도 사람이 직접 쓴 건 아닌 듯한 느낌임 :)
    • 나도 Pixel 8에서 똑같은 문제를 겪었음
  • Pixel 9에서 테스트했는데, 권한을 허용한 뒤에도 ‘Start Scanning’ 버튼이 아무 반응이 없었음
    디버그 로그에도 아무것도 안 찍힘. 그래도 아이디어는 마음에 들어서 업데이트되면 다시 시도해볼 생각임
    Google Play보다는 F-Droid에 더 어울릴 프로젝트 같음
    • 오른쪽 상단의 톱니바퀴 아이콘을 눌러 Foreground Service를 켜야 버튼이 작동했음
    • 나도 Pixel 7에서 같은 문제를 겪었음
  • 누군가 이걸 변형해서 Bluetooth나 Wi-Fi 비인증 공격을 일으킨다면 정말 아쉬운 일일 것 같음
    • 성가신 사제들” 같은 느낌이랄까. 결국 또 하나의 소프트웨어 군비 경쟁이 시작될지도 모름
      개인 영역 네트워크는 아직 준비가 안 됐고, 진화 과정은 고통스럽지만 누군가에게는 이익이 될 것임
    • 어젯밤에 Ghost in the Shell: SAC Laughing Man을 다시 봤는데, 이런 안경들이 해킹돼서
      얼굴 대신 Laughing Man 로고가 뜨는 장면을 상상하니 꽤 흥미로웠음
  • 현재는 Meta, Essilor, Snap의 회사 ID로만 탐지함
    그래서 내 XReal은 인식되지 않음. 카메라가 없는 마지막 세대일 것 같아서 일부러 샀음
    물론 XReal Eye 같은 부착형 카메라를 달면 촬영도 가능하겠지만, 나는 안 씀
    다만 귀에서 USB 케이블이 늘어져 있으니 이미 충분히 수상해 보일지도 모르겠음
    • 기술 커뮤니티에서도 이렇게 부정적인 반응이 많다는 건,
      일반인들 사이에서는 ‘스마트 안경’ 착용자에 대한 거부감이 훨씬 클 수 있다는 뜻임
      “근처의 변태 탐지기”라는 농담도 있었고, “Nearby Glassholes”로 이름을 바꾸자는 제안도 있었음
      공공장소에서 이런 안경으로 사람을 촬영하면 맞을 각오를 해야 한다는 말까지 나왔음
  • 이 프로젝트 정말 흥미로움. 예전 Kismet이나 Netstumbler로 워드라이빙하던 시절이 떠오름
    BT/BTLE 지문 데이터베이스가 더 정교했으면 좋겠음.
    각 기기나 칩셋마다 미묘한 차이가 있을 테니 오탐을 줄이는 데 쓸 수 있을 것 같음
    README의 식별자 링크가 상대경로라 깨져 있었는데, 아래가 올바른 주소임
    Bluetooth SIG company_identifiers.yaml
  • 프로젝트 자체도 흥미롭지만, Polyform License를 사용한 게 눈에 띔
    GitHub에 올라와 있어서 오픈소스로 오해할 수 있지만,
    Polyform은 비상업적 사용 경계가 모호하다는 점에서 CC 라이선스와 비슷한 문제를 가짐
    LICENSE 파일
    Polyform 공식 사이트
  • 음성-텍스트 변환 안경을 썼다고 누군가에게 공격받고 싶지는 않음
  • 여기에 위성 이미지, 자율주행차, Google Maps 차량, Ring 도어벨,
    거리 감시 카메라, 경찰 장비, 스마트폰 카메라, 드론까지 더하면
    완벽한 편집증 경보 시스템이 될 것 같음
    • 항상 “예”라고 표시되는 빨간 화면 하나면 충분하지 않을까 하는 생각임
    • 사람들이 일부 장치만 유독 싫어하는 것도 흥미로움
      스마트 안경 착용자에게는 이미 나쁜 평판이 있음. 그게 정당한지는 의문임
    • 이런 장치들의 위치를 스마트 안경 화면에 표시할 수도 있을 것 같음
    • 몇 년 안에 Neuralink 같은 뇌 인터페이스 사용자도 포함될 듯함
  • 이런 프로젝트는 단순히 주변의 이상한 사람을 식별하는 용도뿐 아니라,
    AI 안경이 보편화될 때 생길 사회적 문제를 드러내는 역할도 함
    나도 최근 AI 기능이 추가된 안경 브랜드를 버리고 일반 모델로 바꿨음.
    나름대로의 참여 거부 선언이었음
  • Nearby Glassholes”로 이름을 바꾸는 게 PR적으로 괜찮을지 궁금함