|

|

Jak sprawdzić bezpieczeństwo aplikacji mobilnej tworzonej z AI

AI pomaga pisać kod aplikacji, poprawiać błędy i przygotowywać kolejne funkcje. Gotowy program może sprawnie obsługiwać zakupy czy rezerwacje, a mimo to ujawniać dane użytkowników. Dlatego przed premierą warto sprawdzić także to, czego nie widać na ekranie telefonu. Wyjaśniamy, na czym polegają testy penetracyjne aplikacji mobilnych i o co zapytać zespół, który tworzy produkt z pomocą AI.

Jak programiści wykorzystują AI

Sztuczna inteligencja jest już częścią pracy wielu programistów. W Stack Overflow Developer Survey 2025 aż 84% osób odpowiadających na pytanie o AI deklarowało używanie takich narzędzi podczas tworzenia oprogramowania lub zamiar ich używania. To badanie pokazuje zainteresowanie pomocą AI w programowaniu. Nie mówi, jaki odsetek aplikacji mobilnych został napisany przez sztuczną inteligencję.

Asystent AI może zaproponować fragment kodu, pomóc znaleźć błąd lub wyjaśnić działanie funkcji. Jego odpowiedź nadal wymaga sprawdzenia. GitHub w dokumentacji Copilot Chat zaznacza, że wygenerowany kod może zawierać podatności, i zaleca jego przegląd oraz testowanie. Dotyczy to szczególnie kodu, od którego zależy bezpieczeństwo.

Jeśli zamawiasz aplikację lub rozwijasz własny produkt, zapytaj wykonawcę, jak weryfikuje kod proponowany przez AI. Samo użycie takiego narzędzia nie przesądza o jakości aplikacji. W harmonogramie warto jednak zostawić czas na niezależne testy bezpieczeństwa i usunięcie wykrytych błędów.

Dlaczego działająca aplikacja może ujawniać dane

Wyobraź sobie aplikację do rezerwacji wizyt. Logujesz się, wybierasz termin i otrzymujesz potwierdzenie. Wszystko działa zgodnie z projektem. Tester bezpieczeństwa sprawdzi jednak także, czy z Twojego konta da się zobaczyć rezerwację innej osoby. To przykład ilustracyjny, a nie opis incydentu w konkretnej firmie.

Aplikacja na telefonie wymienia dane z serwerem przez API, czyli interfejs służący do komunikacji między programami. Serwer powinien sprawdzić zarówno to, czy jesteś zalogowany, jak i to, czy masz prawo odczytać daną rezerwację. Pominięcie drugiej kontroli może ujawnić cudze informacje. OWASP opisuje takie błędy jako Broken Object Level Authorization, czyli brak prawidłowej kontroli dostępu do konkretnych obiektów, np. rezerwacji lub dokumentów.

Ukrycie cudzej rezerwacji na ekranie telefonu nie rozwiązuje problemu. Kontrola uprawnień musi działać również po stronie serwera. Dlatego przy testowaniu aplikacji mobilnej trzeba uwzględnić jej backend, czyli część systemu, która przetwarza żądania i dane poza telefonem. Takie podejście wynika z wymagań OWASP dotyczących uwierzytelniania i uprawnień.

Co sprawdza tester na telefonie

Pierwszy obszar to informacje zapisane na urządzeniu. Mogą to być dane osobowe, treści dokumentów albo tokeny sesji, czyli dane pozwalające aplikacji korzystać z zalogowanej sesji. Tester sprawdza, gdzie są przechowywane i jak są chronione. Szuka też informacji, które przypadkiem trafiły do logów, czyli zapisów zdarzeń programu, lub do kopii zapasowych. Te kwestie obejmuje część standardu OWASP MASVS poświęcona przechowywaniu danych.

Kolejny obszar to połączenie z serwerem. Trzeba sprawdzić ochronę przesyłanych danych oraz to, czy aplikacja prawidłowo potwierdza tożsamość serwera na podstawie certyfikatu. Sam adres zaczynający się od HTTPS nie wystarcza do oceny całej komunikacji. Znaczenie ma także sposób, w jaki program obsługuje połączenie.

