Z udostępnionych przez Ministerstwo Cyfryzacji (MC) fragmentów kodu źródłowego mObywatela nie jesteśmy w stanie stwierdzić, czy aplikacja nie zawiera np. funkcji monitorowania, resort nie postąpił w sposób jawny – stwierdzili dla PAP specjaliści ds. cyberbezpieczeństwa Adam Haertle, Tomasz Zieliński, Beata Zalewa oraz Łukasz Olejnik.

29 grudnia 2025 roku resort cyfryzacji zakomunikował, że udostępnił „kod źródłowy aplikacji mObywatel”. Fragmenty kodu zostały umieszczone w biuletynie informacji publicznej MC. Aby je przejrzeć, konieczne było uprzednie potwierdzenie swojej tożsamości m.in. poprzez Profil Zaufany, aplikację mObywatel lub bankowość elektroniczną.
Resort był zobligowany do publikacji kodu źródłowego na mocy ustawy o aplikacji mObywatel z 2023 roku. Publikacja ta była zgodna z ekspertyzami w tej materii, które zaprezentowały kluczowe instytucje krajowego systemu cyberbezpieczeństwa: CSIRT GOV, CSIRT MON i CSIRT NASK.
Pozorna publikacja: Jedynie wygląd, bez funkcjonalności
„Ministerstwo Cyfryzacji przedstawiło zaledwie kilka procent kodu źródłowego aplikacji mObywatel, wybierając elementy odpowiedzialne za interfejs aplikacji” – wyraził opinię dla PAP Adam Haertle, twórca eksperckiego portalu w obszarze cyberbezpieczeństwa Zaufana Trzecia Strona. Resort pokazał wygląd guzików, pól tekstowych i innych składników wizualnych – sprecyzował niezależny konsultant i badacz z Department of War Studies, King's College London Łukasz Olejnik, który – jak zaznaczył – uważa, że udostępnienie tego kodu „nie jest konieczne”.
Pomimo tego – w jego mniemaniu, podobnie jak i innych ekspertów wypowiadających się w tej kwestii dla PAP – resort nie zachował się w sposób transparentny, publikując rzeczone fragmenty. Nie można z nich wywnioskować, jak aplikacja działa, czy jak chroni nasze dane – zaznaczył Haertle. "Z perspektywy bezpieczeństwa nic się nie zmieniło” – stwierdził i dodał, że upublicznione elementy kodu można było wcześniej odtworzyć, np. przez pobranie aplikacji i analizę jej zawartości.
Tak naprawdę nie opublikowano źródeł mObywatela (…). Upubliczniono element formy, a nie zasady działania aplikacji. To analogicznie do ujawnienia koloru karoserii auta bez jego otwierania z obietnicą przeglądu silnika – ocenił Olejnik.
Niepokoje dotyczące śledzenia i brak audytu
Natomiast specjalista od cyberbezpieczeństwa i autor bloga Informatyk Zakładowy, Tomasz Zieliński napomknął, że mObywatel to bardzo przydatne narzędzie, jednak pewna grupa użytkowników może żywić obawy, czy nie posiada ono niepożądanych funkcji, np. monitorowania lokalizacji lub sekretnego przesyłania obrazu z kamery telefonu. „Dostęp do kodu źródłowego aplikacji pozwoliłby niezależnym specjalistom na potwierdzenie, że nic takiego nie występuje. Byłoby to również działanie zwiększające przejrzystość działań administracji rządowej” – podkreślił Zieliński.
„Prawdziwa jawność to dla mnie szansa przeprowadzenia audytu faktycznej logiki działania, a nie tylko oglądanie efektu wizualnego. Bez kompletu kodu nie da się na sto procent orzec, czy aplikacja została napisana z dochowaniem najwyższych standardów” – zaakcentowała ekspertka ds. cyberbezpieczeństwa Beata Zalewa. „Skoro aplikacja została stworzona za publiczne środki, chciałabym móc samodzielnie zbadać jej mechanizmy, żeby mieć pewność, że moje dane są bezpieczne i system nie zawiera ukrytych funkcji śledzących” – uzupełniła.
Zwróciła uwagę, że Ministerstwo Cyfryzacji „obwieściło sukces”, deklarując na platformie X „Udostępniamy kod źródłowy mObywatela”, a parę linijek dalej 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”. Upubliczniono – w jej opinii – „nieistotne składniki” kodu, które można było już wcześniej odtworzyć przy użyciu bezpłatnych narzędzi.
„Tak jakby ktoś przypuszczał, że wśród obywateli nie ma ludzi, którzy pamiętają o tym, co zostało obiecane, ocenią to, co zostało dostarczone i skojarzą fakty. I którzy będą głośno mówić o tym, że nie tak brzmiała umowa. Uważam, że korzystniej byłoby rzetelnie przyznać, że pełna publikacja kodu jest niemożliwa, niż podawać kod w takim formacie” – podsumowała Zalewa.
Kod źródłowy mObywatela tylko dla wybranych
Łukasz Olejnik dostrzegł, że żeby przejrzeć fragmenty kodu trzeba było się najpierw zalogować, a samo przeglądanie – jego zdaniem – było mocno utrudnione. „Ciężko pojąć, po co to zrobiono. Jeśli w celu utrudnienia przeglądania i pobrania kodu, to na niewiele się to zdało. Kod w ciągu paru godzin trafił na GitHub (platforma dla programistów – PAP)” – oznajmił ekspert. Według Adama Haertle, pobranie udostępnionych fragmentów kodu źródłowego „było utrudnione”, najprawdopodobniej ze względu na „dość absurdalną opinię CSIRT MON”.
Jak zauważył Tomasz Zieliński, ponad 90 proc. kodu zostało utajnionych w oparciu o opinie krajowych CSIRT-ów, których treść także w większości była tajna. „Opinia CSIRT MON, która jako jedyna spośród trzech opinii jest jawna, potwierdza, że otwarcie kodu źródłowego może wnieść społeczne korzyści” – zaznaczył Zieliński. Jak tłumaczył, autorzy opinii podkreślili, że tego typu proces wymaga przygotowania na poziomie organizacyjnym, np. zadbania, by w komentarzach w kodzie źródłowym nie znalazły się nadmierne 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 jedynie część elementów kodu mObywatela ma kluczowe znaczenie dla bezpieczeństwa państwa, zatem resort mógłby wyłączyć z publikacji tylko te fragmenty. „Nic nie stoi na przeszkodzie, aby ujawnić szablon ekranu wyświetlającego dane mDowodu albo procedurę obsługi przycisków dostępnych na tym ekranie” – skonkludował.
Według Łukasza Olejnika upublicznienie fragmentów kodu źródłowego mObywatela 29 grudnia, to „interesujący performens uatrakcyjniający przerwę świąteczną”. Jak dodał „już poważniej”, publikacja fragmentów kodu w omówionym formacie „paradoksalnie może uszczuplić zaufanie do państwa”.
Beata Zalewa oceniła formę publikacji fragmentów kodu źródłowego mObywatela, jako „działanie pozorne, mające jedynie sprawiać wrażenie otwartości” (tzw. open-washing), a Adam Heartle – jako „teatr bezpieczeństwa”.
„Karygodne potraktowanie 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. „Mając to na uwadze, działanie resortu jest kpiną 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 roku. Jednak na początku lipca ubiegłego roku weszła w życie ustawa o pomocy obywatelom Ukrainy, która zmieniła niektóre regulacje ustawy o mObywatelu.
W ustawie o pomocy obywatelom Ukrainy zaznaczono, ż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 nie zagraż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 funkcjonują trzy krajowe Zespoły Reagowania na Incydenty Bezpieczeństwa Komputerowego (z ang. Computer Security Incident Response Team): CSIRT NASK, CSIRT GOV oraz CSIRT MON. Zostały one ustanowione ustawą o Krajowym Systemie Cyberbezpieczeństwa z 2018 roku. Każdy z CSIRT-ów odpowiada za koordynację incydentów zgłaszanych przez podmioty przypisane zgodnie z ustawą. Do ich zadań należy również rozpoznawanie, prewencja i wykrywanie zagrożeń godzących w bezpieczeństwo.
Monika Blandyna Lewkowicz (PAP)
mbl/ drag/
