Sztuczna inteligencja w tworzeniu oprogramowania - wyzwania dotyczące bezpieczeństwa

Korzystanie z generatywnej sztucznej inteligencji (GenAI) w tworzeniu oprogramowania to ogromna szansa dla firm IT, jednak automatyzacja tworzenia kodu niesie ze sobą pewne ryzyka. Firma informatyczna Xebia Poland przeprowadziła obszerny projekt ewaluacyjny, aby zbadać, jakie implikacje dla biznesu niesie stosowanie narzędzi automatyzujących. Ryzyka związane z niewłaściwym użytkowaniem AI są poważne i konieczne jest uwzględnienie ich w strategii działania organizacji zajmujących się wytwarzaniem oprogramowania.

Foto: Steve Johnson / Unsplash

Od współczesnych programistów oczekuje się nie tylko dostarczania kodu, ale także umiejętności korzystania z różnorodnych narzędzi i technologii. Od niedawna należą do nich narzędzia oparte na generatywnej sztucznej inteligencji (Gen AI), które częściowo automatyzują tworzenie kodu.


Nowa przewaga

Sztuczna inteligencja (AI) coraz częściej wkracza w dziedzinę tworzenia oprogramowania. Według danych platformy GitHub, aż 92% programistów w Stanach Zjednoczonych korzysta zarówno w pracy, jak i poza nią z narzędzi opartych na AI, a 70% twierdzi, że narzędzia do kodowania oparte na sztucznej inteligencji dadzą im przewagę w pracy.

Programiści dostrzegają szereg korzyści, takich jak poprawa jakości kodu czy skrócenie czasu realizacji projektów. Narzędzia AI odgrywają więc coraz większą rolę w procesie tworzenia oprogramowania, przynosząc realne korzyści zarówno deweloperom, jak i całym zespołom.


AI pod lupą

Sztuczna inteligencja w tworzeniu oprogramowania - wyzwania dotyczące bezpieczeństwa

Krzysztof Rolak, CEO Xebia Poland

Jak każda głęboko sięgająca zmiana, automatyzacja tworzenia kodu niesie ze sobą także ryzyka. Zespół ekspertów z firmy informatycznej Xebia Poland przeprowadził badania i opracował wytyczne dotyczące pracy z narzędziami AI. Przeanalizowano takie rozwiązania jak Amazon CodeWhisperer, GitHub Copilot i OpenAI Chat GPT.

„Niedawne udostępnienie narzędzi takich jak ChatGPT czy Midjourney dla szerokiej publiczności sprawiło, że AI nie znika z nagłówków gazet, a większość firm gorączkowo zastanawia się, jak wdrożyć je we własnych procesach, by uzyskać przewagę. Powstały też narzędzia przeznaczone dla firm IT, które znacznie zwiększają wydajność pracy programistów. Jednocześnie dziś jesteśmy w momencie, w którym rozwój AI znacznie wyprzedził aktualny system prawny, co tworzy poważne ryzyka dla biznesu. Aby móc korzystać z innowacji, nie narażając się na potencjalne konsekwencje, przeprowadziliśmy projekt badawczy dotyczący wykorzystania AI w pracy programistów” – mówi Krzysztof Rolak, CEO Xebia Poland.

W prace zaangażowany był zespół ekspertów z Polski, Holandii i Indii. Projekt miał na celu stworzenie ram i wytycznych, jak korzystać z tych narzędzi w sposób bezpieczny i odpowiedzialny, a także minimalizować zidentyfikowane ryzyka, które mogą prowadzić do poważnych konsekwencji dla biznesu. Kluczową rolę odegrali w nim eksperci z Polski – Grzegorz Śpiewak i Piotr Ogiński.


Szybciej i efektywniej

AI daje duże możliwości, dlatego firmy przygotowują się do wykorzystania tej technologii w projektach informatycznych. Widzą w niej szansę na przyspieszenie pracy programistów, oszczędność czasu i co za tym idzie, większy zysk. Jak to działa?

„W praktyce wygląda to tak, że programista musi opisać funkcję, którą chce otrzymać. AI generuje kod bazując na informacjach wprowadzonych przez użytkownika. Narzędzie może być też wykorzystane w inny sposób. Programista tworząc kod, może otrzymać od programu podpowiedzi lub pełne wiersze kodu po wpisaniu zaledwie kilku początkowych słów. Użytkownik ma możliwość weryfikacji, edycji lub zaakceptowania sugerowanego fragmentu kodu i dołączenia go do swojego projektu. Oba sposoby wykorzystania AI znacząco przyspieszają proces tworzenia oprogramowania i w rezultacie zwiększają efektywność pracy programisty. Generatywna sztuczna inteligencja umożliwia bardziej efektywne wykorzystanie czasu, jednak prawidłowe wdrożenie i efektywne wykorzystanie AI w praktyce wymaga solidnej wiedzy, nie tylko technicznej” – mówi Piotr Ogiński z firmy Xebia, odpowiedzialny za weryfikację narzędzi AI w projekcie.

