Codificación Segura
Prácticas de desarrollo que previenen vulnerabilidades de seguridad desde el diseño, incluyendo validación de inputs, manejo de errores y principios de defensa en profundidad.
seed#secure-coding#security#owasp#validation#best-practices#development
¿Qué es?
Secure coding son prácticas de desarrollo que previenen vulnerabilidades de seguridad desde el diseño del código. No es solo usar herramientas de escaneo — es escribir código que sea seguro por construcción.
OWASP Top 10 (2021)
- Broken Access Control
- Cryptographic Failures
- Injection
- Insecure Design
- Security Misconfiguration
- Vulnerable Components
- Authentication Failures
- Software Integrity Failures
- Logging Failures
- Server-Side Request Forgery
Principios
- Validar inputs: nunca confiar en datos del usuario
- Sanitizar outputs: escapar datos según el contexto
- Mínimo privilegio: dar solo los permisos necesarios
- Defensa en profundidad: múltiples capas de protección
- Fail securely: los errores no deben exponer información
Prácticas específicas
| Vulnerabilidad | Código inseguro | Código seguro |
|---|---|---|
| SQL Injection | query("SELECT * FROM users WHERE id=" + id) | query("SELECT * FROM users WHERE id=$1", [id]) |
| XSS | innerHTML = userInput | textContent = userInput o sanitizar con DOMPurify |
| Path Traversal | readFile("/uploads/" + filename) | Validar que filename no contiene .. |
| Hardcoded secrets | const key = "sk-abc123" | const key = process.env.API_KEY |
| Insecure crypto | md5(password) | bcrypt.hash(password, 12) |
Reglas generales:
- Usar prepared statements (no concatenar SQL)
- Escapar HTML para prevenir XSS
- Validar y sanitizar file uploads
- No exponer stack traces en producción
- Usar bibliotecas de crypto probadas (no implementar propias)
¿Por qué importa?
La seguridad no se añade al final — se construye desde el código. Las prácticas de codificación segura previenen vulnerabilidades antes de que lleguen a producción, donde el costo de remediarlas es órdenes de magnitud mayor.
Referencias
- OWASP Top 10 — Vulnerabilidades más comunes.
- OWASP Cheat Sheets — Guías prácticas.
- CWE Top 25 — MITRE, 2023. Las 25 debilidades de software más peligrosas.