Seguridad · Auditor de Secretos 12 junio 2026

Informe de Auditoría
NutriFlow — Secretos Expuestos

Escaneo estático del repositorio en busca de credenciales, API keys y tokens hardcodeados. Generado con CULTIVA IA · Auditor de Secretos y Variables de Entorno.

ACCIÓN URGENTE REQUERIDA — Secretos críticos detectados en producción

Se han encontrado 4 hallazgos CRITICAL y 2 HIGH en el repositorio. Credenciales de AWS, GitHub y OpenAI están expuestas en archivos commiteados. Rotar inmediatamente.

Repositorio: nutriflow/monorepo
Archivos escaneados: 6
Patrones activos: 7
Motor: env_auditor.py v1.0.0
Duración: 0.31s
6
Hallazgos totales
4
Critical
2
High
4
Archivos afectados
Puntuación de riesgo
9.4
Crítico

Impacto potencial identificado

  • AWS Access Key (AKIA...) en .env y deploy.yml — acceso completo a infraestructura cloud (S3, ECS, IAM)
  • GitHub PAT (ghp_...) en 2 archivos — lectura/escritura de repositorios privados de la organización
  • OpenAI API Key (sk-proj-...) hardcodeada — facturación ilimitada y acceso a datos de prompts
  • Stripe Live Key (sk_live_...) — cargos reales a clientes, acceso a datos de pagos PCI-DSS
✓ No se detectaron JWT tokens, certificados privados ni credenciales de base de datos en el historial de git analizado
Distribución por severidad
CRITICAL
4
HIGH
2
MEDIUM
0
Hallazgos detallados
6 hallazgos
AWS Access Key ID expuesta aws_access_key_id
.env · línea 16
CRITICAL
AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS Access Key ID en pipeline CI/CD aws_access_key_id
config/deploy.yml · línea 8
CRITICAL
AWS_ACCESS_KEY_ID: AKIAIOSFODNN7EXAMPLE
GitHub Personal Access Token en workflow github_pat
config/deploy.yml · línea 24
CRITICAL
NODE_AUTH_TOKEN: ghp_aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890ab
GitHub PAT hardcodeado en TypeScript github_pat
src/auth/jwt_utils.ts · línea 20
CRITICAL
const GITHUB_PACKAGE_TOKEN = 'ghp_aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890ab';
Stripe Live API Key hardcodeada generic_secret_assignment
src/payments/stripe_webhook.py · línea 7
HIGH
stripe.api_key = "sk_live_51NXyz789abcDEF012gh345ij678kl901"
OpenAI API Key hardcodeada en código generic_secret_assignment
src/integrations/openai_client.py · línea 7
HIGH
openai.api_key = "sk-proj-stagingABC123DEF456GHI789JKL012MNO345PQR678STU90"

Plan de remediación recomendado

P1
Rotar todas las credenciales expuestas de inmediato (0-2 horas)

Invalidar en sus consolas: AWS IAM key AKIA..., ambos GitHub PATs, OpenAI key, Stripe live key. Los tokens comprometidos deben revocarse incluso si el repositorio aún no es público — el historial de git es permanente. Verificar CloudTrail/audit logs para detectar uso no autorizado.

P2
Eliminar secretos del repositorio y limpiar historial git

Usar git filter-repo o BFG Repo-Cleaner para eliminar los archivos del historial completo. Forzar push a todas las ramas. Revocar y recrear las ramas de PR afectadas.

P3
Migrar a GitHub Secrets y OIDC federation (1-3 días)

Reemplazar las credenciales AWS estáticas en config/deploy.yml por OIDC con aws-actions/configure-aws-credentials y role-to-assume. El token NODE_AUTH_TOKEN debe ser un ${{ secrets.GITHUB_TOKEN }} o un secret de repositorio, nunca hardcodeado.

P4
Añadir pre-commit hook con gitleaks o detect-secrets (esta semana)

Instalar gitleaks y configurar el hook gitleaks git --pre-commit --staged para bloquear commits con secretos antes de que lleguen al remoto. Añadir escaneo de baseline en CI/CD como gate obligatorio antes de merge.

P5
Adoptar gestor de secretos en producción (2-4 semanas)

Para un stack AWS-native como NutriFlow, implementar AWS Secrets Manager con rotación automática para credenciales de RDS y Stripe. Reemplazar todos los archivos .env de producción por fetch al SDK. El .env local sigue siendo válido para desarrollo, pero debe estar en .gitignore.