使用ADB over TCP/IP进行Expo无线安卓开发是否存在安全风险?
ADB over TCP/IP无线安卓开发的安全风险与最佳实践
安全风险
ADB over TCP/IP存在明确的安全隐患,主要集中在这几个方面:
- 未授权设备控制:ADB默认无严格身份验证,同一内网内的设备只要知晓你的手机IP和监听端口(默认5555),就能直接连接并获取设备高权限——可读取隐私数据、安装恶意应用、执行任意系统命令,甚至完全操控设备。
- 明文传输泄露风险:默认情况下ADB无线连接不加密,所有调试命令、应用数据均以明文在网络中传输,内网嗅探工具可轻松截获敏感信息,造成数据泄露。
- 端口暴露的外部威胁:若设备连接公共WiFi,或内网存在端口转发配置,外部攻击者可能通过端口扫描发现开放的ADB端口,进而尝试入侵设备。
安全指导与最佳实践
遵循以下操作可大幅降低安全风险:
- 仅限可信内网使用:仅在完全信任的家庭/办公内网开启ADB无线调试,绝对禁止在公共WiFi环境下使用该功能。
- 用完即关:开发结束后,立即执行
adb usb切换回USB调试模式,关闭TCP/IP监听;或直接在手机「开发者选项」中关闭「无线调试」开关。 - 修改默认端口:不要使用默认的5555端口,执行
adb tcpip 自定义端口(比如5558),降低被自动扫描到的概率。 - 启用安卓11+加密配对:安卓11及以上版本支持加密ADB无线连接,需通过配对码验证身份,安全性大幅提升:
- 打开手机「开发者选项」→ 开启「无线调试」
- 选择「配对设备」,获取配对码、设备IP和配对端口
- 在终端执行
adb pair 手机IP:配对端口 配对码完成配对,再用adb connect 手机IP:ADB端口建立连接
- 定期检查连接设备:用
adb devices查看当前所有连接设备,发现陌生设备立即执行adb disconnect 设备IP:端口断开,并关闭ADB无线模式。 - 限制ADB权限:若设备已root,不要随意授予ADB超级用户权限;非root设备也避免在调试时执行修改系统核心配置的高风险命令。
内容的提问来源于stack exchange,提问作者FeFe




