Credenciales AWS Hardcodeadas
Las claves de acceso de AWS (que empiezan con AKIA) o las claves de acceso secretas están hardcodeadas en tu código fuente, dando a cualquiera que lea el código acceso completo a tu cuenta de AWS.
Cómo Funciona
Las claves de acceso de AWS son esencialmente un par de usuario (AKIA...) y contraseña con acceso a nivel API a tu cuenta cloud. Hardcodéalas en el código y hazles commit a GitHub, y escáneres automatizados como GitGuardian las encuentran en segundos. Los atacantes luego las usan para levantar instancias EC2 de minería de crypto, exfiltrar datos de S3 o acumular facturas de AWS. AWS tiene detección automatizada pero no es instantánea — los breaches suceden en ese lapso.
// MAL: credenciales AWS hardcodeadas en el código
const s3 = new S3Client({
region: 'us-east-1',
credentials: {
accessKeyId: 'AKIAIOSFODNN7EXAMPLE', // hardcodeado — NUNCA hagas esto
secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
}
});// BIEN: usa variables de entorno o roles IAM (preferido en AWS)
const s3 = new S3Client({
region: process.env.AWS_REGION
// En EC2/Lambda/ECS: sin credenciales necesarias — el SDK usa el rol IAM automáticamente
// Localmente: configura las variables de entorno AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY
});Ejemplo Real
AWS publica un reporte de investigación de amenazas anualmente. Las credenciales hardcodeadas en repos públicos de GitHub son la fuente #1 de compromiso inicial de cuentas AWS. Línea de tiempo típica del ataque: commit con credenciales → push a GitHub → GitGuardian o escáner malicioso detecta en 30 segundos → exfiltración de S3 o instancias de minería EC2 lanzadas en 5 minutos.
Cómo Prevenirlo
- Usa roles IAM para EC2/Lambda/ECS — el SDK recoge las credenciales automáticamente sin claves en el código
- Para desarrollo local, usa aws configure para almacenar credenciales en ~/.aws/credentials (fuera de tu repo)
- Si necesitas claves de larga duración (CI/CD), almacénalas como secretos cifrados en GitHub Actions / tu proveedor de CI
- Habilita GitGuardian o usa git-secrets como pre-commit hook para prevenir commits de claves
- Rota todas las claves de AWS inmediatamente si alguna vez fueron commiteadas — luego audita CloudTrail para detectar mal uso
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Bucket S3 con Acceso Público
criticalTu bucket de S3 es públicamente legible debido a un ACL público, configuración de Block Public Access deshabilitada o una política de bucket con wildcard — cualquiera en internet puede listar y descargar tus archivos.
SSRF a Metadata de Cloud
criticalTu app hace fetch de URLs proporcionadas por el usuario sin bloquear endpoints de metadata de cloud como 169.254.169.254, dejando a los atacantes robar tus credenciales cloud vía SSRF.
Política IAM Excesivamente Permisiva
highTu política IAM usa Action: '*' o Resource: '*', otorgando muchos más permisos de los necesarios y convirtiendo cualquier fuga de credenciales en una toma de control completa de la cuenta.
CORS Mal Configurado en Almacenamiento Cloud
mediumTu bucket de S3 o GCS tiene CORS configurado con origin: '*' o AllowedMethods: ['*'], permitiendo que cualquier sitio web lea las respuestas de tu almacenamiento y potencialmente acceda a datos privados.