forumAbrir tema

Heredamos el código de una agencia: ¿cómo hacer una revisión de código segura y por dónde empezar?

SSultan A***Participante
Cargo
Especialista en pruebas
Sector
Transporte
Tipo de organización
Empresa de 300 empleados
Miembro desde
ago 2025
Mensaje
143

Doki · Consultoría de cumplimiento KVKK · 2023

#1

Somos una startup de transporte y logística con 12 empleados operando en Dallas. Trabajamos durante 10 meses con una agencia de software para desarrollar un portal web a medida donde nuestros clientes consultan cotizaciones de carga, suben documentos de transporte y rastrean contenedores en tiempo real. Gastamos unos 35.000 USD en el proyecto. El proceso de desarrollo concluyó, hicimos las pruebas de aceptación y terminó nuestro contrato con la agencia. Recibimos todo el código en nuestro repositorio Git.

Nuestro desarrollador senior, a quien contratamos para gestionar el mantenimiento y las nuevas funciones internamente, clonó el repositorio e hizo una primera revisión que nos dejó alarmados. Notó que la contraseña root de la base de datos y las claves del servicio externo de SMS estaban escritas en texto plano dentro de los archivos de código, y que algunas librerías open source no se actualizaban desde hacía al menos dos años. Hay un total de 45 mil líneas de código PHP y JavaScript en el portal.

Nos preocupan seriamente las puertas traseras desconocidas, fallos de autorización o vulnerabilidades que puedan provocar una fuga de datos. ¿Por dónde debemos empezar y qué pasos seguir para un proceso integral de revisión de código segura con un solo desarrollador?

HHilal Z***ParticipanteMiembro de la comunidad
Miembro desde
dic 2024
Mensaje
136
Más útil#2

Respuesta corta: La revisión de código segura es el proceso de escanear vulnerabilidades conocidas y dependencias mediante herramientas de análisis estático automatizado, seguido de la auditoría manual de la lógica de negocio crítica y los pasos de autenticación. Como es imposible que un solo desarrollador lea 45 mil líneas a mano, deben estructurar el proceso en tres etapas: escaneo automatizado, control de dependencias y auditoría manual orientada a objetivos.

La primera etapa consiste en limpiar los datos sensibles del repositorio y escanear las dependencias. Las contraseñas incrustadas en el código no solo deben eliminarse del archivo, sino cambiarse de inmediato en la base de datos y servicios externos. Luego, ejecuten escáneres de dependencias open source para detectar y parchear vulnerabilidades conocidas en las librerías utilizadas.

La segunda etapa es implementar herramientas de análisis de código estático. Estas herramientas escanean el código fuente de principio a fin antes de la compilación, reportando en minutos vulnerabilidades básicas como inyecciones SQL, scripts de sitios cruzados (XSS) y controles de entrada no seguros.

La tercera y más crítica etapa es la auditoría manual de la lógica de negocio. Las herramientas automáticas no pueden saber si un cliente puede ver el documento de flete o la factura de otro. Su desarrollador debe auditar manualmente uno a uno la autorización de usuarios, las funciones de carga de archivos y los endpoints de API expuestos al exterior.

MMehmet M***Participante
Cargo
Especialista en marketing digital
Sector
Formación
Tipo de organización
distribuidor regional
Miembro desde
nov 2025
Mensaje
302
#3

Su primer paso urgente debe ser limpiar el historial de Git. Aunque borren la contraseña del archivo de código y hagan un nuevo commit, esas credenciales quedarán abiertas para siempre en el historial de Git. Escaneen todo el historial de commits con herramientas de detección de secretos open source, reescriban el historial para limpiar las claves y cambien esas contraseñas en los servidores inmediatamente.

DDilara T***Participante
Cargo
Responsable de redes sociales
Sector
Logística
Tipo de organización
empresa dentro de un holding
Miembro desde
ago 2024
Mensaje
333
#4

Mañana mismo su desarrollador debería ejecutar el comando de auditoría de seguridad local del gestor de paquetes. Dentro de esas librerías de hace dos años probablemente haya docenas de boletines de seguridad críticos publicados. El solo hecho de actualizar los paquetes a versiones estables y recientes eliminará la mitad de su riesgo al instante.

OOnur A***ExpertoMiembro de la comunidad
Miembro desde
nov 2025
Mensaje
64
#5

Nosotros también ejecutamos un análisis estático de código el año pasado en un proyecto de 30 mil líneas que heredamos. El sistema arrojó 142 alertas potenciales; cuando nuestro desarrollador las revisó, vio que 8 de ellas eran fallos reales que podían provocar fugas directas en la base de datos. Solucionar esos 8 fallos solo nos tomó tres días.

İİlknur O***Participante
Cargo
Coordinador de mensajería
Sector
Ganadería
Tipo de organización
cadena de tiendas
Miembro desde
feb 2025
Mensaje
109
#6

No confíen demasiado en las herramientas de análisis automático; se pueden ahogar entre cientos de falsos positivos en informes de miles de líneas. Las mayores filtraciones de datos no vienen de vulnerabilidades en librerías, sino de errores simples en el control de sesiones que el programador de la agencia omitió pensando "total nadie lo va a probar". Denle prioridad a las pruebas de lógica manuales.

