Los desarrolladores de código abierto están librando su propia ciberguerra por el conflicto entre Ucrania y Rusia, y las consecuencias pueden ser devastadoras

Bandera ucraniana pixelada.

Después de que Rusia invadiese su país, el desarrollador ucraniano Volodímir Shymanskyi sintió que tenía que entrar en acción.

Ya había fundado y participado en varios proyectos de software de código abierto, así que construyó un nuevo portal llamado StandWithUkraine. La página, de código abierto, que ha sido visitada unas 50.000 veces, comparte cómo se puede boicotear a aquellas empresas del sector TI que cooperan con Rusia, cómo donar a organizaciones ucranianas e incluso cómo desplegar un banner de apoyo en otros proyectos del estilo. Ese banner ha sido un éxito que ya se ha instalado en más de 1.600 repositorios de código.

Pero poco después del lanzamiento de la iniciativa, un puñado de reportes en GitHub tildando la iniciativa de "basura" comenzaron a llegar. Los mensajes procedían de distintas cuentas, y acababan enterrando y ocultando los mensajes en los que algunos usuarios sí aportaban sugerencias reales o avisaban de errores técnicos. Shymanskyi cree que se trató de un ataque coordinado por parte de desarrolladores rusos o aliados del país vecino, e invirtió horas bloqueando esas cuentas.

"No vamos a cerrar los ojos ante lo que está pasando", defiende Shymanskyi en declaraciones a Business Insider. "La comunidad de código abierto dará respuesta".

Este conflicto es solo uno de los que se están produciendo en el mundo del código abierto desde que estalló la guerra entre Rusia y Ucrania. Desde desarrolladores cambiando líneas de código para desplegar mensajes de No a la guerra hasta técnicas más controvertidas, como sabotear programas desarrollados por usuarios ubicados en Rusia. El open source se ha convertido en otro frente de batalla.

Por qué la ciberguerra en Ucrania todavía no ha mostrado sus efectos más devastadores: ciudades sin luz, refugiados incomunicados o centrales nucleares saboteadas

Muchos de los proyectos de código abierto han sido grandes fuentes de esperanza e información, aunque algunas iniciativas en este singular conflicto han acabado provocando disrupciones en determinadas infraestructuras fruto de un efecto dominó. Algunos miembros de la comunidad señalan que las estrategias más agresivas podrían provocar consecuencias mayores, e incluso romper por completo algunas infraestructuras básicas de la red.

"Estamos viendo a ciertas comunidades hacer grandes ajustes de cuentas", señala Avi Press, CEO de Scarf, una herramienta que rastrea cómo se distribuyen muchas soluciones de código abierto que estas comunidades construyen. "Es imposible separar este software que se usa en sociedad de los problemas de esa misma sociedad. El código abierto no se puede separar del mundo en el que se construye y se utiliza".

La larga historia como 'protestware' de los programas de código abierto

Los programas de código abierto suelen ser libres para que cualquiera los pueda utilizar, descargar y modificar, lo que implica que muchos de sus proyectos no son construidos por un solo desarrollador, sino por enormes comunidades repartidas por todo el mundo. Como es libre, lo cierto es que muchas de las herramientas informáticas que los usuarios usan hoy día se construyen sobre muchos de estos proyectos. Desde pequeñas startups a algunos de los gigantes tecnológicos más grandes del mundo, como Google o Meta, dependen en buena medida de este tipo de proyectos.

Eso quiere decir que si el código abierto se ha convertido en un campo de batalla, los riesgos son elevadísimos.

Pero que el mundo del código abierto haya sido un espacio lleno de activismo no es algo realmente nuevo. Desarrolladores de este tipo de iniciativas ya han incorporado algunas reivindicaciones o protestas en sus códigos, como por ejemplo licencias con las que restringen el uso de sus programas a personas que no cumplan con leyes laborales o colaboren con las fuerzas aduaneras. Un desarrollador llegó a borrar su código en protesta porque una compañía de software llamada Chef lo usaba y estaba trabajando con agentes estadounidenses de la Oficina de Control Inmigratorio.

La Coalición de Trabajadores Tecnológicos protestó ante un evento de GitHub por los contratos de la plataforma con la oficina que regula la inmigración en EEUU.

Una búsqueda rápida en GitHub, una de las mayores plataformas que alojan proyectos y repositorios de código abierto, revela cómo se suceden las discusiones alrededor del activismo tecnológico en temas tan dispares y relacionados con, por ejemplo, la brutalidad policial o la necesidad de registrarse para acceder al derecho al voto en EEUU.

"He de señalar que el mundo del código abierto en sí mismo nace como respuesta y en protesta de las prácticas del software propietario", explica Press. "El movimiento suele ser muy político y activista. Ha tenido muchas derivadas políticas, en un montón de formas".

Esta guerra tecnológica es un espejo de la que se está dando en el mundo físico