Generatywna sztuczna inteligencja przynosi wiele korzyści w dziedzinie tworzenia oprogramowania, głównie oszczędność czasu i zwiększenie efektywności pracy programistów. Jednakże, wraz z tymi pozytywnymi aspektami, pojawiają się również istotne zagrożenia dla biznesu. Ważne jest, abyśmy byli świadomi tych ryzyk i potrafili skutecznie nimi zarządzać.


Bezpieczeństwo danych leży po stronie użytkownika

Podstawowym ryzykiem, jakie może towarzyszyć wykorzystaniu narzędzi generatywnej sztucznej inteligencji, jest naruszenie bezpieczeństwa danych. Nie wynika to jednak z samej technologii, a raczej z niewłaściwego użytkowania sztucznej inteligencji. W przypadku braku wiedzy na temat funkcjonalności narzędzi AI oraz odpowiednich zabezpieczeń po stronie użytkownika, istnieje szeroka gama zagrożeń, obejmujących wycieki danych, dostęp osób nieautoryzowanych do informacji poufnych oraz różnego rodzaju ataki.

„Narzędzi AI trzeba używać z głową. Warto trzymać się zasady, że nie wprowadzamy do nich danych, których nie chcielibyśmy opublikować na naszym wallu na Facebooku” - komentuje inicjator badania Grzegorz Śpiewak z firmy Xebia. „Obecnie narzędzia te mogą wykorzystać wszelkie dane, które do nich wprowadzimy. Poprzez trenowanie swojego modelu na dostarczonym przez użytkownika opisie funkcji, kodzie lub niejawnym dokumencie, istnieje ryzyko, że poufne informacje lub materiały objęte prawem autorskim mogą być udostępnione innym użytkownikom narzędzia jako gotowe do użycia elementy - np. sugestie kodu czy wzór dokumentu. Może się również zdarzyć, że takie narzędzie jak np. ChatGPT może udostępnić użytkownikowi listę klientów danej firmy, jeśli ktoś takie dane tam wcześniej wprowadził. To stwarza problem. Użytkownik może zablokować możliwość wykorzystania swoich danych do trenowania modelu, ale musi mieć świadomość takiej opcji. Dlatego rekomendujemy jak najszybsze wprowadzenie polityki bezpieczeństwa informacyjnego dotyczącej tych narzędzi w organizacji”.

Generatywne AI wykorzystuje to, czego zostało wcześniej nauczone. W przypadku narzędzi deweloperskich, jest to kod, który został już wcześniej napisany przez kogoś innego. Naturalną konsekwencją jest więc możliwość, że podczas tworzenia oprogramowania deweloper może wykorzystać kod, podobny do już istniejącego, a ten może być chroniony prawem autorskim. Takie niezamierzone naruszenie praw autorskich może prowadzić do konsekwencji prawnych, włączając w to nawet procesy sądowe.

„Teoretycznie, wszyscy o tym wiedzą: AI generuje kod opierając się na istniejącym kodzie” - mówi Piotr Ogiński. ”Problem leży w niskim poziomie świadomości użytkownika, który nie zdaje sobie sprawy, że wykorzystując AI możemy naruszyć czyjeś prawa autorskie lub licencje dotyczące wykorzystania kodu. Jeśli zdecydujemy się na korzystanie z narzędzi AI w projektach komercyjnych, musimy stosować odpowiednie filtry, a także ustalić zasady z klientem i jasno określić potencjalne ryzyka”.

Sztuczna inteligencja w tworzeniu oprogramowania - wyzwania dotyczące bezpieczeństwa

W obszarze praw autorskich istnieje jeszcze druga strona medalu: prawa własności intelektualnej do kodu, który został wygenerowany dla nas przez AI. Określenie własności i praw własności intelektualnej do kodu generowanego przez sztuczną inteligencję to kwestia niezwykle złożona, a jej zaniedbanie może prowadzić do potencjalnych sporów i niepewności prawnej. Obecnie stan uznawania AI jako podmiotu prawnego jest różnie traktowany w różnych krajach i jest to kwestia szybko ewoluująca. W Polsce to, co generuje AI nie jest regulowane w kontekście praw autorskich.

