CODA-CLI en accion en KB GX18
Problema
En una KB grande desarrollada con GeneXus 18 surgió la necesidad de verificar que ninguna API pública estuviera exponiendo información sensible.
Realizar esta tarea manualmente es costoso: la solución cuenta con más de un centenar de servicios publicados entre APIs REST, servicios SOAP y servicios HTTP. Revisar uno por uno sus parámetros de entrada y salida, además de las estructuras asociadas, puede demandar varios días de trabajo.
Para este análisis consideramos como datos sensibles toda aquella información que permita identificar directa o indirectamente a una persona o a una organización.
Datos personales
- Nombre y apellido
- Cédula o documento de identidad
- Dirección
- Sexo
- Edad
- Teléfono, correo electrónico, etc.
Datos de empresas
- RUT
- Razón social
- Dirección
- Información de contacto
Datos financieros
- Números de cuenta bancaria
- Tarjetas de crédito
- Saldos
- Otra información patrimonial
Solución
La solución fue utilizar GX for Agents usando CODA-CLI para analizar la KB.
Con un único prompt relativamente sencillo le pedí al agente que:
- Identificara todos los objetos publicados como APIs, servicios SOAP, servicios REST y servicios HTTP pertenecientes a determinadas Deployment Units.
- Obtuviera la lista completa de parámetros
OUTeINOUTde cada servicio. - Si un parámetro correspondía a un SDT, analizara recursivamente toda su estructura y los SDT anidados.
- Si desde esa Deployment Unit existían Business Components alcanzables, analizara la estructura de las transacciones que los generan para detectar posibles datos sensibles.
- Generara un reporte indicando:
- Qué datos sensibles fueron encontrados.
- En qué servicios aparecen.
- A través de qué estructura o parámetro se exponen.
Resultado
Un trabajo que tradicionalmente hubiera requerido varios días de revisión manual quedó reducido a aproximadamente una hora. Durante el proceso el agente realizó algunas preguntas para aclarar ciertos casos, pero el esfuerzo total fue mínimo comparado con una auditoría convencional.
Lo más interesante no es solamente la reducción del tiempo, sino que este tipo de análisis pasa a ser algo que puede ejecutarse de manera frecuente, incluso como parte de una revisión de seguridad antes de una publicación.
Una vez detectados los problemas, las correcciones se realizaron manualmente. En varios casos implicaban cambios funcionales o modificaciones en pantallas, un escenario en el que hoy todavía resulta más conveniente la intervención del desarrollador.
Mi conclusión es que herramientas como GX for Agents no solo aceleran el desarrollo, sino que habilitan nuevas tareas de análisis y auditoría que antes, por su costo, muchas veces simplemente no se hacían.
Comentarios
Publicar un comentario
1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.