Klucze API w czacie AI: wklejasz .env, a sekrety zostają w firmie
Do Not Feed AI podmienia wykryte hasła, klucze, tokeny, nazwy hostów i adresy IP na zamienniki tego samego kształtu, zanim tekst trafi do czatu AI. AI dalej widzi strukturę konfiguracji i pomaga szukać błędu, a odpowiedź wraca z prawdziwymi nazwami.
albo napisz bezpośrednio: [email protected]
Programista szuka błędu przed jutrzejszym demo i wkleja do czatu AI cały plik konfiguracyjny razem z logiem.
Tekst lektora
Środa, 22:47. Mateusz szuka błędu. Wkleja do czatu AI cały plik konfiguracyjny i log. Hasło do bazy, klucze do chmury i do płatności. Wszystko do wymiany. Do trzeciej w nocy. Jeszcze raz. Tym razem z wtyczką. Ten sam tekst, to samo wklejenie. Menu pokazuje, co trafi do AI. Sekrety dostają zamienniki tego samego kształtu. Odpowiedź wraca z prawdziwymi nazwami. Ta sama środa. Tym razem Mateusz idzie spać. Nie karm AI sekretami firmy.
Zgłoszenie od klienta z danymi osobowymi i kluczem w logu: kopiujesz je w terminalu, edytorze albo systemie zgłoszeń, skrót zamienia schowek na tekst z zamiennikami, wklejasz do dowolnego czatu AI, a odpowiedź przywracasz drugim skrótem. Funkcja Pro, domyślnie wyłączona.
Tekst lektora
Wtorek, dziesiąta dwadzieścia. Zgłoszenie od klienta: dane osobowe w treści, klucz w logu. Wystarczy jeden skrót między kopiuj a wklej. Skróty są domyślnie wyłączone. Włączasz je sam w menu ikony, a zmiana trafia do dziennika audytu. Kopiujesz tekst jak zawsze: z maila, logu, dokumentu albo zgłoszenia. Naciskasz skrót maskujący. Tekst w oknie zostaje, ale schowek ma już zamienniki: nazwisko, e-mail, telefon, hasło i klucz. Wklejasz do czatu AI, terminala, edytora - wszędzie, gdzie można wkleić tekst. Bez wtyczki. AI pracuje na zamiennikach i na nich odpowiada. Odpowiedź kopiujesz i naciskasz drugi skrót. Prawdziwe wartości wracają do schowka, gotowe do wklejenia. Działa lokalnie i bez konta. Mapa zamienników żyje tylko w pamięci programu. Kopiuj, maskuj, wklej. Nie karm AI danymi klientów.
Co się dzieje w filmie
Środa, 22:47. Mateusz ma jutro demo u klienta, a aplikacja nie łączy się z bazą. Wkleja do czatu AI cały plik .env i log. Razem z nimi wychodzą hasło do bazy, klucze do chmury i do płatności, a w logu e-maile klientów.
Szefowa techniczna mówi krótko: co wyszło poza firmę, traktujemy jak spalone. Zaczyna się wymiana wszystkich kluczy, restart usług i rano telefon do inspektorki ochrony danych w sprawie e-maili. Mateusz kończy o trzeciej w nocy.
Jeszcze raz, tym razem z wtyczką. Ten sam tekst, to samo wklejenie. Ikonka w rogu pokazuje liczbę wykrytych wartości, a menu - co dokładnie trafi do AI. Sekrety dostają zamienniki tego samego kształtu, a db-prod-01 zostaje, bo nie zdradza firmy. AI znajduje literówkę w porcie, odpowiedź wraca z prawdziwymi nazwami, a Mateusz idzie spać.
Co program wykrywa: klucze API, hasła i infrastruktura
- hasła w przypisaniach (
DB_PASSWORD=,SMTP_PASS=) i w adresach połączeń z bazą; - klucze API i tokeny w ponad 220 formatach popularnych usług (chmura, płatności, repozytoria kodu, dostawcy AI), tokeny Bearer i JWT, klucze prywatne PEM;
- nazwy hostów: zmienia się część, która zdradza firmę, np.
db-prod-01.kwadratnet.internalstaje siędb-prod-01.<inne słowo>.internal; - adresy IP: adresy z jednej podsieci trafiają do jednej zastępczej podsieci, więc AI dalej widzi, co z czym rozmawia;
- loginy, e-maile i inne dane osobowe w logach;
- pliki tekstowe przeciągnięte do czatu:
.env,.yaml,.json,.logi podobne.
Profil techniczny jest domyślnie włączony; w panelu wtyczki to "Dane techniczne". Hasła i klucze są trzymane tylko w pamięci programu i nie trafiają na dysk.
Co program celowo zostawia albo może pominąć:
- loginy ogólne (
root,postgres,deploy), porty, ścieżki, nazwy zmiennych, domeny publiczne i strukturę pliku - nie identyfikują firmy, a AI ich potrzebuje; - sekret w nietypowym formacie, którego nie zdradza ani nazwa zmiennej, ani znany wzorzec;
- wewnętrzne nazwy projektów i produktów - te dodasz jako własne frazy do maskowania.
Co mówią przepisy i dobre praktyki
Sekret, który trafił poza firmę, według dobrych praktyk bezpieczeństwa trzeba uznać za ujawniony: unieważnić, wymienić i zapisać zdarzenie. To nie przepis, ale standard, którego oczekują klienci i audytorzy.
Jeśli w logu były dane osobowe klientów, wchodzi RODO: wpis do rejestru naruszeń (art. 33 ust. 5), ocena ryzyka i w razie potrzeby zgłoszenie do Prezesa UODO (art. 33 ust. 1).
Podmioty kluczowe i ważne w rozumieniu dyrektywy NIS 2 (w Polsce ustawa o krajowym systemie cyberbezpieczeństwa) mają obowiązek zarządzania ryzykiem, w tym bezpieczeństwa łańcucha dostaw i podstawowej cyberhigieny (art. 21 NIS 2), oraz zgłaszania poważnych incydentów (art. 23). Nie każda firma IT jest takim podmiotem - warto to sprawdzić.
Pytania i odpowiedzi
Czy AI zrozumie konfigurację z podmienionymi wartościami?
W typowych zadaniach tak. Zamienniki mają ten sam kształt (klucz dalej wygląda jak klucz danej usługi), a struktura, porty i nazwy zmiennych zostają. Przed wysłaniem menu pokazuje dokładny tekst, który dostanie AI.
Czy to działa w edytorze kodu, w terminalu albo przez API?
W edytorze i terminalu działa skrót klawiszowy schowka, a nie wtyczka. To funkcja programu na komputerze (Pro i Business), domyślnie wyłączona; włączasz ją w menu ikony programu. Windows: Ctrl+Win+A (Anonimizuj) i Ctrl+Win+R (Przywróć), macOS: Ctrl+Option+A i Ctrl+Option+R. Kopiujesz fragment kodu, konfiguracji albo logu, skrót zamienia schowek na tekst z zamiennikami, wklejasz go do AI, a odpowiedź kopiujesz i przywracasz drugim skrótem. Program czyta schowek tylko po naciśnięciu skrótu. To nie jest wtyczka w edytorze: asystentów w edytorze, wywołań API ani Linuksa nie obsługujemy. Uwaga: historia schowka systemu (np. Win+V) i menedżery schowka mogą zachować oryginał skopiowany przed użyciem skrótu, więc wyłącz je na czas pracy z sekretami.
W przeglądarce wtyczka działa w ChatGPT, Gemini, Copilot i Claude: na Windows w Chrome, Edge i Firefoksie, na macOS w Chrome i Firefoksie.
Jak to wdrożyć w zespole?
Na Windows jest instalator MSI dla działów IT (zasady grupy, Intune, SCCM): instalacja na komputer dla wszystkich użytkowników albo na użytkownika, rejestracja programu w Chrome, Edge i Firefoksie, rozpakowana wtyczka i aplikacja w zasobniku bez autostartu. Wtyczkę w zarządzanych przeglądarkach rozłóż zasadą przeglądarki (w Chrome ExtensionInstallForcelist z identyfikatorem ze sklepu), a plik licencji osobno na każdym stanowisku. Na macOS program idzie instalatorem pkg, np. przez MDM. Opis dla IT: repozytorium pobierania.
Czy to zastępuje skaner sekretów w repozytorium?
Nie. Skaner pilnuje repozytorium, a Do Not Feed AI - tego, co ludzie wklejają do czatów AI. To dwa różne miejsca wycieku.
Czy program coś wysyła w sieć?
Nie. Program nie łączy się z internetem, nie ma telemetrii, a licencja to podpisany plik sprawdzany lokalnie.