„Może się zdarzyć, że wygenerowany przez AI kod, który firma zechce sprzedać klientowi, będzie np. łudząco podobny do kodu biblioteki open source, której licencja wymaga, żeby kod rozwiązania używającego tej biblioteki był publiczny. Większość firm nie chce publikować kodu źródłowego swoich produktów. Podobne ryzyka dotyczą nie tylko kodu. Przykładowo, wykorzystanie AI do stworzenia znaku graficznego, może również naruszyć prawa własności intelektualnej. W tym wypadku zmiana logo czy grafiki jest prostsza niż wymiana naruszającego prawo autorskie kodu” – tłumaczy Grzegorz Śpiewak.

Niezależnie od perspektywy, kwestia praw autorskich może okazać się kluczowa w wielu przypadkach zastosowania narzędzi automatyzujących tworzenie kodu. Trudno oczekiwać, że programiści będą specjalistami w dziedzinie prawa autorskiego, dlatego organizacje mają obowiązek stworzenia środowiska, które pozwoli im korzystać z tych narzędzi, minimalizując tym samym ryzyka związane z naruszeniem prawa.

    Xebia radzi:

  • Buduj świadomość w organizacji: spraw, aby pracownicy mieli podstawową wiedzę na temat praw własności intelektualnej i praw licencyjnych oraz zrozumienie ryzyka związanego z naruszeniem tych praw poprzez wykorzystanie generatywnej AI w tworzeniu kodu.
  • Stwórz odpowiednie polityki i standardy prawne w organizacji, które będą wspierać pracowników w zapewnieniu zgodności z przepisami prawnymi i ochronie praw autorskich.
  • Korzystaj z odpowiedniego filtrowania w narzędziach AI w celu identyfikacji potencjalnych naruszeń praw autorskich, aby zapewnić zgodność z przepisami i ochronę praw autorskich.

Wyzwania związane z AI będą się mnożyć

Narzędzia generatywnej sztucznej inteligencji (GenAI) mają ogromny potencjał. Łączą się one jednak z zagrożeniami, takimi jak naruszenie praw własności intelektualnej, bezpieczeństwa danych, czy jakością kodu. Firmy stoją przed koniecznością wdrożenia polityk, które nakreślą ramy dla odpowiedniego – i odpowiedzialnego - użytkowania GenAI, by być gotowym na wyzwania jakie stoją za wdrożeniem AI w proces tworzenia oprogramowania.

Oprócz konieczności ustalenia wytycznych dotyczących prywatności, bezpieczeństwa danych oraz praw własności i praw autorskich, wykorzystanie narzędzi automatyzujących tworzenie kodu stawia przed nami wiele innych wyzwań. To na przykład konieczność stworzenia standardów prowadzenia dokumentacji, polityk i umów, uwzględniających na przykład kwestie etyczne związane z korzystaniem z narzędzi AI. Niezbędne będą również regularne przeglądy i aktualizacje zasad użytkowania GenAI po to, by dostosować się do nowych praktyk i standardów regulacyjnych, które dopiero powstaną.


Xebia w Polsce

W 2021 roku wrocławski PGS Software dołączył do międzynarodowej Grupy Xebia. Obecnie jako Xebia Poland, firma specjalizuje się w tworzeniu oprogramowania i projektach transformacji cyfrowej biznesu.

Zespół Xebia tworzą eksperci, entuzjaści i pasjonaci IT, którzy łączą swoją wiedzę i umiejętności, aby dostarczać najwyższej jakości usługi klientom na całym świecie.

Xebia aktywnie promuje kulturę dzielenia się wiedzą i stałego rozwijania kompetencji technicznych. Każdy pracownik Xebia Poland otrzymuje roczny budżet rozwojowy w wysokości blisko 7 tysięcy złotych, który może wykorzystać na szkolenia, programy mentoringowe, kursy, certyfikaty czy studia. Dzięki działającym w firmie gildiom, pracownicy dzielą się swoją wiedzą i uczestniczą w warsztatach prowadzonych przez ekspertów w wybranych technologiach, a następnie wykorzystują zdobytą wiedzę w codziennej pracy. Statystyki pokazują, że ten model ten jest dla pracowników niezwykle atrakcyjny: ponad 1/3 załogi Xebia Poland pozostaje w firmie co najmniej pięć lat, a niektórzy pracują tam już od kilkunastu lat.

Jesteś deweloperem, project managerem, DevOps engineerem? Działasz w innych obszarach IT, a może myślisz o zmianie w swoim życiu zawodowym? Sprawdź możliwości kariery w Xebia Poland na https://career-poland.xebia.com/

Sztuczna inteligencja w tworzeniu oprogramowania - wyzwania dotyczące bezpieczeństwa

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]