უკან დაბრუნება

Claude Code-ის პარამეტრების ფაილი საიდუმლოებებს ამჟღავნებს GitHub-ის 1 122 საჯარო ასლში
SiTech AI Team3 წთ. საკითხავი

Claude Code-ის პარამეტრების ფაილი საიდუმლოებებს ამჟღავნებს GitHub-ის 1 122 საჯარო ასლში

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-ის ნებართვების დოკუმენტაციის მიხედვით, ნაგულისხმევად ის უმეტესი shell-ბრძანების გაშვებამდე ნებართვას ითხოვს. როცა მომხმარებელი ბრძანებას ამტკიცებს და ირჩევს, რომ მეორედ აღარ ჰკითხონ, Claude Code პროექტის შიგნით .claude/settings.local.json-ში ნებართვის წესს ინახავს. შემდგომი შესაბამისი ბრძანებები კითხვის გარეშე სრულდება. წესი შეიძლება მოიცავდეს როგორც შაბლონს, მაგალითად npm test *, ისე ზუსტად ერთ ბრძანებას. თუ ზუსტი ბრძანება პაროლს ან ტოკენს შეიცავს, საიდუმლოც ინახება, ღია ტექსტად. Apiiro-მ ეს ქცევა Opus 5.5-ისა და Fable 5.1-ის გამოყენებით გაამეორა.

Claude Code ცდილობს, ფაილი git-ის გარეთ დატოვოს. პარამეტრების დოკუმენტაციაში ნათქვამია, რომ git-ის რეპოზიტორიაში ფაილის პირველად ჩაწერისას ის მას მომხმარებლის გლობალურ git-გამორიცხვებში ამატებს. ეს დაცვა ერთი მომხმარებლის git-პარამეტრებში, ერთ კომპიუტერზე რჩება და უკვე დაკომიტებულ ფაილს არ ეხმარება, აღნიშნა Apiiro-მ. Claude Code ფაილს პროექტის საკუთარ .gitignore-ში არასდროს ამატებს, ამიტომ დაცვა პროექტთან ერთად არ გადადის.

რა აღმოაჩინა Apiiro-მ

Apiiro-ს ძებნამ GitHub-ის 103 617 საჯარო რეპოზიტორიაში ფაილის 104 185 ასლი იპოვა. დაახლოებით 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

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.