SSena S***ParticipanteMiembro de la comunidad
Miembro desde
may 2023
Mensaje
175
#7

si la agencia metio las contraseñas a piñón en el codigo seguro ni miro la parte de subir archivos. prueben urgente si se pueden subir archivos php ejecutables cuando el cliente sube documentos esa es la puerta mas peligrosa.

BBurcu E***Participante
Cargo
Responsable de administración
Sector
Inmobiliaria
Tipo de organización
Empresa de producción de 40 empleados
Miembro desde
feb 2023
Mensaje
37
#8

Registren los hallazgos detectados en una matriz de riesgo de seguridad corporativa. Clasifiquen las vulnerabilidades como críticas, altas y medias. Si no se solucionan los fallos críticos que amenazan directamente la base de datos y la privacidad de los clientes, mantener el sistema activo en producción para los usuarios puede generar responsabilidades legales graves.

BBetülExperto
Cargo
Consultor de gestión
Miembro desde
oct 2023
Mensaje
164
#9

Revisen de nuevo el contrato que firmaron con la agencia. En la mayoría de los contratos hay una cláusula de garantía, explícita o implícita, que establece que el código se entregará conforme a los estándares del sector y las prácticas básicas de seguridad. Dejar contraseñas hardcodeadas en el código es claramente un servicio defectuoso; podrían tener derecho a enviar una notificación formal a la agencia para que lo corrijan.

İİlknur C***ParticipanteMiembro de la comunidad
Miembro desde
feb 2025
Mensaje
18
#10

¿Cómo analizan el código las herramientas de revisión estática sin ejecutarlo? ¿De qué manera exacta pueden entender estas herramientas que una función tiene una vulnerabilidad sin instalar nada en el servidor de producción y sin conectarse a la base de datos?

HHalideNuevo miembro
Cargo
Gestor de fundación
Miembro desde
ago 2024
Mensaje
44
#11

No tengo ninguna experiencia en revisión de código segura, por eso pregunto. Los primeros tres meses todo va bien, los problemas aparecen en el cuarto.

Empezad con una pequeña prueba, no lo integréis todo de golpe. Si tenéis dudas, escribid, os responderé en la medida de lo posible.

HHüseyin Z***ParticipanteMiembro de la comunidad
Miembro desde
mar 2023
Mensaje
76
#12

yo también tenog curiosidad.

İİsmail Ş***Participante
Cargo
Técnico de soporte de sistemas
Sector
Fabricación de muebles
Tipo de organización
agencia boutique
Miembro desde
abr 2024
Mensaje
32
#13

Este enfoque tiene un coste, y no se habla de ello. Si la verificación en dos pasos está activa, una contraseña robada no sirve de nada por sí sola.

Si tenéis dudas, escribid, os responderé en la medida de lo posible.

MMustafa A***Participante
Cargo
Director regional
Sector
Papel
Tipo de organización
cooperativa
Miembro desde
mar 2023
Mensaje
37
#14

Yo también estaba pensando en lo mismo. Un informe de escaneo automático no es lo mismo que una prueba de penetración.

Yo seguiría por ese camino.

EEmre K***Participante
Cargo
Coordinador de mensajería
Sector
Derecho
Tipo de organización
cooperativa
Miembro desde
feb 2025
Mensaje
1
#15

Me pasó lo mismo. Si decidimos sin medir, siempre acabamos en el mismo punto.

Eso es todo, disculpa si me he extendido demasiado.

AAlper Ç***Participante
Cargo
Agente de atención al cliente
Sector
Transporte
Tipo de organización
Empresa de 120 empleados
Miembro desde
jul 2024
Mensaje
41
#16

Yo también estaba pensando en lo mismo. Si la verificación en dos pasos está activa, una contraseña robada no sirve de nada por sí sola.

Las soluciones que funcionan a pequeña escala se rompen al crecer, aprendí esto tarde. Lo dejo como nota, por si sirve.

MMert E***ParticipanteMiembro de la comunidad
Miembro desde
sept 2024
Mensaje
28
#17

hay tres cosas que revisar al hacer esto. la gente no definde el proceso defiende la costumbre. la resistencia viene de ahí.

SSerkan S***ParticipanteMiembro de la comunidad
Miembro desde
ene 2023
Mensaje
87
#18

Estoy en la misma situación, por eso pregunto. en fin si el permiso y el alcance no están por escrito, que no empiece la prueba.

Ningún proceso mejora si no se registran datos, porque no sabes qué tienes que arreglar... pues esta es mi opinión, no lo escribo como una verdad absoluta.

MMustafa M***Participante
Cargo
Técnico de control de calidad
Sector
Distribución alimentaria
Tipo de organización
distribuidor regional
Miembro desde
feb 2024
Mensaje
106
#19

A mí me pasó justo al revés, por eso escribo. El error cometido por revisión de código segura suele ser reversible, pero caro.

Si el camino de la notificación es largo, la notificación no llega; una notificación que no llega significa un incidente detectado tarde.

BBurak Can M***Veterano
Cargo
Fundador · e-commerce
Tipo de organización
Empresa de 20 empleados
Miembro desde
abr 2023
Mensaje
212
#20

Me han quedado claras las dudas, gracias. El tiempo que tardas en detectar un problema determina directamente su coste.

Si tenéis dudas, escribid, os responderé en la medida de lo posible.

Responder