Android WebView 디버깅 활성화

Android WebView 디버깅 활성화

설명

WebView.setWebContentsDebuggingEnabled(true)가 운영 빌드에서 활성화되면 USB 디버깅이나 디버그 연결을 통해 WebView 내부 페이지, 스토리지, 네트워크 동작을 조사할 수 있습니다. 이는 민감한 세션 정보와 DOM 데이터를 노출할 수 있습니다.

잠재적 영향

  • WebView 저장소와 세션 정보 노출
  • 페이지 조작 또는 스크립트 실행
  • 운영 앱의 내부 동작 분석

해결 방법

  1. 디버깅 활성화는 BuildConfig.DEBUG 조건 안에서만 수행합니다.
  2. 릴리스 빌드에서는 명시적으로 비활성화하거나 호출을 제거합니다.
  3. 릴리스 빌드 설정에서 debuggable=false를 확인합니다.

예시

변경 전

java
WebView.setWebContentsDebuggingEnabled(true);

변경 후

java
if (BuildConfig.DEBUG) {
    WebView.setWebContentsDebuggingEnabled(true);
}

설명:

  • 변경 전: WebView 디버깅을 활성화하면 연결된 개발 도구에서 WebView 콘텐츠와 JavaScript 컨텍스트를 검사할 수 있습니다.
  • 변경 후: 운영 빌드에서는 WebView.setWebContentsDebuggingEnabled(false)를 사용하거나 호출하지 않습니다.

참조