„Claude Code“ dėl dalinio apsižiūrėjimo, kaip tvarkomi jo nustatymų failai, nutekina jautrią informaciją viešose „GitHub“ saugyklose. Tokią išvadą padarė dirbtinio intelekto saugumo tyrėjai iš bendrovės „Apiiro“, kurie aptiko tūkstančius paslapčių, tarp jų duomenų bazių slaptažodžių, API raktų (angl. tokens) ir root prisijungimo duomenų, „Claude Code“ nustatymų failuose, įkeltuose į „GitHub“ saugyklas.
Nutekėjimas kyla dėl to, kaip „Claude Code“ tvarko vartotojo patvirtinimą automatiškai vykdomoms shell komandoms. Kai vartotojas pasirenka parinktį „Yes, and don’t ask again“ („Taip ir daugiau neklausti“), kad patvirtintų komandos vykdymą, šis pasirinkimas kaip taisyklės dalis išsaugomas vietiniame vartotojo kompiuterio faile „.claude/settings.local.json“. Kartais ta taisyklė užrašoma kaip šablonas, tačiau pati komanda į nustatymų failą dažnai įrašoma tokia, kokia yra, kartu su visa jautria informacija, kuri joje gali būti.
Tai nėra didelė saugumo problema, jei nustatymų failas lieka vartotojo kompiuteryje (žinoma, jei pats kompiuteris nėra pažeistas). O „Anthropic“ savo „Claude Code“ dokumentacijoje nurodo, kad šis konkretus nustatymų failas įtraukiamas į kūrėjo globalų .gitignore sąrašą, o tai paprastai neleidžia jo viešai paskelbti.
Paaiškinimas: .gitignore yra failas, kuriame nurodoma, kokių failų versijų kontrolės sistema „Git“ neturi sekti ir įkelti į saugyklą.
Tačiau šis .gitignore nustatymas neatsispindi saugyklos (repo) lygmeniu, todėl jautrus failas gali būti netyčia įkeltas, pavyzdžiui, jei saugykla nukopijuojama į kitą kompiuterį arba aplankas vėliau tampa saugykla. „Apiiro“ duomenimis, daugeliu atvejų pats „Claude Code“ įrašo nustatymų failo pakeitimus (angl. commit) be vartotojo nurodymo.
„Apiiro“ tyrėjai rado daugiau nei 100 000 atvejų, kai vietinis „Claude Code“ nustatymų failas buvo įkeltas į viešą „GitHub“ saugyklą. Iš jų tik apie 1 100 failų iš 63 skirtingų organizacijų turėjo paslapčių, pavyzdžiui, viešų API raktų, duomenų bazių slaptažodžių ar privačiųjų raktų. Net kai šie failai aptinkami ir pašalinami iš saugyklos, paslaptys gali išlikti originalaus projekto šakose (angl. forks), jei „GitHub“ naudotojas nėra atidus.
Ką daryti?
Nors ši saugumo problema dabar sulaukia daugiau dėmesio, apie ją „Claude Code“ klaidų ataskaitoje buvo pranešta dar 2025 m. rugpjūtį. Kitose klaidų ataskaitose taip pat pažymėta, kad jautrus nustatymų failas kartais nebuvo įtraukiamas į vartotojo .gitignore sąrašą arba kad „Claude Code“ galėjo įrašyti jautrias komandas į kitą failą, kuris nebuvo apsaugotas nuo „Git“ viešinimo. Visos šios klaidų ataskaitos buvo uždarytos nesiėmus veiksmų po 60 dienų neveiklumo.
Savaitgalį „Hacker News“ komentarų gijoje „Claude Code“ atstovas Boris Cherny sakė, kad komanda „aiškinasi, ką galima padaryti, kad to būtų išvengta“. Kartu jis pažymėjo, kad šių nustatymų failų beveik niekada nereikėtų įkelti į vartotojo „Git“ versijų kontrolę ir kad tokie atvejai, atrodo, pasitaiko tik tada, kai „failai buvo sukurti ir įkelti rankiniu būdu“.
Kol kas Cherny rekomendavo naudoti „Claude Code“ automatinį režimą (auto mode), kuris naudodamas klasifikatorius automatiškai tvarko „įprastus leidimų prašymus“ ir nereikalauja, ką Cherny vadina „rankiniu keblių leidžiamųjų ir draudžiamųjų sąrašų palaikymu“. Tačiau kitam naudotojui pastebėjus, kad jautrios komandos automatiniame režime vis tiek gali būti išsaugomos nustatymų failuose, Cherny atsakė, kad tai „gerai pastebėta“, ir pridūrė, kad komanda „svarsto, ką galima padaryti, kad tai būtų pagerinta“.
Cherny taip pat rekomenduoja „Claude Code“ naudotojams naudoti paslapčių skenerius, kurie gali peržiūrėti failus ieškodami jautrios informacijos ir ją pašalinti, ir teigė, kad komanda svarsto ateityje tokį paslapčių skenavimą integruoti į patį „Claude Code“. Vis dėlto „Apiiro“ tyrėjai nustatė, kad 215 iš maždaug 1 100 viešų paslapčių, rastų „Claude Code“ nustatymų failuose, nebuvo pažymėtos dviejų populiarių paslapčių skenerių – „gitleaks“ ir „TruffleHog“.
Tai toli gražu ne vienintelis atvejis, kai dirbtinio intelekto agentas netyčia nutekina jautrią informaciją. Praėjusį mėnesį „Meta“ sustabdė savo agento „Muse“ dalijimosi funkciją, kai saugumo tyrėjai nustatė, kad tų nuorodų URL adresus galima lengvai atspėti.



