Publicado el

El código también es superficie

La mayor parte del código que se despliega no lo escribió la organización: son dependencias, imágenes base y herramientas de terceros. Saber qué contiene cada artefacto, comprobarlo en cada construcción y firmar lo que se publica cierra una puerta que casi nadie vigila.

Línea de servicio Ciberseguridad

El código que nadie escribió

Una aplicación moderna puede tener unas pocas miles de líneas propias y cientos de miles de líneas de dependencias: librerías, frameworks, imágenes de sistema operativo. Cada una puede tener vulnerabilidades conocidas, y algunas pueden haber sido manipuladas a propósito antes de llegar.

Revisar el código propio es necesario. Ignorar todo lo demás deja abierta la mayor parte de la superficie.

Qué contiene cada artefacto

Qué contiene lo que se publicaCódigo propio, dependencias e imagen base pasan por inventario, análisis, versiones fijadas y firma; una vulnerabilidad crítica detiene la publicación.SEGURIDAD · CADENA DE SUMINISTROQué contiene lo que se publica Código propio4 % del código Dependencias81 % del código Imagen base15 % del códigoCONSTRUCCIÓNLista de componentes612 librerías inventariadasAnálisis de vulnerabilidades1 crítica detectadaVersiones fijadastodasFirma del artefactosolo si todo pasaDetenidono se publicahasta actualizarla dependenciaLa huella dice qué es; la firma dice quién lo hizo.Con la lista guardada, «¿estamos afectados?» se responde en minutos.Datos ilustrativos, no corresponden a ningún caso realN100F · n100f.com

La práctica que lo resuelve se apoya en la propia construcción, que ya es una compuerta (como en que falle la construcción, no la producción):

  1. Lista de componentes. Cada construcción genera un inventario de todo lo que contiene el artefacto (lo que se suele llamar SBOM): cada librería, con su versión.
  2. Análisis de vulnerabilidades. Ese inventario se cruza con las bases de vulnerabilidades conocidas. Lo crítico detiene la construcción; lo demás se registra con plazo.
  3. Versiones fijadas. Las dependencias se fijan a versiones concretas, para que la construcción de hoy y la de mañana contengan lo mismo.
  4. Firma del artefacto. Lo que se publica va firmado, y el despliegue solo acepta artefactos firmados por la propia construcción. Encaja con desplegar por digest: la huella dice qué es; la firma dice quién lo hizo.

Lo que sigue después del despliegue

Una dependencia sin vulnerabilidades hoy puede tenerlas mañana, cuando se descubre una nueva. Como cada artefacto en producción tiene su lista de componentes guardada, responder a "¿estamos afectados por esta vulnerabilidad?" es una consulta de minutos, no una búsqueda de días por todos los repositorios.

También los secretos y la configuración

El código que se publica no debe llevar dentro credenciales (lo vimos en secretos con nombre, nunca con valor), y la configuración de infraestructura se analiza igual que el código de la aplicación, con reglas como código.

Con el software bajo control, queda proteger lo que más importa al final: los datos.


Cómo lo aplicamos: Ciberseguridad.

Si tu costo cloud crece sin que nadie sepa por qué, o tu arquitectura depende de quien la montó, conversemos.

Conversemos