Git Hub Copilot - Czy istnieje ryzyko wycieku prywatnego repozytorium

0

Witam. Ostatnio zastanawiałem się czy byłaby możliwość przekazania do Chat GPT 4 repozytorium dosyć sporego projektu, w którym na co dzień pracuję z nadzieją, że podpowie mi coś nt. tego co w nim można by zrobić lepiej. Przy czym zastanawia mnie jeszcze czy to nie rodzi zagrożenia upublicznienia samego kodu. Z tego co wiem GitHub Copilot ma taką funkcję i co do niego mam podobne obawy, ale nie wiem czy uzasadnione.

0

Przy czym zastanawia mnie jeszcze czy to nie rodzi zagrożenia upublicznienia samego kodu.

Dane, które wrzucasz do ChatGPT firma OpenAI może przetwarzać o ile pamiętam – przeczytaj warunki użytkowania. W przypadku użycia API nie mają takiego punktu AFAIK. Więc ogólnie nie wrzuca się do ChatGPT niczego, co jest potencjalnie tajne. Natomiast z punktu widzenia działania systemów LLM to mało prawdopodobne jest, aby wyciekł dokładnie twój kod.

A co Copilota, to GitHub twierdzi, że nie był trenowany na prywatnych repozytoriach (https://github.com/features/copilot#faq), ale przejrzyj też https://docs.github.com/en/copilot/copilot-individual/about-github-copilot-individual#how-is-the-data-in-github-copilot-individual-used-and-shared

0

Ryzyko upublicznienia istnieje. Może nawet jak nie od razu to może zbierają dane jak korzystasz itp. Na tych umowach to można polegać jak jesteś w stanie przenieść odpowiedzialność za decyzje (chodzI mi o sytuacje jak hindusi patrzączy co wkładasz do koszyka; albo czy jak masz alexe to czy ktoś odsłuchuje jak bijesz żonę kablem od laptopa )

A bardziej w temacie, z tego co słyszałem. Rozmiar "prompta"/zapytania jest ograniczony. Na przykład Copilot wraz z pytnaniem wysyła kilka plików (otwartych). Google się chwaliło że zwiększyło rozmiar w h*j i że umożliwi to podawanie całych projektów.

Sposobem (może jest więcej) obejścia problemu są tzw. embeddings. Teksty są 'indexowane' do jakichś wektorowych struktur a następnie istotne części są wyszukiwane i przekazywane z promptem (tak mniej więcej to rozumiem).
GPT-4 chyba dostarcza możliwość indeksowania, ale usługa jest ograniczona rozmiarem i ilością plików (teoretycznie można próbować łączyć kod w większe pliki).
Inna potencjalne rowiązanie jakie widzę jest stworzenie lokalnie emmbedings i połączenie ich z GPT np z użyciem LangChain
(mi w zrozumieniu dokumentacji pomogło oglądanie )

Może są jakieś programy/nakładki w stylu GPT4All, LM Studio - ale te akurat są pod używanie lokalnych modeli (nie sprawdzałem czy można podpiąć zewnętrzne api).

Jeszcze dodatkowe przemyślenia to takie:
model się nie rozszeży sam (za dużo to kosztuje). fine tunning chyba też jest tródny/problematczny, bo trzeba tam dodatkowe dane treningowe. W generacji obrazków, do tworzenia specyficznych obrazków można tworzyć LoRA (takie mini rozszeżenia modelu), ale nie znalazłem odpowiednika dla tekstów.

0

Tak będzie twój github użyty do uczenia sieci neuronowych to jedyne miejsce gdzie możesz sprawdzić, robi się to tak, że bierzesz model surowy, nie wytrenowany do chatbota instruct, tylko surowy. tam dajesz kawałek twojego kodu, a on odtworzy cały twój kod,

Github za darmo daje konta, ale płacisz za to tym, że wszystko może sobie wziąć.
Nie czytałeś regulaminu?

2
.GodOfCode. napisał(a):

Github za darmo daje konta, ale płacisz za to tym, że wszystko może sobie wziąć.

To nie na tym czasem polega idea open source?

0

Myślę, że należy oddzielić w dysksji Copilota i Chata GPT/API (GPT)

Zasad użytkowania GPT nie znam, ale pewnie zbierają wszystko co mu dasz, może jest jakaś opcja jest, żeby jednak 'zapominał' co widział.

Do używania Copilota potrzebne jest konto na GitHub, ale nie ma obowiązku trzymania tam kodu.
W ustawieniach konta jest opcja "Allow GitHub to use my code snippets from the code editor for product improvements" i ona brzmi jak oppcja, żeby nie zbierali danych. Na chłopski rozum zbierają jak im pozwolisz.

Udostępnianie kodu na GitHubie to nieco inna sprawa (co można a co nie można z nim robić).

Po namyśle i wracając do pierwszego postu " na co dzień pracuję ..." jeżeli to w pracy to pewnie nie możesz przekazywać kodu innym ludziom/podmiotom niezależnie po co (chyba że firma pozwala i masz z góry powiedziane, że jest to ok i w jakim zakresie). Ktoś tu na formum opowiadał, że używają Copilota w pracy - i sposób wykorzystania jest ustalany przez firmę.

1

Z tego co pisali w innym wątku to podczas instalacji copilota jest kluczowy checkbox zezwalający na używanie twoich rozmów do ulepszania i wystarczy go odznaczyć żeby teoretycznie repo nie mogło wyciec.
W związku z tym niektóre firmy (na przykład moja) dostarczają pracownikom customowy plugin do copilota gdzie ten checkbox jest ukryty i odznaczony dzięki czemu nie ma ryzyka że któryś pracownik przy instalacji przypadkowo go zostawi.
Natomiast to wszystko jest "na gębę", wiadomo że fragmenty Twojego kodu SĄ wysyłane na ich serwery i że jeden bug w ich kodzie teraz lub w przyszłości wystarczy żeby dołączył do ich bazy. Nie przejmowałbym się tym, ale na wszelki wypadek nie trzymaj w kodzie haseł i sekretów.

0
krsp napisał(a):

Po namyśle i wracając do pierwszego postu " na co dzień pracuję ..." jeżeli to w pracy to pewnie nie możesz przekazywać kodu innym ludziom/podmiotom niezależnie po co (chyba że firma pozwala i masz z góry powiedziane, że jest to ok i w jakim zakresie). Ktoś tu na formum opowiadał, że używają Copilota w pracy - i sposób wykorzystania jest ustalany przez firmę.

Tak, jeżeli kod docelowo nie jest "nasz" to trzeba to uzgodnić. W przeciwnym razie warto sobie uzmysłowić że nikogo twój kod nie obchodzi (najprawdopodobniej), zwłaszcza przemielony przez ejaja.

0

xD. U mnie w firmie mam bekę z tych, co się boją, że nasz kod wycieknie i konkurencja go zacznie wykorzystywać w swoich rozwiązaniach. Lepszego sposobu na legalne spowolnienie konkurencji nie wymyśliłem.

1

Beka beką, ale ostatnio ktoś na youtbe zadał pytanie. Czy jak AI generuje klucz do jakiegoś api to czy jest on losowy czy może czyjś prawdziwy (może jeszcze ważny?)?

Chciałem na stronkę selecta (html), AI podał mi dokładnie to co w dokumentacji W3C.

W jednej robocie zakleili nam okna bo drugi budynek był zbyt blisko. Klient sobie życzył zachowania pewnych standardów security, nie spełniasz firma traci projekt, bo może ktoś patrzy. Nic fascynującego tam nie robiliśmy w mojej opinii.

Ale rozumiem, że obawy trochę nad wyrost niektórzy mają.

1 użytkowników online, w tym zalogowanych: 0, gości: 1