Warto również sprawdzić zachowanie aplikacji po wylogowaniu i przy operacjach wymagających dodatkowego potwierdzenia. Odcisk palca lub rozpoznanie twarzy może zabezpieczać dostęp do funkcji na telefonie, ale serwer nadal musi poprawnie kontrolować uprawnienia użytkownika. Każdy z tych mechanizmów trzeba ocenić w kontekście jego rzeczywistego zadania.

Na czym polegają testy penetracyjne aplikacji mobilnych

Pentest to uzgodnione sprawdzenie zabezpieczeń poprzez próby znalezienia i wykorzystania podatności. Rzetelne testy penetracyjne aplikacji mobilnych obejmują analizę plików aplikacji oraz obserwację jej działania. Tester przygląda się kodowi i konfiguracji, a następnie sprawdza zachowanie uruchomionego programu, także poza zwykłą ścieżką korzystania z niego. Te dwa podejścia nazywa się analizą statyczną i dynamiczną.

Przy ustalaniu zakresu pomocne są OWASP MASVS, standard wymagań bezpieczeństwa aplikacji mobilnych, i MASTG, przewodnik po ich testowaniu. Nie trzeba znać ich na pamięć, żeby zamówić usługę. Warto natomiast zapytać, co dokładnie zostanie sprawdzone. Testy penetracyjne aplikacji na Androida nie potwierdzają automatycznie bezpieczeństwa wydania na iOS. Osobnego określenia zakresu wymaga również backend.

Jeśli kod powstawał z pomocą AI, przekaż testerom informację o sposobie pracy i wykonanych już przeglądach. Pomoże to zaplanować weryfikację. Ocena powinna dotyczyć faktycznych zabezpieczeń produktu. Wynikiem testu ma być opis potwierdzonych problemów, ich skutków oraz zaleceń dotyczących naprawy.

Jak przygotować aplikację do testu przed premierą

Test warto zaplanować na etap, w którym działają już kluczowe funkcje i integracje, ale pozostaje czas na poprawki. To nie znaczy, że wcześniej można odłożyć bezpieczeństwo na bok. OWASP zaleca uwzględniać je od projektowania przez cały cykl życia aplikacji.

Przed rozpoczęciem prac ustal z wykonawcą wersje aplikacji i usługi serwerowe objęte testem. Przygotuj konta z różnymi uprawnieniami, opis tego, co może robić każda grupa użytkowników, oraz środowisko z danymi testowymi. Uzgodnij dozwolone działania i kontakt do osoby, która zareaguje w razie problemu. Dzięki temu tester będzie wiedział, co może sprawdzać i w jakich warunkach

Co powinno się wydarzyć po otrzymaniu raportu

Raport powinien wyjaśniać, jaki błąd znaleziono, co może się przez niego wydarzyć i jak odtworzyć problem. Taki opis pozwala programistom pracować nad poprawką, a właścicielowi aplikacji ocenić jej znaczenie. Dokumentowanie wyników jest częścią procesu opisanego w OWASP MASTG. Po naprawie warto uzgodnić retest, czyli ponowne sprawdzenie wykrytych wcześniej podatności.

W zapytaniu o test wskaż, że chodzi o aplikację mobilną, podaj jej platformy i określ, czy prace mają obejmować także backend.

Pentest dotyczy określonego zakresu i konkretnej wersji produktu. Nie daje gwarancji wykrycia wszystkich błędów ani bezpieczeństwa kolejnych wydań. OWASP również zaznacza, że stosowanie MASVS nie gwarantuje absolutnego bezpieczeństwa. Po zmianach w aplikacji trzeba ponownie ocenić, jakie testy są potrzebne.

Takie testy wykonuje m.in. PWNONE, które opisuje w swojej ofercie weryfikację aplikacji na Androida i iOS, również tworzonych we Flutterze i React Native. Zakres obejmuje analizę statyczną i dynamiczną oraz testy backendu, z odniesieniem do OWASP MASVS i MASTG

Jeśli dzięki AI zespół szybciej przygotował aplikację, warto wykorzystać część tego czasu na przegląd kodu i testy. Przed premierą poproś o konkretną informację: co sprawdzono, które błędy naprawiono i jakie ryzyka pozostały. To lepsza podstawa decyzji o wdrożeniu niż samo potwierdzenie, że aplikacja poprawnie obsługuje zamówienie lub rezerwację.


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Świat technologii
Przegląd prywatności

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.