# Infraestructura y seguridad operativa

> **Proyecto:** acme/tienda-online (main)  
> **Auditoría:** VibeScan · 25/10/2026, 08:58:04  
> **Veredicto:** No publicar todavía · Postura 0/100 (F)

## Recomendaciones de infraestructura

- **Secretos:** fuera del código y del bundle; en un gestor de secretos del lado servidor. Rotar lo ya expuesto.
- **Contenedores:** correr como usuario sin privilegios; imágenes mínimas; escaneo de la imagen.
- **Dependencias:** actualización planificada de los CVEs conocidos (ver listado), `npm audit`/OSV en CI.
- **Backups ensayados:** no alcanza con tenerlos; probar la restauración periódicamente.
- **Observabilidad:** alertas cuando algo se cae, logs de seguridad, trazas de errores.
- **CORS / red:** orígenes permitidos explícitos; nada de comodines con credenciales.

## Hallazgos relacionados

### [P0] Stripe Live Secret Key expuesto al navegador

- **Severidad:** Crítico · CVSS 9.1
- **Categoría:** A05:2021 Security Misconfiguration · CWE-798
- **Estado:** Confirmado / probado
- **Ubicación:** `src/components/Checkout.tsx:42`

**En criollo:** Una clave secreta de Stripe está incrustada en código que se envía al navegador. Cualquiera que abra tu app puede leerla y cobrar o reembolsar en tu nombre.

**Detalle técnico:** Clave `sk_live_…` referenciada desde un componente de cliente; termina en el bundle servido en /_next/static.

**Corrección:** Rotá la clave YA (asumila comprometida). Movela a una variable de entorno del lado servidor y cobrá desde un endpoint/BFF; nunca la referencies en el cliente.

```bash
# rotar la clave en el dashboard de Stripe
git rm --cached .env
```

Referencias: [CWE-798](https://cwe.mitre.org/data/definitions/798.html)

---

### [P0] lodash@4.17.11 — CVE-2021-23337

- **Severidad:** Crítico · CVSS 9.1
- **Categoría:** A06:2021 Vulnerable & Outdated Components
- **Estado:** Confirmado / probado
- **Ubicación:** `package.json`

**En criollo:** La librería lodash que usás tiene una vulnerabilidad conocida (inyección de comandos). Ya existe versión corregida (4.17.21).

**Detalle técnico:** Command injection en lodash < 4.17.21. Paquete: lodash@4.17.11 (npm).

**Corrección:** Actualizá lodash a 4.17.21 o superior. Corré tests y build para confirmar que no rompe nada.

```bash
npm install lodash@4.17.21
```

Referencias: [CVE-2021-23337](https://nvd.nist.gov/vuln/detail/CVE-2021-23337)

---

### [P2] Faltan headers de seguridad (4)

- **Severidad:** Medio · CVSS 5.4
- **Categoría:** A05:2021 Security Misconfiguration · CWE-693
- **Estado:** Confirmado / probado
- **Ubicación:** `https://tienda-online.com/`

**En criollo:** La app no envía varias cabeceras de seguridad. Facilita clickjacking y otros ataques desde el navegador.

**Detalle técnico:** Ausentes: Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security.

**Corrección:** Configurá CSP restrictiva, X-Frame-Options DENY, nosniff y HSTS.

---

### [P2] Open redirect

- **Severidad:** Medio · CVSS 5.4
- **Categoría:** A01:2021 Broken Access Control · CWE-601
- **Estado:** Confirmado / probado
- **Ubicación:** `https://tienda-online.com/login?next=https://evil.example/`

**En criollo:** El parámetro `next` permite redirigir a cualquier sitio externo. Se usa para phishing con enlaces que parecen tuyos.

**Detalle técnico:** GET /login?next=… redirige con 302 a un host externo arbitrario.

**Corrección:** Validá el destino contra una lista blanca de rutas propias; no redirijas a URLs absolutas del usuario.

---
