¿Cuál es el curso de acción correcto al encontrar proyectos de software libre cuyos ejecutables están propagando un virus?

19
Hoy encontré un proyecto GPL en SourceForge cuyos ejecutables están propagando un virus. Este hecho ha sido señalado varias veces en las revisiones del proyecto y el ejecutable infectado todavía está disponible para descargar. Aparentemente, los ejecutables más antiguos no están infectados, por lo que el proyecto en sí no parece estar hecho con propósitos maliciosos en mente. No hay una forma preferida de contactar a los desarrolladores y los foros para el proyecto están muertos. ¿Qué tengo que hacer?
AndrejaKo
fuente
2
Esta pregunta es sobre el tema, pero en el futuro, si desea preguntar si una pregunta es sobre el tema, utilice el sitio meta
1
¿Por qué esperar antes de contactar a SourceForge directamente? Verifique si es un virus, luego contáctelos de inmediato.
Peter Boughton
1
Sus ediciones hicieron esta pregunta fuera de tema / demasiado localizada . Programmers.SE es para una discusión subjetiva o extendida sobre temas relacionados con la mayoría de los programadores, no para diagnosticar exploraciones de virus.
@ Mark Trapp Sí, estaba pensando cómo dividir esto en dos partes, una para el caso general y otra para este caso específico. La segunda parte puede considerarse fuera de tema.
AndrejaKo

Respuestas:

26

Si no puede ponerse en contacto con los desarrolladores, póngase en contacto con SourceForge. Informe el problema, bríndeles información detallada que puedan usar para verificar el problema y (probablemente) lo eliminarán. Son un sitio de buena reputación e imagino que no querrían estar asociados con malware.

Mason Wheeler
fuente
Hola, Mason: ¿Qué opinas sobre el hecho de que, entre el momento en que publicaste esta pregunta y hoy, la reputación de SourceForge se ha desplomado y la propiedad ha cambiado de manos (y este SourceForge potencialmente ha vuelto a subir lentamente)? Si esta respuesta reflejara el hecho de que cuando las personas realmente le pidieron a SourceForge que hiciera algo al respecto, no hicieron nada y, en ocasiones, fue SourceForge quien fue responsable de entregar estos virus, ya sea a través de anuncios o por su propia intención ?
cuando el
@opa Wow, sí, esta es una respuesta que no ha envejecido bien ...
Mason Wheeler
11

Comenzaría enviando un correo electrónico al responsable del proyecto y a los desarrolladores.

Brian R. Bondy
fuente
0

El estado de los proyectos

Los viejos proyectos populares, que ya no se mantienen y se olvidan, a menudo se pueden usar como un vector para propagar virus si alguien puede comprometer la cuenta y cargar una nueva versión compilada. Lo mismo se ha hecho a menudo con los sistemas de actualización automática, incluso peor, ya que se entregarán ellos mismos y, a menudo, instalarán una actualización en los sistemas de los usuarios sin que el usuario final lo sepa.

Posibles acciones a tomar

Mantenedores y desarrolladores

Puede intentar ponerse en contacto con los desarrolladores / mantenedores, pero si es un proyecto antiguo, es poco probable que respondan. Si su cuenta se ha visto comprometida, entonces les avisarás o les gritarás en la pared.

Plataforma / Red de entrega

Puede tener una mejor oportunidad de eliminar el código malicioso contactando a la plataforma que aloja el software. Yo mismo no he intentado contactar directamente con una plataforma como Sourceforge o NPM. La probabilidad de que reciba una respuesta a menudo está relacionada con el tamaño del negocio y si se ha monetizado, si se trata de un espectáculo de una sola persona, ¡buena suerte!

Cuanta más información tenga para verificar su solicitud de eliminación, más probable y rápidamente debería suceder.

La comunidad y tu voz

