Ukrývejte citlivý obsah před GitHub Copilotem a dalšími AI pomocníky

Co by se mohlo stát? Vždyť Copilot je už vytrénovaný a svůj kód ani neposíláte na GitHub, máte jej v jiném repozitáři. Taky jsem si to říkal. Do chvíle, než Copilot doplnil HTML pro patičku webu ve Twig šabloně se jménem jiného vývojáře a odkazem na jeho profil. Jak tedy chránit citlivá data?

Nebráním se používání AI. Nemyslím si, že je to ďábel, který vezme mou duši, mou schopnost psát kód a navrch ještě po cestě do pekla sebere všechna hesla, přístupové tokeny a další citlivé údaje, které po cestě najde. Beru to jako nástroj pro zvýšení produktivity, který mi pomáhá dělat věci rychleji. Nikoli je dělat za mě.

Zcela zakázat používání AI jde podle mě přesně proti principům efektivity. Nepoužijete jej vy, ale zástupy ostatních ano a budou z toho těžit.

Na druhou stranu, určitá míra opatrnosti je na místě. Tento článek se týká hlavně nástroje GitHub Copilot, ale principiálně se to týká všeho, co pracuje s vašimi daty ve vývojovém prostředí. Ani to nemusí být nutně AI. Ale zrovna u ní jsme jaksi v záplavě nadšení v ostražitosti polevili.

Víte přesně, co se děje s kódem, u kterého žádáte o pomoc s úpravou, opravou, vyřešením nějakého úkolu? Kam se všude posílá, a hlavně k čemu všemu je následně vytěžován?

Mě v zásadě nevadí, že někdo znovu zužitkuje zápisky ve Twigu, nějakou vychytávku pro Drupal, funkci ve WordPressovém function.php nebo třeba kus zpracování dat v Symfony. Ostatně, já z toho taky těžím, tak proč nepředat kus svých znalostí zase na revanš.

Problém je, když vám internetem začnou létat citlivé a osobní údaje. Ošetření těch citlivých je na nás, ale čekal bych, že osobní údaje už bude dnes AI schopno samo rozpoznat a nebude je předávat dál.

Patička Drupal webu od jiného vývojáře i s odkazem na jeho profil v mém kódu?

Minulý týden jsem začal pracovat na novém webu postaveném na redakčním systému Drupal. Do patičky obvykle skládám nějaké bloky vložené v administraci, ovšem copyright a jméno autora webu dávám napevno do šablony. Výhodou je třeba automatická aktualizace roku.

Pprotože používám PhpStorm se zapnutým GitHub Copilotem, začal jsem samozřejmě psát © a automat mi navrhnul zbytek. Je v tom stále lepší. Až moc. Ten minulý týden mi totiž přidal do patičky vše, co potřebuji, včetně jména vývojáře a odkazu na jeho webový profil. Mělo to malou chybičku. Jméno a odkaz se týkaly úplně jiného vývojáře z Česka.

Image
Kód vygenerovaný GitHub Copilotem
Kód vygenerovaný GitHub Copilotem, včetně jména jiného vývojáře

Pro mě to byl definitivní políček, abych začal brát výstrahy na ochranu soukromí vážně. Nemyslím si, že to nějak podceňuji, ale opakování je matka moudrosti. Třeba to pomůže i vám. Sepsal jsem několik tipů, jak si nastavit, s čím GitHub Copilot ve vašem vývojovém prostředí pracuje.

Poznámka: pokud vkládáte svůj kód do klasického ChatGPT nebo do Claude.ai, tak věřím, že tam nekopírujete ručně nic obsahujícího hesla, jména a podobně. Že ne?

Nastavení Copilota v PhpStorm a dalších JetBrains nástrojích

V případě tohoto vývojového prostředí jsem nenašel možnost, jak vynutit ignorování konkrétních souborů ze strany Copilota. K dispozici je možnost kliknout na jeho ikonku v pravé spodní liště vašeho IDE a tam použít funkci Disable Completions, která však zcela vypne dokončování kódu. Lze žít bez něj, zvláště, když máme k dispozici chat s Copilotem a v něm bychom neměli pracovat s citlivými soubory.

Druhou možností je vyřadit podporu Copilota pro zvolené typy souborů, resp. programovací jazyky. Učiníte tak pomocí Settings > Languages & Frameworks > GitHub Copilot. V sekci Languages prostě vypnete, u čeho se nemá Copilot angažovat. Úplně praktické mi to nepřijde.

Nejlepší řešení je v tuto chvíli mít soubory s citlivými údaji mimo, v souboru s nějakou nezpracovávanou příponou. A samozřejmě mimo git.

Image
Nastavení GitHub Copilota v JetBrains IDE
Nastavení GitHub Copilota v JetBrains IDE

Nastavení Copilota ve Visual Studio Code

Oblíbený editor Visual Studio Code také nabízí v základním nastavení možnost vypnutí Copilota pro zvolené typy souborů.

Otevřete si Nastavení > GitHub Copilot a přidejte typy souborů podle jazyka, u kterých chcete povolit nebo zakázat použití Copilota.

Podobně jako v PhpStorm i ve Visual Studio Code je možné dokončování vypnout či zapnout kliknutím na ikonku v pravé spodní části.

Image
Nastavení GitHub Copilota ve Visual Studio Code
Nastavení GitHub Copilota ve Visual Studio Code

Nastavení Copilota v editoru Zed

V editoru Zed je nastavení pro GitHub Copilot ještě úspornější. Po kliknutí na ikonku ve spodní liště máte možnost zakázat dokončování kódu pro aktuální typ souborů nebo pro úplně všechny. Zbytek nastavení je třeba provést v účtu na GitHubu.

Copilot a vaše projekty na GitHubu

K nastavení Copilota přímo na GutHubu se dostanete přes váš profil a odkaz Settings. V bočním panelu uvidíte sekci Code, planning and automation > Copilot.

Pozornost bych věnoval volbě Allow GitHub to use my code snippets from the code editor for product improvements. Po zkušenostech ji raději vypínám.

Vlastně mě překvapuje, že není k dispozici žádná volba, která by v editorech na první dobrou uživatele jasně navedla k nastavení, kterým konkrétní soubor zcela vyloučím ze zpracování Copilotem. Bez ohledu na to, jakou bude mít příponu.

Tak či tak, nic z výše uvedeného neřeší problém s využitím třeba vašeho jména u vygenerovaného kusu kódu v editoru cizího vývojáře. V tuto chvíli mám jedinou radu – tak nějak s tím musíte počítat.

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru