Wprowadzono darowiznę — usługę datków na zadania, którą można hostować na własnym serwerze


Wprowadzono darowiznę — usługę datków na zadania, którą można hostować na własnym serwerze

Cechy:

  • POCAŁUNEK;
  • gospodarzem własnym;
  • brak opłat (na przykład bountysource i gitcoin pobierają 10% płatności);
  • obsługa wielu kryptowalut (obecnie Bitcoin, Ethereum i Cardano);
  • wsparcie dla GitLab, Gitea i innych usług hostingowych Git jest oczekiwane (i zapewniane) w przyszłości.
  • globalna lista zadań ze wszystkich (czyli jednego w momencie pisania newsa) instancji darowizna.dumpstack.io.

Mechanizm pracy GitHuba od strony właściciela repozytorium:

  • (opcjonalnie) musisz wdrożyć usługę, z której możesz skorzystać gotowa konfiguracja dla NixOS;
  • trzeba dodać Akcja GitHuba — wewnątrz wywoływane jest narzędzie, które skanuje zadania projektu i dodaje/aktualizuje komentarz na temat aktualnego stanu portfeli darowizn, natomiast część prywatna portfeli przechowywana jest wyłącznie na serwerze darowizn (w przyszłości z możliwością pobrania offline w przypadku dużych darowizn, w celu ręcznego potwierdzenia płatności);
  • we wszystkich bieżących zadaniach (i nowych) pojawia się komunikat akcje github[bot] z adresami portfeli na datki (przykład).

Mechanizm pracy osoby wykonującej zadanie:

  • komentarz do zatwierdzenia wskazuje dokładnie, jaki problem rozwiązuje to zatwierdzenie (patrz. zamykanie problemów za pomocą słów kluczowych);
  • treść żądania ściągnięcia określa adresy portfeli w określonym formacie (na przykład BTC{adres}).
  • Po zaakceptowaniu żądania ściągnięcia płatność następuje automatycznie.
  • jeżeli portfele nie zostaną określone lub nie zostaną określone wszystkie, wówczas wypłata środków za nieokreślone portfele zostanie dokonana na portfele domyślne (np. może to być ogólny portfel projektu).

Безопасность:

  • powierzchnia ataku jest na ogół mała;
  • W oparciu o mechanizmy działania serwis powinien móc samodzielnie przesyłać środki, więc uzyskanie dostępu do serwera i tak będzie oznaczało kontrolę nad środkami - rozwiązaniem może być jedynie praca w trybie niezautomatyzowanym (np. potwierdzanie płatności ręczne), co z dużym prawdopodobieństwem (jeśli projekt odniesie taki sukces, że ktoś przekaże darowiznę na tę funkcjonalność, to mało prawdopodobne, ale na pewno), że kiedyś zostanie wdrożone;
  • krytyczne części są wyraźnie oddzielone (w rzeczywistości jest to pojedynczy plik pay.go zawierający 200 linii), co upraszcza przeglądanie kodu bezpieczeństwa;
  • kod przeszedł niezależny przegląd kodu bezpieczeństwa, co nie oznacza braku podatności, ale zmniejsza prawdopodobieństwo ich wystąpienia, zwłaszcza w świetle planowanej regularności przeglądów;
  • są też te części, które nie są kontrolowane (na przykład API GitHub/GitLab/etc.), natomiast planowane jest zamknięcie ewentualnych luk w zewnętrznym API dodatkowymi kontrolami, jednak ogólnie problem w bieżącym ekosystemu jest nierozwiązywalny i poza zakresem (możliwa luka obejmująca na przykład możliwość zamknięcia żądań ściągania innych osób i tym samym dodania kodu do projektów innych osób - ma znacznie bardziej globalne konsekwencje).

Źródło: linux.org.ru

Dodaj komentarz