Pod koniec września wysłałem zapytanie o informację publiczną do Ministerstwa Cyfryzacji, żeby uzyskać skany elektroniczne ekspertyz związanych z ewentualnymi korzyściami i ryzykami dotyczącymi publikacji kodu mObywatela.
Swoją opinię wydały w sumie trzy CSIRTy — MON, GOV oraz NASK. Wszystkie z nich musiały wydać ocenę pozytywną, żeby publikacja kodu mogła dojść do skutku bez jakichkolwiek negatywnych konsekwencji.
Ministerstwo Cyfryzacji poinformowało mnie jednak w swojej odpowiedzi, że ekspertyzy CSIRTów GOV oraz NASK zostały uznane za tajemnicę państwową „wskutek zawartego tam materiału”, więc ostatecznie dostałem kopię ekspertyzy tylko od Ministerstwa Obrony Narodowej.
Opinia zespołu informatyków Ministerstwa Obrony Narodowej, którą publikuję w tym miejscu, sama w sobie nie jest przeciwstawna do ewentualnej publikacji kodu źródłowego mObywatela.
Z tej opinii dowiedziałem się też, że w kodzie źródłowym został zastosowany tzw. „obfuskator” kodu o nazwie ProGuard, który został zastosowany do zaciemnienia (czyli w pewnym sensie ukrycia) własnych nazw klas, metod czy pól (i dzieje się to w przypadku wersji na Androida — odnośnie wersji na iOS niczego się nie dowiedziałem).
Według CSIRTu ministerstwa, kod owszem może zostać opublikowany, ale w wersji „tylko do wglądu, bez pobierania”. Choć jest to technicznie możliwe, to raczej powątpiewałbym w to, że jakikolwiek publicznie dostępny serwis do udostępniania kodu by umożliwiał wyłączenie możliwości jego pobierania.
Dla przykładu, na Codebergu nie byłem w stanie znaleźć funkcjonalności odbierającej możliwość pobierania całego kodu źródłowego.
Oznaczałoby to, że Ministerstwo Cyfryzacji, jeżeli chciałoby takie zalecenie wdrożyć w całości w życie, ostatecznie musiałoby się zdecydować na samodzielnie utrzymywany tego typu serwis. Choćby Gitea, Forgejo, czy GitLab.
Ale nawet gdyby można było odbierać możliwość pobierania kodu, taka funkcjonalność okazałaby się być w rzeczywistości nieskuteczna, jeżeli zadaniem publikacji kodu usługi rządowej jest rzeczywiście jego jawność.
Powiązanym też może być wyrok Sądu Najwyższego Hiszpanii, który uznał, że kod źródłowy (hiszpańskich) usług publicznych kwalifikuje się do bycia uznanym jako informacja publiczna.
Ministerialny CSIRT także dodał, że istnieje kilka potencjalnych ryzyk związanych z ujawnieniem kodu źródłowego mObywatela, a są to:
- informacje o używanych bibliotekach programistycznych po stronie serwera (backend);
- imiona, nazwiska albo pseudonimy programistów w kodzie samej aplikacji;
- pliki konfiguracyjne poszczególnych narzędzi (jakich — konkretnych przykładów nie wymieniono), które nie pojawiają się w kodzie wynikowym aplikacji;
- nieużywany kod, czyli taki kod, który potencjalnie mógłby zostać usunięty bez zubożenia obecnej funkcjonalności mObywatela.
Ministerstwo Obrony Narodowej przyznało, że choć istnieje ryzyko wystąpienia ataków supply chain (czyli takich ataków, które mają na celu skompromitować cały system na podstawie nieuprawnionego dostępu do gorzej zabezpieczonych jego elementów), tak dodało też, że publikacja kodu może przyczynić się do większego zaufania Polek i Polaków względem aplikacji, oraz utrudnić wdrożenie złośliwego oprogramowania, ponieważ — przede wszystkim — każda zmiana w kodzie by była jawna.
A że na kod usługi rządowej będą patrzyć zapewne setki czy nawet tysiące ludzi dziennie — to szybko też to zostanie dostrzeżone.
Źródła
Zdjęcie tytułowe zostało zrobione przez użytkownika o pseudonimie Zespół Świadomości i jest ono dostępne na Wikimedia Commons na licencji Creative Commons BY-SA 4.0 International. Treść artykułu powstała na podstawie następujących źródeł tekstowych i/lub audiowizualnych:
- Odpowiedź na wniosek o informację publiczną o sygnaturze BM.WP.0122.333.2024, datowany na dzień 23.10.2025
- Kopia ekspertyzy CSIRTu Ministerstwa Obrony Narodowej



Skomentuj Oliwier Jaszczyszyn Anuluj pisanie odpowiedzi