Skip to content

Security & Privacy Analysis

This page analyzes the security and privacy implications of the Huepar app based on APK decompilation and protocol analysis.

Risk LevelCategory
MODERATE-HIGHOverall Privacy Risk
HIGHGoogle Sign-In Users
LOWOffline-Only Users

The app requests the most permissive Google Drive OAuth scope:

{
scopes: ['https://www.googleapis.com/auth/drive'] // FULL access!
}
ScopeAccess LevelUsed by Huepar
drive.appdataHidden app folder onlyNo
drive.fileOnly files created by appNo
drive.readonlyRead-only accessNo
driveFull read/write/deleteYes

After extensive analysis of the decompiled APK:

  • No Google Drive API calls exist in the code
  • No backup/restore features using Drive
  • No file sync functionality
  • The OAuth token is sent to Huepar’s backend server
┌─────────────┐ OAuth Token ┌─────────────┐
│ Your │ (with Drive scope) │ Huepar │
│ Phone │ ───────────────────► │ Backend │
└─────────────┘ └─────────────┘
│ Could access:
┌─────────────┐
│ Your Google │
│ Drive │
│ (ALL files)│
└─────────────┘

The Huepar backend receives a token that could be used to:

  • Read any file in your Google Drive
  • Download your personal documents
  • Modify or delete files
  • Access shared files and folders

If you’ve used Google Sign-In with this app:

  1. Go to Google Account Permissions
  2. Find “Huepar” or apps with client ID 218951563723-*
  3. Click Remove Access
  4. The app still works - use email/password login instead
AspectAssessment
No pairing requiredReduces attack surface
Local-only BLEData stays on device
Simple protocolLess room for bugs
IssueRiskDetails
No encryptionMediumBLE data transmitted in plaintext
No authenticationMediumAnyone in range can send commands
MAC in device nameLowDevice name contains last 4 digits of MAC
ServiceLocationPurpose
app.huepar.comUnknownUser accounts, API
Tencent Cloud (qcloudCos)ChinaAvatar images, post attachments

Based on React Native modules in the APK:

Data TypeWhen Collected
Battery levelDevice connection
Device brand/modelApp launch
Network stateApp launch
BLE device MACDevice connection
PermissionPurposeRisk
BLUETOOTH_*Device controlLow
ACCESS_FINE_LOCATIONBLE scanning (Android 12+)Medium
CAMERACamera measurement modeMedium
RECORD_AUDIOVoice commandsMedium
READ_PHONE_STATEDevice identificationMedium
ServicePurposePrivacy Impact
Google Sign-InAuthHIGH Full Drive access
Apple Sign-InAuthLOW Standard scope
Tencent CloudStorageMEDIUM China-based
Google TranslateUI stringsLOW Minor
  1. Use offline mode - Measurement works without network
  2. Skip account creation - Use “temporary” mode
  3. Disable network - Turn off WiFi/data when using app
  4. Revoke Google access - If you ever used Google Sign-In
  1. Use Apple Sign-In - Standard permissions only
  2. Use email/password - Avoid OAuth entirely
  3. Don’t use social features - Forum posts are stored on Tencent
  1. Power off when not in use - Device is always discoverable
  2. Use in private spaces - Anyone nearby can interact with device

This analysis was performed by:

  1. APK Decompilation - Hermes bytecode → readable JavaScript
  2. Static Analysis - Searching for API calls, OAuth scopes, URLs
  3. Live Testing - Capturing actual BLE and network traffic
  4. API Probing - Testing backend endpoints
FileSizeContents
huepar_decompiled.js37 MBReact Native bundle
AndroidManifest.xml6 KBPermissions, activities
btsnoop captures~50 KBBLE packet traces