Dzisiaj znalazłem projekt GPLed na SourceForge, którego pliki wykonywalne rozprzestrzeniają wirusa. Fakt ten został kilkakrotnie podkreślony w recenzjach projektu, a zainfekowany plik wykonywalny jest nadal dostępny do pobrania. Najwyraźniej starsze pliki wykonywalne nie są zainfekowane, więc sam projekt nie wydaje się być stworzony z myślą o złośliwym celu. Nie ma preferowanego sposobu skontaktowania się z programistami, a fora dotyczące projektu są martwe. Co powinienem zrobić?
behavior
open-source
ethics
AndrejaKo
źródło
źródło
Odpowiedzi:
Jeśli nie można skontaktować się z deweloperami, a następnie skontaktować się z SourceForge. Zgłoś problem, dać im szczegółowe informacje mogą wykorzystać w celu sprawdzenia problemu, a oni będą (prawdopodobnie) podjąć ją w dół. Są renomowanych stronie i mogę sobie wyobrazić, że nie chciałby być związane z malware.
źródło
Chciałbym rozpocząć, wysyłając wiadomość e-mail do opiekuna projektu i programistów.
źródło
Stan projektów
Stare, popularne, już nie utrzymywane i zapomniane projekty mogą być często używane jako wektor do rozprzestrzeniania wirusów, jeśli ktoś jest w stanie złamać konto i przesłać nową skompilowaną wersję. To samo często robiono z systemami automatycznych aktualizacji - nawet gorzej, ponieważ same dostarczają i często instalują aktualizację w systemach użytkowników bez wiedzy użytkownika końcowego.
Możliwe działania do podjęcia
Opiekunowie i programiści
Możesz spróbować skontaktować się z programistą / opiekunami, ale jeśli jest to stary projekt, jest mało prawdopodobne, że odpowiedzą. Jeśli ich konto zostało przejęte, będziesz dawać im głowy lub krzyczeć przy ścianie.
Platforma / sieć dostaw
Możesz mieć większą szansę na usunięcie złośliwego kodu, kontaktując się z platformą, na której znajduje się oprogramowanie. Sam nie próbowałem skontaktować się bezpośrednio z platformą taką jak Sourceforge lub NPM. Prawdopodobieństwo otrzymania odpowiedzi z powrotem jest często związane z rozmiarem firmy i jeśli została zarabiona - jeśli jest to show dla jednej osoby, powodzenia!
Im więcej informacji musisz zweryfikować swoje żądanie usunięcia, tym bardziej prawdopodobne i że powinno to nastąpić szybko.
Społeczność i Twój głos
Często można spróbować powyższe kroki i dostać się tutaj czuć bezsilny, ale jeśli jesteś w stanie komentarz lub opinię na temat oprogramowania, które może być najlepszą rzeczą, jaką możesz zrobić, aby wyjść. Mimo że wielu użytkowników końcowych nadal pobierze oprogramowanie na ślepo lub wcześniej mu zaufało.
Dodatkowo: Zapobieganie ostatnio i w przyszłości
Przestań czytać tutaj ™ lub kontynuuj
¯\_(ツ)_/¯
Był bardzo używany pakiet NPM, z którym został wykonany oryginalny opiekun - ponieważ wiele projektów typu open source osiąga w swoim cyklu życia. Ktoś wyciągnął rękę z prośbą o utrzymanie go. Z pewnością musi to wyglądać jak dokuczliwy ciężar zdjęty z ramion dewelopera. Niestety nowy opiekun wydał złośliwe oprogramowanie do kradzieży portfeli kryptograficznych .
Jak na ironię, słyszałem o tym ustnie i czytałem problem otwarty w repozytorium github, zanim przeczytałem artykuł o nim lub zobaczyłem, jak pojawia się w
npm audit
. To pokazuje, że Twój głos na publicznej platformie może naprawdę mieć wpływ .Nasza grupa spotkań przeprowadziła szybką dyskusję na temat tego, co społeczność mogłaby zrobić, aby temu zapobiec, i której obowiązkiem jest zapobieganie takim wydarzeniom.
Platforma / sieć dostaw
Przekazanie odpowiedzialności npm wymagałoby sytuacji pieniężnej, która byłaby do bani, a może byłaby dostępna tylko dla firm - ale czy wszyscy inni skorzystaliby za darmo?
Source Maintainer
Jako opiekunowie oprogramowania typu open source musimy pamiętać o konsekwencjach naszych działań. Jeśli jesteś opiekunem oprogramowania typu open source, może to stać się obowiązkiem, ponieważ zmniejsza się twoja wewnętrzna wartość projektu. Trudno byłoby odmówić komuś, kto najwyraźniej ma energię, którą kiedyś musiałeś posuwać naprzód. Należy zauważyć, że niektóre platformy zezwalają na proces weryfikacji przed opublikowaniem, jeśli istnieją odpowiednie poziomy uprawnień. W tym przypadku własność projektu została całkowicie przekazana, powinieneś starać się tego nie robić, chyba że całkowicie ufasz osobie / podmiotowi - nawet mimo to wydaje się, że nie jest to czysty sposób na kontynuację ustalonego i zaufanego oprogramowania. Ludzie mogą również robić forki z kodem, ale wtedy może się to popsuć.
Społeczność i konsumenci
Obecna infrastruktura może pomóc w niektórych funkcjach.
Na przykład wydania mogą być weryfikowane, zatwierdzane lub oznaczane przez społeczność, podobnie jak to, w jaki sposób społeczność może oceniać torrenty w górę lub w dół, aby inni mogli szybko podejmować decyzje, zanim podejmą decyzję. Wysoka negatywna ocena może oznaczać pakiet i ostrzegać konsumentów o nim i przyszłych instalacjach.
Jako konsument, który ślepo instaluje oprogramowanie i aktualizuje je, Twoim obowiązkiem jest obserwować, co konsumujesz. Możesz użyć menedżerów pakietów, które mają blokadę wersji, aby temu zaradzić. Niestety wątpię, aby wiele osób poświęciło czas na sprawdzenie setek pakietów, które instalują, kiedy ustanawiają good'ol
npm install
. Niektóre firmy przechodzą proces dostawcy w przypadku zmiany oprogramowania; Mam nadzieję, że żaden biznes nie zrobi tego w przypadku pakietów NPM (może to poważnie zahamować rozwój), ale była to opcja przywołana.Pieniądze $$$
Nikt nie chce płacić za bezpłatne oprogramowanie typu open source, ale jeśli ci, którzy pisali kod, zostali nagrodzeni za swój wkład, mogą być bardziej zmotywowani do utrzymania swojego oprogramowania i wizerunku społeczności. Pieniądze mogą pochodzić bezpośrednio od konsumentów lub spływać na platformę, na której są dostarczane. Choć nie chciałbym tego widzieć, widziałem biblioteki podążające tą samą ścieżką, co platformy CI - bezpłatne dla otwartego oprogramowania, ale kosztują dla prywatnych / biznesowych - można to załatwić dzięki licencjonowaniu, ale programiści nie chcą tracić czasu na stawanie się licencjonowanie zawodów (być może można je uprościć i od razu).
źródło