Capturas de Pantalla No Prevenidas
Las pantallas bancarias y de pago sin protección contra capturas permiten que datos sensibles sean capturados por malware o aparezcan en la pantalla de apps recientes de Android.
Cómo Funciona
La vista previa de apps recientes de Android captura una screenshot de tu app cuando el usuario presiona home. Sin FLAG_SECURE, las pantallas sensibles aparecen en esta vista previa y en cualquier captura tomada mientras tu app está en primer plano. Las apps maliciosas de grabación de pantalla también pueden capturar la pantalla.
// MAL: sin protección de capturas en pantallas sensibles (React Native Android)
import { View, Text } from 'react-native';
export function PantallaPayment() {
return <View><Text>Tarjeta: 4111 1111 1111 1111</Text></View>;
// sin FLAG_SECURE — puede ser capturada por malware
}// BIEN: agrega FLAG_SECURE para pantallas con datos sensibles
import { useFocusEffect } from '@react-navigation/native';
import { NativeModules } from 'react-native';
useFocusEffect(() => {
NativeModules.PreventScreenshot.enable();
return () => NativeModules.PreventScreenshot.disable();
});Ejemplo Real
Los troyanos bancarios en Android rutinariamente esperan a que las apps financieras estén en primer plano y luego toman una screenshot. Las apps sin protección FLAG_SECURE han tenido números de cuenta y saldos exfiltrados de esta manera.
Cómo Prevenirlo
- Agrega FLAG_SECURE a los flags de ventana Android para todas las pantallas con datos financieros o personales
- Usa react-native-prevent-screenshot o una librería similar para una solución multiplataforma
- Aplica la prevención de capturas selectivamente a pantallas sensibles — no a toda la app
- Prueba en la vista de apps recientes de Android para verificar que tu pantalla sensible no sea visible en la vista previa
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Hijacking de Deep Links
mediumLos esquemas de URL personalizados sin verificación de host permiten que apps maliciosas intercepten los deep links de tu app y roben tokens OAuth o parámetros sensibles.
Exposición del Portapapeles
lowLos datos sensibles copiados al portapapeles (contraseñas, tokens, números de tarjeta) persisten ahí indefinidamente y pueden ser leídos por cualquier app.
Certificate Pinning Faltante
highSin certificate pinning, los atacantes en la misma red pueden interceptar el tráfico HTTPS de tu app con una autoridad de certificación falsa.
Detección de Root/Jailbreak Faltante
mediumEjecutar una app financiera o de salud en un dispositivo rooteado o con jailbreak significa que todos los controles de seguridad pueden ser eludidos por el dueño del dispositivo.