Patrzę konkretnie na hełm emacsa , który ma następujące właściwości:
- ma tysiące zobowiązań
- jest w dużej mierze obsługiwany przez jednego użytkownika
- opiekun nie ma innych profili (media społecznościowe itp.), które udało mi się znaleźć w kilku wyszukiwaniach
- jest aktywnie utrzymywany (dzisiaj)
Ponieważ mam zamiar zainstalować na komputerze dowolny kod, który będzie używany w moim edytorze tekstów, chciałem sprawdzić, czy został on poddany procesowi recenzji. Chciałbym powiedzieć „cóż, jest to oprogramowanie typu open source”, ale naprawdę nie jestem w stanie samodzielnie kontrolować całego kodu. Chciałbym założyć, że inni członkowie społeczności go sprawdzili, ale jeden z nich jest prawdopodobnie fałszywy, a dwa z nich są aktualne. Czy brakuje mi innych strategii?
Dla przypomnienia, wektor jest prosty: „open source” nie ma aż tak wielkiego znaczenia, jeśli współpracownik pracuje na koncie typu out-out lub jeśli nie ma procesu recenzji.
mapatoms
można go umieścić w grupie „niebezpiecznej” razem zstart-process
,eval
ifuncall
. Oczywiście byłyby fałszywe alarmy, ale jeśli pakiet nie korzysta z żadnej z tych funkcji, można go z dużą pewnością oznaczyć jako nieszkodliwy.make-process
, a takżecall-process
,dbus-<foo>
,make-network-stream
, a następnievc-do-command
,vc-git-command
.... A jeśli umieściszeval
afuncall
w kategorii „niebezpieczne”, a następnie większość / wszystkie pakiety są niebezpieczne.Odpowiedzi:
Krótka odpowiedź brzmi: jeśli nie przeczytasz kodu samodzielnie, bierzesz dużo zaufania. Powiedziawszy, że ufanie projektowi pochodzącemu z wcześniejszego SCM jest nieco bezpieczniejsze niż projekt, który został pobrany na przykład bezpośrednio z Wiki Emacs . Jednak zasadniczo ufasz autorowi pakietu, że nie obrócisz się w zło i nadużyjesz możliwości uruchamiania dowolnego kodu podczas sesji Emacsa.
Jest kilka rzeczy, które mogą sprawić, że poczujesz się bezpieczniej:
Podczas gdy popularne pakiety nie otrzymują automatycznie większej oceny, fakt, że mają więcej użytkowników, oznacza, że szanse na wykrycie złośliwego zachowania, zanim wpłynie ono na Ciebie, wzrosną.
Na github możesz uzyskać dość dobry widok historii wkładu projektów. Nawet jeśli główny autor dokonuje większości zatwierdzeń, mając szeroką gamę autorów, pokazuje, że istnieją inne osoby, które są aktywnie zainteresowane stabilnością i skutecznością kodu.
Chociaż życie na krawędziach ma pewien urok dla tych, którzy chcą mieć najnowsze błyszczące funkcje, oznacza to, że możesz być pierwszym, który zaakceptuje najnowsze zatwierdzenie w swoim środowisku. Nawet jeśli nie jest złośliwy, możesz otrzymać pakiet w stanie ciągłego przepływu, podczas gdy „oficjalne” wydanie będzie przynajmniej pobieżnie przejrzane. Na przykład pakiety GNU ELPA zostaną zatwierdzone tylko przez użytkowników emacs-devel z uprawnieniami do zatwierdzania.
Ostatecznie jestem pewien, że w pewnym momencie nastąpi naruszenie bezpieczeństwa przez system pakietów, nawet jeśli jest to tylko eksperyment koncepcyjny. To może być punkt, w którym możesz polegać na swoich regularnych kopiach zapasowych.
źródło