WaveDigger: Apple 위치 조회 API로 Wi-Fi BSSID와 기지국의 실제 좌표를 찾아내는 오픈소스 도구
- WaveDigger는 Apple 위치 조회 API(WLOC)로 Wi-Fi BSSID와 셀 기지국 정보를 조회해 물리적 위치를 찾아내는 오픈소스 웹 도구임
- LTE·NR 기지국 조회, 위치 검색, BSSID 주변 AP 검색, 다중 BSSID 모드, 맵 플라이투 전환을 제공하며 실제 Apple API로 동작을 검증했음
- Next.js 16 기반이고 Node.js 24 이상 런타임에서 Vercel에 배포하며 저장소는 스타 180개·포크 13개·커밋 83개임
- eslint-plugin-react-hooks 7.1의 set-state-in-effect 규칙이 지적한 effect 내 동기 setState 11곳을 useSyncExternalStore 등으로 대체했고 eslint 10.x·typescript 7.x 메이저는 peer 범위 제한으로 차단했음
- HN 댓글러는 백엔드가 Apple 서비스라 언젠가 끊길 수 있고, API가 돌려주는 기지국 좌표는 셀 타워 위치를 찍기엔 조잡하다고 지적함
Hacker News opinions
Apple이 기기에서 고정된 인증서로 서버 쿼리를 제한하지 않는 게 의아함. 지금 상태면 아무나 쿼리를 날릴 수 있는 거잖아.
기기별 고유 인증서를 염두에 둔 거라면, 그걸 복사하지 못하게 막을 방법이 있을까?
Apple과 Google이 BSSID로 사람 위치를 추적한다고 알게 된 뒤로 나는 주 단위로 BSSID를 바꿔 쓰고 있음. Windows GUID나 Linux machine-id 같은 고정 ID는 결국 언젠가 감시에 악용되더라.
좋은 의도지만 주변에 아무도 그렇게 안 하니 실제 효과는 없을 듯함.
여러 대의 기기에서 어떻게 맞춰서 바꾸느냐가 문제인데.
BSSID를 그렇게 쓴 건 지도 앱 사용자가 GPS 콜드픽스를 몇 분씩 기다리지 않게 하려던 거 아니었나?
주변 AP는 그대로인데 한 위치의 SSID만 매주 바뀌면 오히려 더 확실하게 식별당함. 에어비앤비 같은 곳은 SSID나 네트워크 장비를 잘 안 바꾸거든. 그리고 스마트폰은 계속 들고 다니잖아. GPS랑 클라우드 연결까지 있는 그 기기를.
2003년 Skyhook Wireless를 오픈소스로 재현한 것 같음. 예전에 외부 GPS 동글로 와이파이 AP와 위치를 기록해 올리면 Skyhook이 가끔 수표를 보내줬는데, 나는 수십 달러 벌었음.
워드라이빙으로 돈을 벌 수 있었다고? 난 독일 PC 포럼에서 포인트만 받았는데.
이거 WiGLE이랑 같은 거 아님?
대체로 맞는데 백엔드가 Apple 서비스를 쓴다는 점이 다름. 결국 막힐 가능성이 큼.
BSSID 개념 잡기에는 이 강연 영상이 괜찮음.
WLOC API가 돌려주는 기지국 좌표는 타워 위치를 찾기엔 너무 조잡해서 거의 쓸모없음. AP 좌표는 그나마 나은 편.