A menudo, puede intentar los pasos anteriores y llegar aquí sintiéndose impotente, pero si puede dejar un comentario o una revisión sobre el software, eso puede ser lo mejor que puede hacer. Aunque muchos usuarios finales seguirán descargando el software a ciegas o antes confían en el software.


Extra: Prevención reciente y futura

Deja de leer aquí ™ o continúa ¯\_(ツ)_/¯

Hubo un paquete NPM muy utilizado con el que se hizo el responsable original, ya que muchos proyectos de código abierto alcanzan en su ciclo de vida. Alguien extendió la mano pidiendo mantenerlo. Seguramente esto debe sentirse como una carga molesta levantada de los hombros de un desarrollador. Desafortunadamente, el nuevo responsable lanzó malware para robar billeteras criptográficas .

Irónicamente, escuché esto de boca en boca y leí el problema abierto en el repositorio de github antes de leer un artículo al respecto o verlo aparecer en el npm audit. Esto demuestra que su voz en una plataforma pública realmente puede tener un impacto .

Nuestro grupo de reunión tuvo una charla rápida sobre lo que la comunidad podría hacer para evitar tal cosa, y de quién es la responsabilidad de evitar que eso suceda.

Plataforma / Red de entrega

Hacer que sea responsabilidad de npm requeriría una situación monetaria en el lugar que apestaría, o tal vez solo estaría disponible para las empresas, pero ¿entonces todos los demás se beneficiarían de forma gratuita?

Fuente de mantenimiento

Como mantenedores de código abierto, debemos ser conscientes de las consecuencias de nuestras acciones. Si ha sido un mantenedor de código abierto, puede convertirse en una tarea difícil a medida que disminuye el valor intrínseco que obtiene del proyecto. Sería difícil decir no a alguien que aparentemente tiene la energía que una vez tuvo para mantener su proyecto en marcha. Una cosa a tener en cuenta es que algunas plataformas permiten un proceso de revisión antes de publicar si los niveles de permisos correctos están en su lugar. En este caso, la propiedad del proyecto se entregó por completo, debe tratar de no hacerlo a menos que confíe absolutamente en la persona / entidad, incluso aunque parezca que no es una forma limpia de llevar a cabo la continuación del software establecido y confiable. La gente también podría hacer sus tenedores de código, pero eso puede ser complicado.

Comunidad y consumidores

La infraestructura actual podría usar algunas funciones para ayudar.

Por ejemplo, los lanzamientos pueden ser verificados, aprobados o marcados por la comunidad, al igual que los torrentes pueden ser evaluados por la comunidad para que otros puedan tomar decisiones rápidas antes de dar el paso. Una calificación negativa alta podría marcar un paquete y advertir a los consumidores acerca de él y futuras instalaciones.

Como consumidor que instala ciegamente software y lo actualiza, es su responsabilidad vigilar lo que está consumiendo. Puede usar gestores de paquetes que tengan bloqueado la versión para ayudar a negar esto. Lamentablemente, dudo que muchas personas pasen el tiempo necesario para revisar los cientos de paquetes que están instalando cuando establecen un good'ol npm install. Algunas empresas pasan por un proceso de proveedor cuando cambia el software; Espero que ninguna empresa haga esto para los paquetes NPM (podría detener seriamente el desarrollo), pero esta fue una opción presentada.

Dinero $$$

Nadie quiere pagar por el software gratuito de código abierto, pero si aquellos que escriben código fueron recompensados ​​por sus contribuciones, pueden estar más motivados para mantener su software y su imagen comunitaria. El dinero podría provenir directamente de los consumidores o como un goteo para la plataforma en la que se entrega. Por mucho que odie verlo, podría ver bibliotecas que siguen el mismo camino que las plataformas de CI, gratuitas para código abierto pero de costo privado / comercial, esto podría manejarse con licencia, pero los desarrolladores no quieren perder el tiempo convirtiéndose en licencias de profesiones tampoco (tal vez podrían ser simplificadas y directas).

CTS_AE
fuente