GN⁺: 설치된 크롬 확장 프로그램의 소유주 변경을 감지하세요
(github.com/classvsoftware)새로운 관리 하에
- 크롬 웹 스토어에 나열된 개발자 정보가 변경되었는지 확인하는 기능을 가진 확장 프로그램.
- 설치된 확장 프로그램의 소유권 변경을 간헐적으로 확인.
- 변경 사항이 있을 경우, 확장 프로그램 아이콘에 빨간색 배지가 표시되어 사용자에게 알림.
- Matt Frisbie가 만듦.
- Hacker News 토론에서 논의됨.
왜 필요한가?
- 확장 프로그램 개발자들은 자신의 확장 프로그램을 사고자 하는 제안을 지속적으로 받음.
- 대부분의 경우, 이러한 구매자들은 기존 사용자들을 속이려 함.
- 확장 프로그램이 변경되었다는 사실을 사용자들이 알지 못하고, 이제 손상될 수 있음.
- 새로운 관리 하에는 소유권 변경에 대한 통지를 사용자에게 제공하여, 사용 중인 소프트웨어에 대한 정보에 입각한 결정을 내릴 수 있게 함.
설치 방법
- 여기에서 설치: (크롬 웹 스토어 승인 대기 중)
- 또는 사전 빌드된 릴리스를 다운로드하고 .zip 파일을 풀어
dist
디렉토리를 크롬에 로드.
소스에서 빌드하기
- 새로운 관리 하에는 Parcel, React, Typescript, TailwindCSS를 사용.
-
yarn install
로 의존성 설치. -
yarn start
로 로컬에서 실행. -
yarn build
로 릴리스 빌드.
왜 외부 서버가 필요한가?
- 브라우저는 확장 마켓플레이스 도메인을 수정하는 특별한 규칙을 가짐.
- 예를 들어,
chromewebstore.google.com
에 대한declarative_net_request
규칙을 설정할 수 없음. - 따라서, 이 확장 프로그램은 개발자 정보 확인을 ExBoost API 서버에 위임함.
GN⁺의 의견
- 이 확장 프로그램은 사용자들이 자신의 개인 정보와 데이터를 보호할 수 있도록 도와주는 중요한 도구임. 확장 프로그램의 소유권이 변경되었을 때 사용자들에게 알림을 주어, 소유권 변경으로 인한 잠재적인 보안 위험에 대응할 수 있게 함.
- 확장 프로그램의 소유권 변경은 사용자들에게 투명하게 공개되어야 하며, 이러한 변화를 감지하는 도구는 사용자들의 신뢰를 유지하는 데 중요한 역할을 함.
- 이 기술이나 유사한 기능을 제공하는 다른 오픈소스 프로젝트로는 EFF의 Privacy Badger나 DuckDuckGo의 Privacy Essentials 등이 있음. 이들은 사용자의 온라인 프라이버시를 보호하는 데 초점을 맞추고 있음.
- 이 확장 프로그램을 도입할 때 고려해야 할 사항으로는 확장 프로그램이 실제로 소유권 변경을 정확하게 감지하는지, 그리고 이러한 감지가 사용자의 브라우징 경험에 부정적인 영향을 미치지 않는지 등이 있음.
- 소유권 변경이 사용자에게 실질적인 보안 위험을 초래할 수 있으므로, 이러한 확장 프로그램은 사용자들에게 매우 유익하고 필요한 도구임. 그러나, 확장 프로그램이 모든 소유권 변경을 완벽하게 감지할 수 있을지, 그리고 감지된 변경이 항상 부정적인 결과를 의미하는 것은 아니므로, 사용자는 여전히 주의를 기울여야 함.
Hacker News 의견
- 몇 달 전, 저자는 YouTube 광고를 빠르게 하는 무료 오픈 소스 확장 프로그램을 만들어 해커뉴스에 공유했고, 이는 홈페이지에 올랐다. 한 주 후, 한 사용자가 이를 복사하여 자신의 버전을 Reddit에 홍보했고, 이는 바이럴이 되어 30만 명 이상의 사용자를 확보했다. 저자는 왜 무료 오픈 소스 확장 프로그램을 복사했는지 의문을 제기하며, 해당 사용자가 나중에 이를 여러 사이트에서 5자리 수의 금액에 판매하려 했다고 언급했다. 또한, 크롬 스토어에 등록된 개발자가 변경된 것을 발견했다고 한다.
- 확장 프로그램의 ID는 개발자가 앱 스토어에 첫 업로드할 때 제공하는 개인 키에서 파생되며, 이후 업로드에 다른 key.pem이 포함되면 ID가 변경된다. ID가 변경되었다면 소유자가 바뀌었을 가능성이 있지만, 원래 소유자가 새 소유자에게 개인 키를 넘겼을 수도 있다. 구글은 업로드마다 개인 키를 요구하지 않으므로 새 소유자가 해당 키에 접근하지 않고도 변경 사항을 업로드할 수 있다.
- 한 사용자는 확장 프로그램 생태계가 매우 흥미롭다고 말하며, 이 분야를 위한 도구를 개발 중이라고 언급했다. 특정 확장 프로그램을 대상으로 GitHub 저장소를 만들어 업데이트를 추적하고, 각 업데이트를 저장소에 변경 사항으로 푸시한 후, 코드에 대한 정적 분석기를 실행하고 런타임 오염 분석을 실험하고자 한다.
- 한 인기 있는 오픈 소스 크롬 확장 프로그램의 소유자는 수년간 받은 기부금이 한 달 카페 비용도 충당하지 못한다고 말했다. 그러나 악의적인 목적으로 확장 프로그램을 사려는 제안을 여러 번 받았고, 이를 모두 거절했다. 원래 개발자의 도덕성만이 보안과 개인 정보 보호의 유일한 프레임워크가 되어서는 안 된다고 주장했다.
- 다른 댓글러가 언급했듯이, 이 확장 프로그램은 유용하지만 원래 브라우저에 내장된 기능이어야 한다고 한다. 소유권 변경을 자동으로 알려주는지, 아니면 수동으로 '확인' 명령을 실행해야 하는지에 대한 질문이 있었다. 확장 프로그램의 소유권 변경을 사용자 승인이 필요하도록 정책을 변경해야 한다는 의견도 있었다.
- 파이어폭스 확장 프로그램의 경우, 모질라는 '추천 확장 프로그램 프로그램'을 운영하고 있으며, 이는 보안 전문가에 의한 엄격한 기술 검토를 거친다. 그러나 모든 업데이트가 출시 전에 검토되는지는 명확하지 않다. 만약 모든 업데이트가 검토된다면, 인기 있는 확장 프로그램에 대한 이 문제를 해결할 수 있을 것이다.
- 확장 프로그램이 악의적인 목적으로 손바뀜이 일어날 경우, 종종 구글 개발자 계정의 자격 증명을 판매하기 때문에 이러한 경우를 감지하지 못할 수 있다.
- 한 사용자는 오래전에 adblock을 설치했고, 새 컴퓨터에 다시 설치하면서 권한을 확인했다. 광고를 차단하기 위해 사용자가 보는 것을 볼 수 있어야 하지만, 그것이 얼마나 많은 권한을 요구하는지에 대해 생각해본 적이 없었다고 말했다. 이제는 pihole과 확장 프로그램을 전혀 사용하지 않는다고 한다.
- 악의적인 확장 프로그램 구매자들이 개발자 이름을 그대로 유지하여 이 문제를 회피할 수 있는지, 크롬 확장 프로그램 스토어에서 개발자 이름을 엄격하게 관리하는지에 대한 의문이 제기되었다.
- 확장 프로그램의 목표에는 동의하지만, 모든 확장 프로그램 목록을 확장 프로그램 중심의 광고 네트워크에 보내는 것은 의심스럽다는 의견이 있었다. 이는 브라우저가 확장 프로그램 마켓플레이스 도메인을 수정하는 데 특별한 규칙을 가지고 있기 때문에 외부 서버가 필요하다고 설명했다.
- 모든 브라우저에 내장되어야 할 기능이며, 소유자가 변경되면 업데이트가 자동으로 비활성화되어야 한다는 의견이 있었다.