피드로 돌아가기
How to fix the "Purple Potassium" Chrome Web Store rejection (and catch it before you submit)
Dev.toDev.to
Frontend

Static Analysis 기반 Permission 최적화로 Chrome Store 거절 방지

How to fix the "Purple Potassium" Chrome Web Store rejection (and catch it before you submit)

Rory2026년 6월 28일3intermediate

Context

Chrome Web Store 심사 과정에서 실제 코드 사용량보다 과도한 권한을 요청할 때 발생하는 'Purple Potassium' 거절 사례 분석. Manifest 파일의 권한 선언과 실제 API 호출 간의 불일치로 인한 심사 실패 및 리워크 비용 발생.

Technical Solution

  • Static Analysis 기반의 권한 사용량 추적을 통한 Manifest 파일 검증으로 불필요한 Permission 식별
  • chrome.* API 호출 패턴을 정적으로 분석하여 실제 사용 중인 기능 목록을 Inventory화 하는 로직 구현
  • <all_urls>와 같은 광범위한 Host Permission을 특정 도메인으로 제한하는 Narrowing 전략 적용
  • 동적 접근(chrome[name])에 대응하기 위해 보수적인 Warning 레벨을 적용한 분석 알고리즘 설계
  • CI 파이프라인 통합이 가능한 Exit Code 기반의 Linter 구조를 통해 제출 전 사전 검증 체계 구축

1. Manifest에 선언된 모든 Permission이 실제 코드 내 API 호출과 1:1 매칭되는지 전수 조사

2. Host Permissions 설정 시 `<all_urls>` 대신 필요한 특정 도메인 패턴으로 최소화

3. tabs 권한의 경우 단순 API 호출이 아닌 url, title 등 민감 속성 접근 여부를 기준으로 판단

4. CI 단계에서 Static Analysis 툴을 도입하여 제출 전 권한 오남용 가능성 사전 차단

원문 읽기