
Apiiro-ն Claude Code-ի թույլտվության ֆայլերում GitHub-ում գտել է 2,539 գաղտնիք
Apiiro-ի ուսումնասիրության համաձայն՝ 1,994 հանրային GitHub ռեպոզիտորիայում գտնվել է 2,539 իրական գաղտնիք, հաճախ .claude/settings.local.json ֆայլերում, որոնք ստեղծվել են հրամանները հաստատելիս։
Apiiro-ի հետազոտողները 1,994 հանրային GitHub ռեպոզիտորիայում գտել են 2,539 իրական գաղտնիք, որոնցից շատերը պահված են Claude Code-ի թույլտվության ֆայլերում՝ .claude/settings.local.json անունով։ Ֆայլերը կարող են ստեղծվել, երբ օգտատերը գաղտնիք պարունակող հրամանի համար ընտրում է «Yes, and don't ask again»։ Apiiro-ն ասում է, որ 63 կազմակերպություն է տուժել, և մեկը հաստատել է, որ իր բանալին ակտիվ է եղել։
Ինչպես են գաղտնիքները հայտնվում ֆայլերում
Claude Code-ը հարցնում է մինչև shell հրամանները կատարելը։ Եթե մշակողը ընտրում է «Yes, and don't ask again», այն հստակ հաստատված հրամանը պահում է նախագծի թղթապանակում գտնվող .claude/settings.local.json ֆայլում։ Քանի որ այդ հրամանը կարող է ներառել տվյալների բազայի գաղտնաբառ, ամպային բանալի, API տոկեն կամ տեղական կոնֆիգուրացիայից պատճենված SSH մուտք, գաղտնիքը գրվում է ֆայլում։ Claude Code-ը ֆայլը ավելացնում է մշակողի գլոբալ git ignore ցանկում, բայց ոչ ռեպոզիտորիայի սեփական .gitignore-ում, ուստի հետագա commit-ը կարող է այն ներառել։ Apiiro-ի հետևած 1,105 ռեպոզիտորիաներից, որոնք ունեին իրական գաղտնիք, 539-ում Claude-ի կողմից համահեղինակված commit-ը փոխել է ֆայլը։
Մասշտաբը և բացահայտումը
GitHub-ում եղել է .claude/settings.local.json-ի 104,185 հանրային օրինակ 103,617 ռեպոզիտորիայում։ Apiiro-ն այդ ֆայլերից 1,122-ում գտել է իրական գաղտնիք՝ 1,379 տարբեր գաղտնիքով։ Դրանցից 379-ը տվյալների բազայի գաղտնաբառեր էին, իսկ 122-ը՝ Supabase-ի service-role բանալիներ։ Apiiro-ն նաև գտել է 1,160 լրացուցիչ գաղտնիք git պատմությունում, ընդհանուր կարգավորումների ֆայլերում և գործակալի զրույցի տառադարձություններում։ Ընդհանուր առմամբ Apiiro-ն հաշվել է 2,539 տարբեր իրական գաղտնիք 1,994 ռեպոզիտորիայում։ Տուժած դեպքերի շարքում են տվյալների բազայի մատակարարի ամպային API բանալին, արտադրական Azure Postgres գաղտնաբառը, Square-ի արտադրական տոկենը, OpenAI ձևաչափի API բանալին, npm տոկենը և բժշկական գրառումների տվյալների բազայի սեփականատիրոջ գաղտնաբառը։ Apiiro-ն նաև allowlist-ներում գտել է 43 SSH հավատարմագիր, այդ թվում՝ sshpass հրամաններում root գաղտնաբառեր։ Ընդհանուր սկաներները բաց են թողել գաղտնիքներից շատերը՝ gitleaks-ը նշել է 1,122 ֆայլից 564-ը, իսկ TruffleHog-ը՝ 643-ը, իսկ 215-ը ոչ մեկը չի նշել։ Շատերը հրամաններում գտնվող գաղտնաբառեր էին, ինչպես PGPASSWORD=, sshpass -p, mysql -p կամ bearer վերնագրեր։
Ինչ պետք է անեն օգտատերերը
Apiiro-ն խորհուրդ է տալիս մշակողներին git rm --cached .claude/settings.local.json հրամանով հանել ֆայլը հետևումից և, եթե այն հետևվում է, ավելացնել ռեպոզիտորիայի սեփական .gitignore-ում։ Նրանք պետք է փոխեն յուրաքանչյուր հավատարմագիր, որը ֆայլը երբևէ պահել է, քանի որ ջնջումը չի հեռացնում այն պատմությունից, fork-երից կամ clone-երից։ Նույնիսկ եթե ֆայլը երբեք commit չի եղել, օգտատերերը պետք է բացեն այն և ջնջեն գաղտնիք պարունակող յուրաքանչյուր կանոն։ Մշակողները պետք է գաղտնիքները հղեն որպես փոփոխականներ, ինչպես $DB_URL, այլ ոչ թե դրանք հրամաններում մուտքագրեն, և հաստատեն նմուշներ, ինչպիսիք են Bash(npm run:*), այլ ոչ թե բառացի հրամաններ։ Անվտանգության թիմերը պետք է գործակալի թղթապանակներն ու հիշողության ֆայլերը համարեն գաղտնիք պարունակող, ավելացնեն դրանք pre-commit և CI սկանավորմանը և առաջինը տեսակավորեն հանրային հոսթերի հետ զուգակցված հավատարմագրերը։
Աղբյուր: apiiro.com
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։