
Claude Code կարգավորումների ֆայլը 1,122 հրապարակային GitHub պատճեններում բացահայտում է գաղտնիքներ
Apiiro ընկերությունը հրապարակային GitHub-ում գտել է Claude Code նախագծի .claude/settings.local.json ֆայլի 1,122 պատճեն, որոնք պարունակում են առնվազն մեկ գաղտնիք։ Ֆայլը կարող է պահել հաստատված հրամանները բառացի, այդ թվում գաղտնաբառեր և API բանալիներ։
Apiiro ընկերությունը հայտնել է, որ հրապարակային GitHub-ի իր որոնումը գտել է Claude Code նախագծի .claude/settings.local.json ֆայլի 1,122 պատճեն, որոնք պարունակում են առնվազն մեկ գաղտնիք։ Ֆայլը կարող է պահել գաղտնաբառեր և API բանալիներ, երբ մշակողները հրամանները հաստատում են «Yes, and don't ask again» ընտրանքով։ Apiiro ընկերությունը ծանուցած մի ընկերություն հաստատել է, որ իր բանալին աշխատունակ է եղել. հետազոտողները չեն ստուգել, թե արդյոք բոլոր գաղտնիքները դեռ գործում են։
Ինչպես են գաղտնիքները պահվում
Claude Code-ը, ըստ թույլտվությունների իր փաստաթղթավորման, լռելյայն հարցնում է նախքան հրամանների մեծ մասը կատարելը։ Երբ օգտատերը հաստատում է հրամանը և ընտրում է այլևս չհարցնել, Claude Code-ը նախագծի ներսում .claude/settings.local.json ֆայլում պահում է թույլատրման կանոն։ Հետագայում համապատասխան հրամանները կատարվում են առանց հուշման։ Կանոնը կարող է ընդգրկել ձևանմուշ, օրինակ npm test *, կամ մեկ ճշգրիտ հրաման։ Եթե ճշգրիտ հրամանը պարունակում է գաղտնաբառ կամ տոկեն, գաղտնիքը նույնպես պահվում է, բաց տեքստով։ Apiiro ընկերությունը վերարտադրել է այդ վարքը Opus 5.5 և Fable 5.1 մոդելներով։
Claude Code-ը փորձում է ֆայլը պահել git համակարգից դուրս։ Նրա կարգավորումների փաստաթղթավորումը նշում է, որ առաջին անգամ, երբ այն գրում է ֆայլը git պահոցում, այն ավելացնում է օգտատիրոջ գլոբալ git excludes ցուցակում։ Այդ պաշտպանությունը մնում է մեկ օգտատիրոջ git կարգավորումներում մեկ համակարգչում և չի օգնում արդեն պահված ֆայլին, հայտնել է Apiiro ընկերությունը։ Claude Code-ը երբեք ֆայլը չի ավելացնում նախագծի սեփական .gitignore ֆայլում, ուստի պաշտպանությունը չի տարածվում նախագծի հետ։
Ինչ է հայտնաբերել Apiiro ընկերությունը
Apiiro ընկերության որոնումը գտել է ֆայլի 104,185 պատճեն 103,617 հրապարակային GitHub պահոցներում։ Մոտ 1,1%-ը, կամ 1,122 պատճեն, պարունակում է առնվազն մեկ գաղտնիք, և միասին դրանք պարունակում են 1,379 տարբեր գաղտնիք։ Ավելի քան մեկ երրորդը ուղղակիորեն բացում է տվյալների բազա, այդ թվում 379 տվյալների բազայի գաղտնաբառ։ Մյուսները ներառում են 43 SSH մուտք հրապարակային սերվերների համար, 42 տոկեն GitHub, GitLab և npm համար, և 23 AWS բանալի։ Սեփականատերերի թվում են 63 կազմակերպություն, հիմնականում տարբեր չափերի ծրագրային ընկերություններ։
Երկուշաբթի դրությամբ գաղտնիք պարունակող յուրաքանչյուր ֆայլ դեռ գտնվում էր իր պահոցի լռելյայն ճյուղում, և այդ պահոցների կեսում այն այնտեղ էր առնվազն 217 օր։ Հին տարբերակները պարունակում են 734 լրացուցիչ գաղտնիք 509 պահոցներում, որոնք չկան որևէ ընթացիկ պատճենում։ Գաղտնիքներ կան նաև .claude/settings.json համօգտագործվող ֆայլի 76,011 պատճենից 298-ում։ Դրանք, հին տարբերակները և պահված գործակալի զրույցի մատյանները հաշվի առնելով, ընդհանուր թիվը 2,539 գաղտնիք է 1,994 պահոցներում։
Ինչ անել
Apiiro ընկերությունը խորհուրդ է տալիս GitHub կազմակերպություններում որոնել .claude/settings.local.json և .claude/settings.json ֆայլերը և ստուգել յուրաքանչյուր պահոցի git պատմությունը։ Հետազոտողները խորհուրդ են տալիս մաքրելուց առաջ պտտել յուրաքանչյուր գաղտնաբառ, տոկեն և բանալի, որը ֆայլերը երբևէ պահել են։ Մշակողները պետք է դադարեցնեն տեղական ֆայլի հետևումը git rm --cached .claude/settings.local.json հրամանով և այն ավելացնեն պահոցի սեփական .gitignore ֆայլում։ Նրանք պետք է ջնջեն գաղտնիք պարունակող յուրաքանչյուր կանոն և գաղտնիքներին վերաբերվեն որպես փոփոխականներ գաղտնիքների կառավարիչից, օրինակ $DB_URL։ Մշակողները պետք է հաստատեն այնպիսի ձևանմուշներ, ինչպիսին է Bash(npm run:*) ձևանմուշը, առանձին հրամանների փոխարեն։ Անվտանգության թիմերի համար Apiiro ընկերությունը խորհուրդ է տալիս գործակալի թղթապանակներն ու գործակալի հիշողության ֆայլերը համարել գաղտնիքներ պարունակող և դրանք ավելացնել pre-commit և CI գաղտնիքների սկանավորման մեջ։
Ընդհանուր գաղտնիքների սկաներները բաց են թողնում այս ֆայլերից շատերը։ Հետազոտողները gitleaks և TruffleHog գործիքները գործարկել են յուրաքանչյուր պատճենի վրա առանց ստուգման։ Գաղտնիք պարունակող 1,122 ֆայլից gitleaks գործիքը նշել է 564-ը, TruffleHog գործիքը՝ 643-ը, և ոչ մեկը չի նշել 215-ը։ Բացթողումների մեծ մասը հրամանների մեջ մուտքագրված գաղտնաբառերն են։
Աղբյուրներ՝ The Hacker News
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։