웹뷰 기반 하이브리드 앱에서 자주 발생하는 XSS, 소스코드 변조, 스토리지 데이터 노출 취약점을 진단하고 이를 차단하기 위한 난독화 및 웹뷰 보안 설정 기술을 공유합니다.
하이브리드 앱(Flutter, React Native 등)은 웹 기술을 기반으로 하기 때문에 웹 고유의 취약점과 모바일 플랫폼의 취약점을 동시에 가집니다. 가장 빈번하게 발생하는 문제는 로컬 스토리지(LocalStorage)에 민감한 사용자 정보를 암호화 없이 저장하는 플러그인 남용입니다. 이 글에서는 암호화된 저장소인 Secure Storage를 필수적으로 사용해야 하는 이유를 설명합니다. 또한 안드로이드의 웹뷰(WebView) 설정에서 setAllowFileAccess를 false로 제한하고, JavaScriptInterface를 통해 네이티브 기능을 호출할 때 엄격한 오리진(Origin) 검증을 거치는 방어 코드를 제시합니다. 마지막으로 소스코드 유출을 막기 위해 ProGuard 및 웹팩 컴파일 단계에서 자바스크립트 코드 난독화(Obfuscation) 및 무결성 검증을 자동화하는 파이프라인 구축 방안을 다룹니다.