설명
WebView.setWebContentsDebuggingEnabled(true)가 운영 빌드에서 활성화되면 USB 디버깅이나 디버그 연결을 통해 WebView 내부 페이지, 스토리지, 네트워크 동작을 조사할 수 있습니다. 이는 민감한 세션 정보와 DOM 데이터를 노출할 수 있습니다.
잠재적 영향
- WebView 저장소와 세션 정보 노출
- 페이지 조작 또는 스크립트 실행
- 운영 앱의 내부 동작 분석
해결 방법
- 디버깅 활성화는
BuildConfig.DEBUG조건 안에서만 수행합니다. - 릴리스 빌드에서는 명시적으로 비활성화하거나 호출을 제거합니다.
- 릴리스 빌드 설정에서
debuggable=false를 확인합니다.
예시
변경 전
java
WebView.setWebContentsDebuggingEnabled(true);
변경 후
java
if (BuildConfig.DEBUG) {
WebView.setWebContentsDebuggingEnabled(true);
}
설명:
- 변경 전: WebView 디버깅을 활성화하면 연결된 개발 도구에서 WebView 콘텐츠와 JavaScript 컨텍스트를 검사할 수 있습니다.
- 변경 후: 운영 빌드에서는 WebView.setWebContentsDebuggingEnabled(false)를 사용하거나 호출하지 않습니다.