Criticidad y uso
La criticidad del proyecto y su contexto de uso.
Buenas prácticas de adopción del CRA
Cómo pueden los proyectos de código abierto integrar la seguridad a lo largo del ciclo de vida, gobernarse con transparencia y gestionar las vulnerabilidades en proporción al riesgo, para que los integradores aguas abajo puedan cumplir sus propias obligaciones del CRA.
Para los desarrolladores y mantenedores de componentes FOSS, el enfoque basado en el riesgo del CRA se traduce en facilitar la gestión del riesgo aguas abajo, en lugar de asumir una responsabilidad reglamentaria directa.
La Oficina Federal de Seguridad de la Información de Alemania (BSI) ha publicado la guía TR-03185-2 Secure Software Lifecycle for Open Source Software, un marco de referencia práctico sobre cómo abordar el desarrollo de software de código abierto desde el punto de vista de la seguridad. Los principios que siguen se basan en ella.
La filosofía basada en el riesgo es el motor central del CRA. En lugar de imponer controles rígidos y uniformes, el análisis debe incluir criterios orientados a resultados que puedan aplicarse en función de:
La criticidad del proyecto y su contexto de uso.
El impacto potencial de los fallos de seguridad.
La madurez y los recursos de la comunidad.
La exposición del software dentro de las cadenas de suministro.
Esta proporcionalidad es esencial para el FOSS, donde los proyectos van desde pequeñas bibliotecas mantenidas por voluntarios hasta componentes de infraestructura ampliamente desplegados.
La seguridad desde el diseño exige que las consideraciones de ciberseguridad estén integradas en todo el ciclo de vida del software. En un modelo basado en el riesgo y alineado con el CRA, la seguridad no es una actividad aparte, sino un proceso continuo y proporcionado en el que cada fase contribuye a la resiliencia global de un componente FOSS y respalda las obligaciones de cumplimiento aguas abajo.
En la fase de diseño, la integración de la seguridad comienza con:
Para los componentes con mayor criticidad funcional (por ejemplo, autenticación, criptografía o mecanismos de actualización), puede ser conveniente un análisis de amenazas más estructurado. Como mínimo, la funcionalidad relevante para la seguridad debe documentarse con claridad para permitir su evaluación aguas abajo.
Durante la implementación, la seguridad del ciclo de vida requiere:
Los proyectos más maduros pueden integrar herramientas automatizadas de análisis estático o de escaneo de dependencias. El objetivo no es imponer herramientas concretas, sino lograr prácticas de desarrollo coherentes y trazables.
Las pruebas y la validación confirman que la funcionalidad relevante para la seguridad funciona según lo previsto. Las medidas habituales incluyen:
Los proyectos con mayor exposición pueden integrar herramientas SAST o DAST automatizadas en sus pipelines de CI/CD. Las pruebas garantizan que las vulnerabilidades se detecten antes de la distribución.
Las prácticas de publicación seguras son controles críticos de la cadena de suministro. Las prácticas clave incluyen:
Los proyectos más avanzados pueden recurrir a versiones firmadas o a compilaciones reproducibles mediante pipelines inmutables. Esta fase refuerza la confianza y la trazabilidad aguas abajo.
La integración de la seguridad no termina con la publicación. El mantenimiento requiere:
El mantenimiento continuo respalda directamente las obligaciones del CRA relativas al ciclo de vida y reduce el riesgo sistémico en la cadena de suministro.
Comunicar de forma transparente el fin de vida es esencial para evitar riesgos no gestionados. Los proyectos deben:
Esto permite a los usuarios aguas abajo, incluidas las pymes, planificar transiciones seguras y evitar dependencias sin soporte.
En los ecosistemas de código abierto, los mecanismos de gobernanza suelen actuar como herramientas principales de mitigación del riesgo. La transparencia, la documentación y los procesos comunitarios no son meras cuestiones administrativas, sino facilitadores esenciales de la seguridad. Hay cuatro elementos clave:
Procedimientos claros y por escrito, desde la planificación hasta el despliegue. Garantizan la coherencia y reducen los errores.
Funciones asignadas y rendición de cuentas para las tareas de seguridad. Evitan ambigüedades y garantizan que cada tarea tenga un responsable.
Mecanismos establecidos y fáciles de usar para notificar posibles problemas de seguridad, tanto interna como externamente.
Divulgación transparente y oportuna de las vulnerabilidades y de las soluciones disponibles a los usuarios y las partes interesadas.
Estas medidas reducen el riesgo sistémico al mejorar la rendición de cuentas y permitir que los usuarios aguas abajo evalúen la fiabilidad de un proyecto.
Los componentes de código abierto están profundamente integrados en las cadenas de suministro de software modernas. Por ello, un enfoque del desarrollo FOSS basado en el riesgo debe tener en cuenta no solo los riesgos a nivel de proyecto, sino también los riesgos sistémicos que se propagan a través de la reutilización y la redistribución. La resiliencia de la cadena de suministro se refuerza fomentando:
Estas prácticas mejoran la capacidad de los integradores aguas abajo, incluidas las pequeñas y medianas empresas, para realizar evaluaciones de riesgos y cumplir sus obligaciones reglamentarias o contractuales.
La seguridad de un producto final es inseparable de la integridad de sus componentes de origen. A medida que avanza la aplicación del CRA, el sector se enfrenta a un reto crucial: cómo verificar la seguridad de los millones de dependencias de código abierto que constituyen la columna vertebral de la infraestructura mundial sin asfixiar el modelo colaborativo que las ha hecho posibles.
La solución más viable se encuentra en el artículo 25, que establece un marco para las atestaciones de seguridad voluntarias. Al pasar de la aplicación reactiva de parches a una transparencia proactiva y normalizada, permite a los administradores de código abierto (Open Source Stewards) sin ánimo de lucro ofrecer garantías escalonadas y basadas en el riesgo a cambio de una remuneración que cubra unos costes operativos transparentes, lo que convierte el cumplimiento normativo en un motor sostenible de resiliencia de la cadena de suministro. Esta resiliencia se apoya en tres pilares:
El CRA exige a los fabricantes una diligencia debida rigurosa sobre cada componente integrado, incluido el software libre y de código abierto. Normalizar las atestaciones como artefactos verificables y legibles por máquina elimina el «ataque de denegación de servicio» que sufren los mantenedores a causa de solicitudes de cumplimiento manuales y duplicadas, y proporciona a los fabricantes información coherente y fiable que pueden integrar directamente en sus evaluaciones de riesgos automatizadas.
La seguridad no es un estado estático, sino un proceso continuo de mantenimiento. Las atestaciones crean un puente tangible entre los requisitos reglamentarios y el apoyo económico necesario para sostener ese mantenimiento, y ofrecen a los fabricantes una vía estructurada para apoyar económicamente a los administradores y mantenedores de proyectos críticos cuyo trabajo de seguridad es esencial para su propio cumplimiento.
La fortaleza de la cadena de suministro de software reside en su diversidad. Un modelo de atestación estrictamente voluntario, proporcionado y basado en el riesgo respeta los modelos de gobernanza propios del código abierto, permite a las comunidades definir su propia postura de seguridad mediante garantías escalonadas y evita imponer una obligación uniforme para todos.
Comprometerse a mantener y proteger un producto durante toda su vida útil implica una responsabilidad continua sobre todos los componentes incorporados, incluidas las bibliotecas de código abierto de terceros. Los componentes de código abierto evolucionan de forma independiente: pueden aparecer vulnerabilidades años después de la integración, los mantenedores pueden retirarse y el ritmo de publicación puede ralentizarse. Sin una visibilidad estructurada de las dependencias, una vigilancia continua, disciplina en el control de versiones y políticas de actualización documentadas, las organizaciones corren el riesgo de heredar una deuda técnica no gestionada y vulnerabilidades latentes en la cadena de suministro. Medidas concretas:
Garantizar la transparencia y la trazabilidad de las dependencias en todas las versiones del producto.
Utilizar criterios como el nivel de actividad del proyecto, el tiempo de respuesta ante vulnerabilidades, la transparencia de la gobernanza y la disciplina de publicación.
Hacer un seguimiento de las vulnerabilidades recién divulgadas que afectan a los componentes que distribuyes.
Más allá de los controles internos, implicarse aguas arriba
Cuando las dependencias son críticas para la actividad, las organizaciones deberían plantearse contribuir con correcciones, patrocinar a los mantenedores o participar en la gobernanza del proyecto para reducir el riesgo sistémico.
Combinando la transparencia (SBOM), la evaluación estructurada de riesgos, la vigilancia continua y la participación aguas arriba, los fabricantes pueden transformar las dependencias de código abierto de una exposición no gestionada en un activo gobernado estratégicamente que respalda la seguridad, el cumplimiento y la confianza a largo plazo.
En virtud del CRA, los fabricantes deben identificar, gestionar y corregir las vulnerabilidades de forma oportuna y estructurada durante todo el ciclo de vida del producto. Aunque los proyectos de código abierto no están regulados directamente como tales, sus prácticas influyen de manera significativa en la capacidad de los fabricantes y las pymes aguas abajo para cumplir. En un modelo basado en el riesgo, la gestión de vulnerabilidades no se limita a aplicar parches de forma reactiva. Abarca:
Puede que los proyectos más pequeños no dispongan de los recursos de los grandes proveedores comerciales, pero aun así deberían aplicar unas prácticas básicas que permitan a los integradores aguas abajo evaluar y gestionar el riesgo de forma eficaz.
Los investigadores de seguridad y los usuarios pueden notificar problemas de forma controlada y transparente.
La clasificación de la gravedad puede basarse en marcos ampliamente aceptados (por ejemplo, CVSS), manteniendo la proporcionalidad con el tamaño y el contexto del proyecto.
Cuando sea posible, las actualizaciones deberían ir acompañadas de una comunicación clara sobre las medidas de mitigación y las configuraciones afectadas.
Estas medidas refuerzan la confianza y favorecen la transparencia en la cadena de suministro.
Para reflejar el principio de proporcionalidad del CRA, las prácticas de gestión de vulnerabilidades pueden estructurarse en tres niveles de madurez.
Permite una trazabilidad básica y la gestión del riesgo aguas abajo.
Mejora la previsibilidad y la transparencia.
Refuerza la resiliencia sistémica en toda la cadena de suministro de software.
Para las pymes que integran componentes FOSS en productos con elementos digitales, las prácticas de gestión de vulnerabilidades de los proyectos de origen afectan directamente a su propia situación de cumplimiento. Por ello, las pymes deberían evaluar:
Cuando un componente es funcionalmente crítico o está expuesto públicamente, las pymes deberían plantearse aplicar medidas de diligencia debida reforzada, incluida la vigilancia continua y, cuando estén disponibles, el recurso a las atestaciones de seguridad voluntarias del artículo 25.