Desde que comenzó la guerra, Ucrania se ha aprovechado de la falta de conocimiento del terreno por parte de los militares rusos. La agencia ucraniana responsable del sistema nacional de carreteras pidió a los ciudadanos y a los ayuntamientos a que desmantelaran "inmediatamente" todas las señales de tráfico cercanas. El ejército TI que formó Ucrania también intentó atacar el sistema GPS ruso.

Al mismo tiempo, un grupo de desarrolladores se detuvieron a examinar los proyectos de mapas de código abierto para asegurarse de que ninguno estaba ayudando a la intervención militar rusa sin pretenderlo.

OpenStreetMap es un proyecto internacional que pretende crear un mapa abierto y libre del mundo, y que se construye gracias a la colaboración de los usuarios, que añaden información sobre la zona en la que viven. Pero a la luz del conflicto, la división OpenStreetMap de Ucrania pidió a los desarrolladores a que dejaran de contribuir ofreciendo datos sobre el país, ya que podría ser aprovechado por los rusos para coordinar ataques aéreos o trazar rutas de convoyes militares.

Uno de los participantes del proyecto OpenStreetMap, Vitalii Hapontsev, explica a Business Insider que tanto el ejército ruso como el ejército ucraniano ya han usado OpenStreetMap con fines militares en el pasado.

Bruselas, Washington y más de 30 países firman una 'Declaración por el Futuro de Internet' ante las amenaza de que se fragmente por Rusia o China

El propio proyecto tuiteó el mes pasado que todos los residentes en Rusia y todos aquellos que estuviesen a favor de las operaciones militares rusas deberían, voluntariamente, dar un paso atrás y marcharse de este proyecto colectivo.

"Dado que somos ciudadanos ucranianos, nuestro interés es no darle ninguna ayuda al enemigo y minimizar daños y acercar la victoria", destaca Hapontsev. "Sin embargo, dado que OpenStreetMap es un proyecto de código abierto internacional con muchas aplicaciones, tenemos que tomar decisiones con muchísimo cuidado".

Muchos miembros de la comunidad compartieron en público sus preocupaciones al comienzo de la guerra: consideraban que algunas contribuciones al proyecto durante la invasión podrían provocar "más mal que bien y deberían evitarse". Así lo defendió uno de los participantes del proyecto, Oleksii Lutskyi, que también confía en que OpenStreetMap también se use con fines humanitarios cuando los ucranianos puedan volver a establecerse y reconstruir sus ciudades.

Los desarrolladores aprovechan para difundir las bondades del código abierto, pero algunas decisiones pueden provocar daños

De la misma manera que muchos de los desarrolladores que participan en el proyecto OpenStreetMap esperan que sus contribuciones sirvan para hacer el bien, otros tantos están aprovechando esta tendencia y estas comunidades para recabar apoyos.

Un programa de código abierto para crear diagramas, Draw.io, se utiliza en Confluence, una herramienta para gestionar equipos y flujos de trabajo. Muchos desarrolladores vieron cómo varias líneas de código de Draw.io eran sustituidas por mensajes en ucraniano que decían "No a la guerra". Otros programadores vieron cómo en otros proyectos algunas líneas de código arrojaban emojis con las banderas de Ucrania y Rusia y mensajes del tipo: "Parad esta guerra sin sentido".

Un programador ucraniano llamado Oleksii Holub consideró que la mejor manera con la que podría contribuir a alertar al mundo sobre la invasión rusa sería con el código abierto, ya que programar es lo que mejor sabe hacer. Por eso desarrolló bots disponibles en plataformas como Twitter o Reddit que ofrecen a sus seguidores la pronunciación correcta de alguna palabras. El bot se llama SpellingUkraine y ayuda a la gente a saber pronunciar nombres de ciudades con la pronunciación ucraniana, y no con la rusa.

Holub también lanzó una página web que permitía a la gente incluir esas pronunciaciones en una base de datos. Explica que el lenguaje es político, porque Rusia niega la identidad y la lengua ucranianas. Una pronunciación incorrecta no es "algo malo" per se, pero en la situación actual, Holub considera que "menoscaba la existencia de Ucrania".

Otro ejemplo reciente: Brandon Nozaki Miller es un desarrollador que mantiene un conjunto de herramientas JavaScript cambió el nombre de algunos de sus proyectos a peacenotwar (paz y no guerra, en inglés). Pero este tipo de actos de protestware (programas de protesta) fueron un paso más allá, ya que Miller incluyó código destructivo que eliminaría archivos en discos de sistema que usaran códigos propios de usuarios que estén localizados en Rusia o en Bielorrusia.

Tal vez esa acción pueda haber tenido un impacto reducido. Pero Miller incluyó ese código destructivo en las instancias de código de la que dependían otros proyectos de código abierto, con lo que en cierta manera ha saboteado terceros proyectos que le son ajenos y que reciclaban su trabajo. Liran Tal, director de una empresa de ciberseguridad llamada Snyk, estima que ese código se ha descargado unas 3.000 veces. Miller no ha querido hacer declaraciones para este reportaje.

