사용자 브라우징 데이터를 수집하는 Chrome 확장 프로그램 287개 발견
(qcontinuum.substack.com)- 자동화된 MITM(중간자 공격) 기반 스캐닝 파이프라인을 통해 287개의 Chrome 확장 프로그램이 사용자의 브라우징 기록을 외부로 전송하는 행위를 탐지
- 이들 확장 프로그램은 총 약 3,740만 회 설치되어 있으며, 이는 전 세계 Chrome 사용자 약 1%에 해당
- 데이터 유출 행위에는 Similarweb, Curly Doggo, Offidocs, Big Star Labs 등 주요 데이터 브로커와 다수의 소규모 업체가 연루
- 분석 결과, 일부 확장 프로그램은 ROT47, AES‑256, LZ‑string 등 암호화 기법을 사용해 URL 데이터를 은폐하며 전송
- 단순한 개인정보 침해를 넘어 기업 내부망·관리 콘솔 URL 노출 등 보안 리스크로 이어질 수 있는 심각한 위협임
자동화된 스캔 파이프라인 구축
- 연구팀은 Docker 환경의 Chrome 브라우저를 MITM 프록시로 감싸고, URL 길이에 따른 출력 트래픽 상관관계를 측정하는 자동화 시스템을 구축
- URL 길이에 비례해 전송량이 증가하면 해당 확장 프로그램이 URL을 외부로 전송하는 것으로 판단
- 스캔은 두 단계로 진행되었으며, 총 930 CPU일이 소요됨
- 1차로 4개 URL 길이를 테스트하고, 의심 비율(
0.1 ≤ R < 1.0)이 감지되면 6개 추가 길이로 재검증
- 1차로 4개 URL 길이를 테스트하고, 의심 비율(
데이터 유출 탐지 및 분석
- 287개 확장 프로그램이 브라우징 기록을 외부 서버로 전송하는 것으로 확인
- 이들 확장 프로그램의 총 설치 수는 약 3,740만 회로, 전 세계 Chrome 사용자 약 1% 규모
- 유출된 데이터는 Similarweb, Curly Doggo, Offidocs, Big Star Labs 등으로 전달되며, 일부는 Kontera 스크레이퍼를 통해 재수집됨
- Honeypot 서버를 운영해 실제 데이터 수집 IP를 추적한 결과, HashDit, Blocksi AI Web Filter, Kontera 등 5개 주요 IP 대역이 반복적으로 접근
주요 행위자 및 연관성
- OSINT 분석을 통해 각 확장 프로그램의 개발자 이메일, 개인정보처리방침, 인증서 정보 등을 조사
- Similarweb의 “Similar Sites” 확장 프로그램이 Kontera 스크레이퍼 및 Curly Doggo, Offidocs와 연결되어 있음이 확인
- Big Star Labs는 Similarweb과 동일한 코드 패턴을 공유하며, 동일 조직일 가능성이 높음
대표적 유출 사례
-
Poper Blocker: ROT47로 URL을 난독화해
api2.poperblocker.com으로 전송 -
Stylish: AES‑256과 RSA 공개키 암호화를 이용해 URL을 암호화 후
userstylesapi.com으로 전송 - BlockSite 및 Video Ad Blocker Plus: LZ‑string UTF16 압축을 사용해 URL을 전송, 동일한 데이터 스키마 사용
-
Similarweb:
rank.similarweb.com으로 다중 URL 인코딩된 브라우징 데이터 전송 - WOT (Web of Trust) : XOR 기반 커스텀 인코딩으로 URL을 암호화, Similarweb과 동일한 구조
- Smarty, CrxMouse, ApkOnline, Knowee AI, Super PiP 등도 각각 URL 파라미터, 헤더, Google Analytics API 등을 통해 데이터 전송
위협 규모 및 영향
- 약 3,740만 명의 사용자, 즉 폴란드 인구 규모에 해당하는 사용자가 영향받음
- 일부 확장 프로그램은 기능상 브라우징 기록 접근이 필요할 수 있으나, 다수는 명시적 동의 없이 데이터 수집
- 유출된 데이터는 광고 타기팅, 기업 스파이 행위, 세션 탈취 등에 악용될 수 있음
- 특히 기업 환경에서 “생산성 향상” 확장 프로그램을 사용하는 직원의 내부 URL 노출 위험 존재
결론 및 경고
- 분석된 확장 프로그램 중 다수는 의도적 암호화 및 은폐 기법을 사용해 탐지를 회피
- 이는 단순한 버그가 아니라 데이터 수집을 기반으로 한 비즈니스 모델로 판단됨
- 무료이지만 오픈소스가 아닌 소프트웨어는 사용자가 ‘제품’이 될 수 있음을 상기해야 함
- Chrome 확장 프로그램 설치 시 권한 검토 및 출처 확인이 필수적임
Hacker News 의견들
-
15년 전쯤 특정 기능만 하는 Chrome 확장 프로그램을 만들어 꽤 인기가 있었음
몇 천 달러에 팔고 잊었는데, 지금 보니 악의적인 사람들이 이런 정상 확장 프로그램을 사들여 사용자 데이터로 돈을 버는 패턴이 명확히 보임
여러 사례를 직접 목격했음- 10년 넘게 인기 있는 크로스 브라우저 확장 프로그램을 유지 중인데, 수익화 제안이 끊이지 않음
관련 논의는 GitHub 토론에 정리되어 있음 - 이런 건 전형적인 공급망 공격(supply-chain attack) 임
게이머들이 고레벨 캐릭터를 팔거나, SNS 계정이 주인을 바꾸는 것과 비슷한 방식임
이제 보안의 새로운 전선은 브라우저 확장, 클라우드 통합, 앱 접근 권한 같은 영역임
Gmail이나 Google Drive 전체 접근 권한을 아무 앱에 주면 랜섬웨어에 노출될 수 있음
로컬 OS에는 흔적도 안 남고, 바이러스 스캐너도 잡지 못함
보안 점검 절차가 너무 번거로워서 하나씩 접근 해제하는 게 고역임
더 나은 방법이 필요함 - 15년 전이면 이런 거래가 막 시작되던 시기였을 것임
확장 프로그램 판매 자체를 막을 수는 없지만, Chrome Web Store의 검증 절차를 강화해야 함 - 판매자에게 악의가 없더라도, 판매 후 발생한 문제에 대해 법적 책임이 일부 있어야 한다고 생각함
다만 이런 책임은 개인이 아니라 스토어 운영자가 관리해야 함
- 10년 넘게 인기 있는 크로스 브라우저 확장 프로그램을 유지 중인데, 수익화 제안이 끊이지 않음
-
신뢰하던 확장 프로그램이 악성으로 변할 때를 대비해 스스로 보호하는 방법을 정리했음
- Extensions Update Notifier로 업데이트를 감시하고, 소유권 변경 여부를 확인함
-
Brave 브라우저에서는
brave://flags/#brave-extension-network-blocking기능으로 트래픽 필터링 규칙을 직접 설정할 수 있음 - GitHub 저장소를 클론 후 Claude Code로 보안 점검하고, 직접 빌드해 수동 업데이트하는 것도 방법임
- 이 방법이 정말 좋다고 생각함
혹시 확장 코드베이스를 결정론적으로 감사할 수 있는 도구가 있는지 궁금함
- 이 방법이 정말 좋다고 생각함
-
나는 오직 오픈소스 확장 프로그램만 사용함
uBlock Origin, SponsorBlock처럼 코드가 공개되고 개발자가 익명 아닌 경우만 신뢰함
Chrome Web Store는 사실상 규제 없는 시장이고, Google은 수익만 챙김
오픈소스만이 설치 전 코드를 직접 확인할 수 있는 최소한의 안전장치임- 신뢰할 만한 비익명 개발자의 오픈소스 확장은 좋은 신호지만, 실제 배포된 패키지가 공개 코드와 완전히 동일하다는 보장은 없음
pip, npm, rpm 같은 다른 오픈소스 배포 채널도 마찬가지임 - 그렇다면 설치된 확장 코드가 공개된 코드와 정확히 일치하는지 어떻게 검증할 수 있을까 궁금함
- 그래서 Tampermonkey가 오픈소스가 아니라는 점이 아쉽다는 의견임
관련 논의는 GitHub 토론에 있음 - 모든 걸 직접 감사할 수는 없으니, 신뢰할 수 있는 기관의 검증 체계가 필요하다고 생각함
“Google을 믿지 말자”보다 “제도를 개선하자”가 더 현실적인 접근임 - 자동 업데이트를 끄고 버전 고정(version lock) 을 하는 것도 안전함
Chrome보다는 Firefox나 Safari가 이런 설정에 유리함
- 신뢰할 만한 비익명 개발자의 오픈소스 확장은 좋은 신호지만, 실제 배포된 패키지가 공개 코드와 완전히 동일하다는 보장은 없음
-
대부분의 확장 프로그램 코드는 난독화되어 있지만, 누구나 소스 코드를 볼 수 있음
방법은 이 링크에 정리되어 있음
나도 2천 명 정도가 쓰는 작은 확장을 운영 중인데, 악성 코드로 바꾸자는 매입 제안이 자주 옴
예시는 One Click Image Saver임 -
초등학생 딸이 학교에서 Chromebook으로 Google Classroom을 쓰는데, 확장 프로그램 제한이 거의 없음
로그인할 때마다 Chrome이 “악성 활동으로 인해 확장 프로그램이 제거됨”이라는 알림을 띄움- 딸이 확장이 카메라나 검색 기록을 훔치는 걸 모를 수도 있음
그래서 아예 오픈소스 확장만 사용하거나 직접 만드는 게 낫다고 생각함
간단한 기능이라면 Tampermonkey로 직접 작성하고 코드도 직접 검토할 수 있음
요즘은 나도 대부분의 확장을 직접 만들어 씀
Tampermonkey는 코드 수정과 검토가 간단하고, AI 도구로 보안 점검하기도 쉬움
- 딸이 확장이 카메라나 검색 기록을 훔치는 걸 모를 수도 있음
-
나는 자동 업데이트를 모든 소프트웨어에서 비활성화함
“즉시 업데이트 안 하면 해킹당한다”는 말은 허상임
오히려 업데이트 후 해킹당할 가능성이 더 높다고 느낌- 결국 업데이트를 해도, 안 해도 위험한 상황임
-
신뢰할 수 없는 확장 프로그램은 언젠가 매각되어 악성 코드로 변할 가능성이 큼
그래서 나는 오직 uBlock Origin만 설치함- 나도 10만 명 이상이 쓰는 확장을 운영 중인데, 매각 제안 메일이 수백 통이나 옴
전부 Google이 강제한 공개 이메일 주소로 옴
정작 유용한 메일은 한 통도 없었음
그래서 나도 uBlock Origin, Bitwarden, 그리고 내가 만든 확장만 신뢰함
예시는 Old Reddit Redirect임 - 나도 uBlock Origin만 씀
예전엔 Tree Style Tab을 썼지만, Firefox가 세로 탭 기능을 기본 지원해서 이제 불필요함
새 확장을 설치하는 건 너무 위험함 - 참고로 uBlock Origin의 원조인 uBlock 프로젝트는 한때 신뢰할 수 없는 사람에게 넘어갔다가
개발자 Raymond Hill이 다시 포크해서 만든 것임
- 나도 10만 명 이상이 쓰는 확장을 운영 중인데, 매각 제안 메일이 수백 통이나 옴
-
많은 확장이 검색 쿼리의
"u": "https://www.google.com/search?q=target"같은 URL 파라미터를 수집함
이는 단순한 브라우징 기록을 넘어서 인증 토큰까지 탈취할 수 있음을 의미함- 만약 어떤 서비스가 인증 토큰을 URL 파라미터로 전송한다면, 그 서비스 자체를 쓰지 말아야 함
그런 토큰은 항상 공개 상태임
- 만약 어떤 서비스가 인증 토큰을 URL 파라미터로 전송한다면, 그 서비스 자체를 쓰지 말아야 함
-
세계에서 가장 부유한 회사 중 하나인 Google이 이런 문제를 왜 직접 해결하지 않았는지 의문임
광고 차단기를 막는 데는 그렇게 열심인데, 이런 건 방치함- 어쩌면 Google이 이미 이 문제를 알고 있었을 수도 있음
그렇다면 “왜 공개하지 않았는가”가 더 중요한 질문이 됨
- 어쩌면 Google이 이미 이 문제를 알고 있었을 수도 있음
-
macOS에서 설치된 모든 Chrome 확장 ID를 나열하는 명령어를 공유함
find "$HOME/Library/Application Support/Google/Chrome" \ -type d -path "*/Extensions/*" -not -path "*/Extensions/*/*" \ -print 2>/dev/null | sed 's#.*/Extensions/##' | sort -u결과를 악성 확장 목록과 비교하면 됨
- 비교를 자동으로 해주는 macOS용 스크립트도 있음
bad_browser_extension_check_osx.sh를 터미널에서 바로 실행 가능함curl -fsSL https://sfbaylabs.org/files2/2026-02-11/… | bash
- 비교를 자동으로 해주는 macOS용 스크립트도 있음