AN
android-mobile-hardening
Directrices de seguridad y endurecimiento (hardening) para aplicaciones Android. Úsalo al configurar el manifiesto, el almacenamiento local seguro, las firmas de red y la ofuscación en producción.
Install
mkdir -p .claude/skills/android-mobile-hardening && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15483" && unzip -o skill.zip -d .claude/skills/android-mobile-hardening && rm skill.zipInstalls to .claude/skills/android-mobile-hardening
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Directrices de seguridad y endurecimiento (hardening) para aplicaciones Android. Úsalo al configurar el manifiesto, el almacenamiento local seguro, las firmas de red y la ofuscación en producción.196 charsno explicit “when” trigger
About this skill
Android Mobile Hardening & Security Standards
Sigue estas directivas de seguridad para mitigar riesgos de ingeniería inversa, filtración de datos y ataques sobre la aplicación Android.
1. Almacenamiento Local Seguro
- EncryptedSharedPreferences: NUNCA guardes tokens de autenticación o datos sensibles del usuario en texto plano. Usa
EncryptedSharedPreferencesde la librería AndroidX Security:val masterKey = MasterKey.Builder(context) .setKeyScheme(MasterKey.KeyScheme.AES256_GCM) .build() val sharedPreferences = EncryptedSharedPreferences.create( context, "secure_prefs", masterKey, EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM ) - Cifrado de Base de Datos (Room): Si la aplicación persiste bases de datos estructuradas con datos sensibles, implementa cifrado transparente a nivel de base de datos utilizando SQLCipher.
2. Hardening en AndroidManifest.xml
- exported=false: Asegúrate de que las actividades, servicios y receptores de difusión (
BroadcastReceivers) que no necesiten ser llamados por otras aplicaciones externas tengan explícitamenteandroid:exported="false"para prevenir inyecciones de intenciones no autorizadas. - Network Security Config: Configura
networkSecurityConfigpara obligar al uso de HTTPS e impedir conexiones HTTP en texto plano:<network-security-config> <base-config cleartextTrafficPermitted="false" /> </network-security-config> - Permisos Mínimos: Solicita únicamente los permisos estrictamente necesarios en el manifiesto (
AndroidManifest.xml). Solicita permisos peligrosos (cámara, ubicación, etc.) en tiempo de ejecución.
3. Ofuscación de Código y Compilación Segura
- R8 / ProGuard: Habilita la reducción de recursos y la ofuscación en el archivo
build.gradlede producción:buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } - Control de Logs: Deshabilita los logs de depuración en producción. Evita el uso directo de
Log.doLog.ven producción; en su lugar, usa librerías como Timber que permiten deshabilitar el registro en release.