Las estrategias más agresivas están provocando un efecto dominó que podría tener consecuencias "mucho peores"

El código destructivo de Miller es un ejemplo de cómo un desarrollador puede afectar la compleja red de dependencias que se generan en las comunidades de código abierto. Muchos desarrolladores dependen de docenas, cuando no de centenares de paquetes de código.

Pero el incidente de Miller no es el único y, de hecho, puede ser uno de los ejemplos menos destructivos. A principios de este año, Marak Squires, desarrollador de librerías JavaScript como Colors.js o Faker.js, saboteó de forma premeditada su propio código para protestar por cómo algunas de las grandes corporaciones lo estaban utilizando. Estas se vieron obligadas a enviar a desarrolladores a reparar el destrozo.

Así te puedes convertir en un investigador OSINT como los voluntarios que están ayudando a denunciar los crímenes de guerra en Ucrania

Este tipo de casos revelan el gran control que muchos de estos desarrolladores tienen sobre su propio código, y cómo lo pueden aprovechar para protestar, detalla Press. Una cosa es incluir un banner en una página, pero algunas protestas en el software de código abierto puede acabar destrozando grandes infraestructuras digitales.

"Pueden tomar esa decisión y básicamente incluir algo de código en sus paquetes, de la noche a la mañana millones de dispositivos lo tendrán", destaca Press. "La confianza que depositamos en muchos de los titulares de los proyectos de código abierto... es algo que está ahí, y no vamos a poder hacer mucho por retirarla".

Todo esto se está convirtiendo en una tendencia dentro del activismo del código abierto, detalla Tal, que explica que su firma, Snyk, lo está monitorizando de cerca.

Los cofundadores de Snyk, Assaf Hefetz y Guy Podjarny, junto al CEO Peter McKay y el cofundador Danny Grander.

El uso generalizado de estos canales de distribución del código abierto, además de la omnipresencia del mismo, entraña sus riesgos. En octubre del año pasado, una popular biblioteca JavaScript fue atacada y modificada con un paquete malicioso que incluía la instalación de una herramienta para minar criptomonedas, lo que supuso un importante dolor de cabeza para muchos desarrolladores. Más de 1.000 paquetes dependían de la herramienta, que los desarrolladores descargaron cerca de 10 millones de veces en la segunda semana de abril.

"Sería difícil encontrar dominios que no tengan nada de código abierto", abunda Press. "Aquello fue malo, pero podría haber sido algo mucho peor. Tuvimos suerte de que tan solo fuera la instalación de una herramienta para minar criptomonedas".

Las plataformas tecnológicas tienen que adoptar sus propios estándares

Son los usuarios los que están liderando esta conversión del mundo del código abierto en un enorme arma arrojadiza, pero las grandes compañías tecnológicas y la situación geopolítica por sí misma también están provocando un impacto directo.

Las sanciones que se han impuesto en todo el mundo a Rusia también tienen su reflejo en la guerra que se vive en el mundo del código abierto. Mientras los titulares de los proyectos tienen el control de su propio proyecto, las herramientas que permiten descargarlas y usar ese código está en manos de grandes compañías que ahora tienen que lidiar con un importante dilema: cómo de "abierto" puede ser el software de código abierto en tiempos de guerra.

GitHub, por su parte, suspendió las cuentas de desarrolladores rusos ligados a empresas sancionadas por el Gobierno de EEUU. Otras empresas han tomado sus propias medidas yendo más allá incluso que las propias sanciones. HashiCorp, por ejemplo, bloquea desde finales de febrero el acceso a su conocida plataforma Terraform en Bielorrusia y Rusia, según ha confirmado la propia compañía a Business Insider.

Peter Wang, cofundador y CEO de Anaconda.

Anaconda, otra conocida plataforma de distribución de software, decidió no bloquear el acceso a paquetes de Python y a sus herramientas en Rusia. En su lugar, se han mantenido como un canal abierto para la distribución de programas.

Las decisiones adoptadas por estas compañías son el reflejo de las difíciles deliberaciones que se producen a lo largo y ancho de todas las comunidades de código abierto, en los que el papel de todos  —desde los titulares de los proyectos, hasta las éticas y qué otro tipo de medidas deberían adoptarse en estos tiempos— sigue debatiéndose.

"Intentamos ser la infraestructura de la comunidad", defiende Peter Wang, CEO de Anaconda. "Cuando tomamos decisiones, tenemos mucho poder. Pero eso conlleva también una enorme responsabilidad".


Otros artículos interesantes:

Los lenguajes de programación más odiados y amados del mundo de 2021, según un estudio

Los moscovitas confiesan el pánico, la frustración y la vergüenza que les produce que Rusia haya quedado aislada de la economía mundial

Rusia planea "desenchufarse" de internet para preparar sus defensas de cara a una hipotética ciberguerra masiva

Te recomendamos