Cyber Security Academy · Lección

Técnicas de revisión segura de código

Identifique problemas de seguridad en las revisiones de código: flujos de datos, límites de confianza, API peligrosas y controles ausentes.

Lección 4 de 413 pasos

Técnicas de revisión segura de código es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.

Objetivo de la revisión segura de código

La revisión segura de código identifica vulnerabilidades de seguridad en el código fuente antes del despliegue. A diferencia de la revisión funcional de código, se centra en los límites de confianza, los flujos de datos, las API peligrosas, los controles ausentes y los errores de lógica de seguridad, no en la corrección ni en el estilo.

Revisión manual frente a automatizada

Las herramientas SAST automatizadas (Semgrep, SonarQube y CodeQL) detectan rápidamente patrones conocidos, pero no encuentran fallos de lógica de negocio, vulnerabilidades complejas que afectan a varios componentes ni problemas que dependen del contexto. La revisión manual detecta lo que la automatización no encuentra. Ambas son necesarias.

Análisis de puntos de entrada

Comience la revisión de seguridad identificando todos los puntos de entrada: endpoints HTTP, controladores de colas de mensajes, cargas de archivos, trabajos programados, webhooks y argumentos de CLI. Cada punto de entrada que acepta datos externos es un posible punto de inyección que requiere un análisis minucioso.

Trazado del flujo de datos

Siga los datos controlados por el usuario desde su punto de entrada hasta su uso final en la aplicación. ¿Llegan a una consulta de base de datos? ¿A un comando de shell? ¿A una plantilla HTML? ¿A una llamada a una API? Siga el flujo de datos y compruebe cada paso de transformación y saneamiento.

Análisis de los límites de confianza

Las decisiones de seguridad se toman en los límites de confianza, donde los datos pasan de un contexto menos confiable (una solicitud HTTP) a otro más confiable (una base de datos o el sistema operativo). Cada cruce de un límite de confianza debe validar, sanear o autorizar los datos.

Lista de comprobación de API peligrosas

Marque los usos de: eval(), exec(), system(), shell_exec(), innerHTML, dangerouslySetInnerHTML, deserialize(), pickle.loads(), Runtime.exec(), ProcessBuilder, analizadores XML sin la expansión de entidades deshabilitada y primitivas criptográficas utilizadas directamente en lugar de API de alto nivel.

Revisión de autenticación y autorización

Compruebe lo siguiente: ¿Cada endpoint confidencial está protegido mediante autenticación? ¿Se comprueba la autorización en el servidor para cada acción? ¿Puede un usuario acceder a los datos de otro usuario cambiando un parámetro de ID (IDOR)? ¿Las operaciones confidenciales están protegidas contra CSRF?

Revisión de la gestión de errores

Busque bloques catch que silencien las excepciones. Compruebe que los mensajes de error mostrados a los usuarios no revelen rutas internas, trazas de pila ni la estructura de la base de datos. Verifique que las excepciones de seguridad (AuthenticationException) se registren y no se ignoren silenciosamente.

Revisión de criptografía

Marque los siguientes casos: MD5 o SHA-1 para hashing de contraseñas (utilice bcrypt o Argon2), claves simétricas o IV codificados directamente en el código, cifrado en modo ECB (utilice GCM o CBC con HMAC), implementaciones criptográficas propias y generadores de números aleatorios que no sean criptográficamente seguros.

Revisión de dependencias y configuración

Revise package.json/pom.xml para detectar dependencias obsoletas. Compruebe en la configuración de la aplicación si el modo de depuración está habilitado en producción, si hay páginas de error detalladas, credenciales de administrador en archivos de configuración y cabeceras de seguridad ausentes (HSTS, CSP y X-Frame-Options).

Herramientas: Semgrep y CodeQL

Las reglas de Semgrep coinciden con patrones sintácticos teniendo en cuenta la semántica. Escriba reglas personalizadas para los patrones específicos de su base de código. CodeQL trata el código como datos: escriba consultas sobre el AST para encontrar flujos de datos desde los orígenes hasta los destinos a través de archivos y llamadas a funciones.

Comprobación de conocimientos

¿Qué es una vulnerabilidad IDOR y dónde la buscaría durante una revisión de código?

Resumen

Una revisión segura de código eficaz combina la identificación de puntos de entrada, el trazado del flujo de datos, el análisis de los límites de confianza, la detección de API peligrosas y las herramientas SAST automatizadas. Detecta problemas de seguridad que la revisión funcional no encuentra, especialmente fallos de lógica de negocio y deficiencias sutiles de autorización.

Gratis para empezar

Aprende Cyber Security Academy con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
76
Lecciones
303

Preguntas frecuentes

¿La lección «Técnicas de revisión segura de código» es gratis?

Sí — el texto completo de «Técnicas de revisión segura de código» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Técnicas de revisión segura de código»?

Identifique problemas de seguridad en las revisiones de código: flujos de datos, límites de confianza, API peligrosas y controles ausentes. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cyber Security Academy?

No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Técnicas de revisión segura de código»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?

Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Validación de entradas y codificación de salidas
  2. Gestión segura de dependencias
  3. OWASP ASVS: estándar de verificación de seguridad de aplicaciones
  4. Técnicas de revisión segura de código
← Volver a Cyber Security Academy