Z udostępnionych przez Ministerstwo Cyfryzacji (MC) fragmentów kodu źródłowego mObywatela nie dowiemy się, czy program nie posiada np. funkcji monitoringu, resort nie postąpił transparentnie – stwierdzili dla PAP specjaliści od cyberbezpieczeństwa Adam Haertle, Tomasz Zieliński, Beata Zalewa i Łukasz Olejnik.

29 grudnia 2025 roku resort cyfryzacji zakomunikował, że udostępnił „kod źródłowy aplikacji mObywatel”. Części kodu umieszczono w biuletynie informacji publicznej MC. By je przejrzeć, należało najpierw zweryfikować swą tożsamość np. za pośrednictwem Profilu Zaufanego, aplikacji mObywatel lub bankowości internetowej.
Do publikacji kodu źródłowego resort był zobligowany ustawą o aplikacji mObywatel z 2023 r. Publikacja była w zgodzie z opiniami eksperckimi w tej kwestii, które zaprezentowały kluczowe instytucje krajowego systemu cyberbezpieczeństwa: CSIRT GOV, CSIRT MON i CSIRT NASK.
Pozorna publikacja: Jedynie wygląd, bez działania
„Ministerstwo Cyfryzacji pokazało zaledwie parę procent kodu źródłowego aplikacji mObywatel, wybierając elementy odpowiadające za szatę graficzną aplikacji” – ocenił dla PAP Adam Haertle, twórca eksperckiego serwisu poświęconego cyberbezpieczeństwu Zaufana Trzecia Strona. Resort udostępnił wygląd guzików, pól tekstowych i innych składników wizualnych – skonkretyzował niezależny konsultant i badacz z Department of War Studies, King's College London Łukasz Olejnik, który – jak zaakcentował – sądzi, że udostępnienie tego kodu „nie jest konieczne”.
Pomimo tego – w jego mniemaniu, podobnie jak i pozostałych ekspertów komentujących temat dla PAP – resort nie wykazał się przejrzystością publikując wspomniane fragmenty. Nie można się z nich dowiedzieć, jak aplikacja funkcjonuje, czy jak chroni nasze dane – zauważył Haertle. "Z perspektywy bezpieczeństwa nic się nie zmieniło” – ocenił i dodał, że udostępnione elementy kodu można było wcześniej odtworzyć, np. przez pobranie aplikacji i analizę jej zawartości.
Tak naprawdę nie pokazano źródeł mObywatela (…). Udostępniono element formy, a nie tego, jak działa aplikacja. To tak, jakby pokazać kolor karoserii auta bez jej otwierania z obietnicą inspekcji silnika – ocenił Olejnik.
Niepokoje o śledzenie i brak kontroli
Z kolei specjalista cyberbezpieczeństwa i autor bloga Informatyk Zakładowy, Tomasz Zieliński zaznaczył, że mObywatel to bardzo przydatne narzędzie, jednakże część użytkowników może obawiać się, czy nie ma ono niechcianych funkcji, np. monitorowania położenia albo sekretnego przesyłania obrazu z kamery telefonu. „Dostęp do kodu źródłowego aplikacji umożliwiłby niezależnym ekspertom na potwierdzenie, że nic takiego nie ma miejsca. Byłoby to również działaniem podnoszącym jawność działań administracji rządowej” – podkreślił Zieliński.
„Rzeczywista transparentność to dla mnie możliwość kontroli realnej logiki działania, a nie tylko oglądanie efektu wizualnego. Bez całości kodu nie można w stu procentach stwierdzić, czy aplikacja jest napisana z zachowaniem najwyższych standardów” – podkreśliła ekspertka cyberbezpieczeństwa Beata Zalewa. „Skoro aplikacja powstała za publiczne środki, chciałabym móc samodzielnie zweryfikować jej mechanizmy, by mieć pewność, że moje dane są bezpieczne i system nie zawiera ukrytych funkcji śledzących” – dodała.
Wskazała, że Ministerstwo Cyfryzacji „obwieściło sukces”, oznajmiając na platformie X „Udostępniamy kod źródłowy mObywatela”, a kilka linijek niżej w tym samym wpisie poinformowało, że „opublikowana została część kodu źródłowego aplikacji mObywatel w zakresie wynikającym z rekomendacji CSIRT-ów”. Opublikowano – jej zdaniem – „niewiele znaczące elementy” kodu, które można było już wcześniej odtworzyć za pomocą darmowych narzędzi.
„Tak jakby ktoś zakładał, że wśród obywateli nie ma osób, które pamiętają o tym, co było obiecywane, ocenią to, co zostało dostarczone i połączą fakty ze sobą. I którzy będą głośno mówić o tym, że nie taka była umowa. Uważam, że lepiej byłoby uczciwie przyznać, że pełna publikacja kodu jest niemożliwa, niż serwować kod w takim formacie” – oceniła Zalewa.
Kod źródłowy mObywatela tylko dla nielicznych
Łukasz Olejnik zauważył, że by przejrzeć części kodu trzeba było się najpierw zalogować, a samo przeglądanie – ocenił – było mocno utrudnione. „Trudno pojąć, po co to zrobiono. Jeśli po to, by utrudnić przeglądanie i ściągnięcie kodu, to na niewiele się to zdało. Kod w ciągu paru godzin trafił na GitHub (platforma dla programistów – PAP)” – powiedział ekspert. Zdaniem Adama Haertle, pobranie udostępnionych fragmentów kodu źródłowego „było utrudnione”, prawdopodobnie ze względu na „dość absurdalną opinię CSIRT MON”.
Jak zauważył Tomasz Zieliński, ponad 90 procent kodu zostało utajnionych na podstawie opinii krajowych CSIRT-ów, których treść także w przeważającej części była tajna. „Opinia CSIRT MON, która jako jedyna z trzech opinii jest jawna, potwierdza, że otwarcie kodu źródłowego może przynieść korzyści społeczne” – zaznaczył Zieliński. Jak wyjaśnił, autorzy opinii zaznaczyli, że proces taki wymaga przygotowania na poziomie organizacyjnym, np. zadbania, by w komentarzach w kodzie źródłowym nie znalazły się nadmiarowe informacje. Zdaniem Zielińskiego część zaleceń MON, np. postulat, aby zawęzić grono odbiorców jedynie do obywateli RP, była dla ekspertów niezrozumiała.
„Informatyk Zakładowy” podkreślił również, że tylko część składników kodu mObywatela ma krytyczne znaczenie dla bezpieczeństwa państwa, resort mógłby więc wyłączyć z publikacji jedynie te fragmenty. „Nic nie stoi na przeszkodzie, by ujawnić szablon ekranu prezentującego dane mDowodu albo procedurę obsługi przycisków dostępnych na tym ekranie” – ocenił.
Zdaniem Łukasza Olejnika publikacja fragmentów kodu źródłowego mObywatela 29 grudnia, to „interesujący performens uatrakcyjniający przerwę świąteczną”. Jak dodał „bardziej serio”, publikacja fragmentów kodu w omówionym formacie „paradoksalnie może zredukować zaufanie do państwa”.
Beata Zalewa oceniła formę publikacji fragmentów kodu źródłowego mObywatela, jako „działanie pozorne, mające tylko imitować otwartość” (tzw. open-washing), a Adam Heartle – jako „teatr bezpieczeństwa”.
„Drwina z obywateli” po 2,5 roku prac
Tomasz Zieliński zauważył, że resort cyfryzacji i Centralny Ośrodek Informatyki, który odpowiada za stronę techniczną mObywatela, miały 2,5 roku na przygotowanie się do publikacji kodu. „Biorąc to pod uwagę, działanie resortu jest drwiną z obywateli a Minister Cyfryzacji po prostu zignorował ciążący na nim obowiązek” – ocenił ekspert.
Pierwotnie do publikacji kodu miało dojść w ciągu roku od wejścia w życie ustawy, czyli w połowie lipca 2024 r. Jednak na początku lipca ubiegłego roku weszła w życie ustawa o pomocy obywatelom Ukrainy, która zmieniła niektóre przepisy ustawy o mObywatelu.
W ustawie o pomocy obywatelom Ukrainy wskazano, że do publikacji kodu może dojść po uzyskaniu przez resort cyfryzacji opinii CSIRT GOV, który jest nadzorowany przez ABW; CSIRT MON i CSIRT NASK, „w zakresie niezagrażającym bezpieczeństwu tej aplikacji oraz jej użytkowników lub systemu mObywatel”.
„Zgodnie z ustawą o aplikacji mObywatel, po otrzymaniu opinii od CSIRT MON, CSIRT ABW i CSIRT NASK, w Biuletynie Informacji Publicznej Ministerstwa Cyfryzacji opublikowana została część kodu źródłowego aplikacji mObywatel w zakresie wynikającym z rekomendacji CSIRTów” – przekazał resort w serwisie X 29 grudania ubiegłego roku.
W Polsce działają trzy krajowe Zespoły Reagowania na Incydenty Bezpieczeństwa Komputerowego (z ang. Computer Security Incident Response Team): CSIRT NASK, CSIRT GOV oraz CSIRT MON. Ustanowiła je ustawa o Krajowym Systemie Cyberbezpieczeństwa z 2018 r. Każdy z CSIRT-ów odpowiedzialny jest za koordynację incydentów zgłaszanych przez przyporządkowane zgodnie z ustawą podmioty. Do ich zadań należy też rozpoznawanie, zapobieganie i wykrywanie zagrożeń godzących w bezpieczeństwo.
Monika Blandyna Lewkowicz (PAP)
mbl/ drag/
