Dobra analiza ryzyk związanych z używaniem zewnętrznych bibliotek w aplikacji mobilnej na bazie doświadczeń Lyft.
Rodzaje ryzyk:
- Ryzyka związane z runtime mimo zachowania dobrych praktyk w kodzie aplikacji, dodane zewnętrzne libki mogą zużywać sporo zasobów systemowych. CPU, pamięć, bateria, nadmiarowe niepotrzebne dostępy etc.
- Ryzyka developerskie utrzymywanie “martwych” bibliotek, które zostały zintegrowane dawno temu; migracja bibliotek do nowej wersji systemu operacyjnego.
- Ryzyka biznesowe - kod biblioteki ma ten sam poziom dostępów systemowych i informacji o użytkowniku, co ogólny kod aplikacji. Aplikacja jest tak bezpieczna, jak jej najsłabsze ogniwo. Wszelkie dobre praktyki wytwarzania bezpiecznego oprogramowania mogą zostać cofnięte przez jedną źle działającą bibliotekę.
Mitygacja ryzyka:
- Budowanie całej funkcjonalności in-house (jeśli to możliwe).
- Analiza ilu użytkowników naprawdę skorzysta z nowej biblioteki.
- Analiza zależności wewnątrz biblioteki.
- Awaryjny plan wyjścia po zintegrowaniu libki.
Hard stop:
- Brak wsparcia dla starszych wersji systemu, które wspiera aplikacja.
- Niewłaściwa/brakująca licencja.
- Używanie przez bibliotekę zależności z których aplikacja już korzysta, ale w innej wersji.
- Narzucanie sztywnego interfejsu użytkownika.
- Używanie prywatnych API przez libkę.
Czerwone flagi:
- Zamknięty kod źródłowy.
- Ostrzeżenia po zbudowaniu.
- Słaba dokumentacja.