FixVibe
Covered by FixVibehigh

API გასაღების გაჟონვა: რისკები და გამოსწორება თანამედროვე ვებ აპებში

ხისტი კოდირებული საიდუმლოებები წინა კოდში ან საცავის ისტორიაში თავდამსხმელებს საშუალებას აძლევს მიიღონ სერვისები, წვდომა მიიღონ პირად მონაცემებზე და გაიღონ ხარჯები. ეს სტატია მოიცავს საიდუმლო გაჟონვის რისკებს და გაწმენდისა და პროფილაქტიკისთვის საჭირო ნაბიჯებს.

CWE-798

გავლენა

საიდუმლოების გაჟონვამ, როგორიცაა API გასაღებები, ჟეტონები ან რწმუნებათა სიგელები, შეიძლება გამოიწვიოს სენსიტიურ მონაცემებზე არასანქცირებული წვდომა, სერვისის მსგავსება და მნიშვნელოვანი ფინანსური ზარალი რესურსების ბოროტად გამოყენების გამო [S1]. მას შემდეგ, რაც საიდუმლო მოწოდებულია საჯარო საცავში ან შეფუთულია ფრონტენტ აპლიკაციაში, ის უნდა ჩაითვალოს კომპრომეტირებულად [S1].

ძირეული მიზეზი

ძირეული მიზეზი არის სენსიტიური სერთიფიკატების ჩართვა უშუალოდ წყაროს კოდში ან კონფიგურაციის ფაილებში, რომლებიც შემდგომში ერთგულია ვერსიის კონტროლისთვის ან ემსახურება კლიენტს [S1]. დეველოპერები ხშირად ამუშავებენ მოხერხებულობისთვის მყარი კოდის კლავიშებს ან შემთხვევით ათავსებენ .env ფაილებს თავიანთ კომისიაში [S1].

ბეტონის შესწორებები

  • გადაატრიალეთ კომპრომეტირებული საიდუმლოებები: თუ საიდუმლო გაჟონა, ის დაუყოვნებლივ უნდა გაუქმდეს და შეიცვალოს. უბრალოდ საიდუმლოს ამოღება კოდის მიმდინარე ვერსიიდან არასაკმარისია, რადგან ის რჩება ვერსიის მართვის ისტორიაში [S1][S2].
  • გამოიყენეთ გარემოს ცვლადები: შეინახეთ საიდუმლოებები გარემოს ცვლადებში, ვიდრე მათი მყარი კოდირება. დარწმუნდით, რომ .env ფაილები დაემატა .gitignore შემთხვევითი ჩადენების თავიდან ასაცილებლად [S1].
  • საიდუმლო მენეჯმენტის დანერგვა: გამოიყენეთ საიდუმლო მართვის სპეციალური ხელსაწყოები ან სარდაფის სერვისები აპლიკაციის გარემოში რწმუნებათა სიგელების შესატანად მუშაობის დროს [S1].
  • საცავის ისტორიის გასუფთავება: თუ საიდუმლო იყო ჩადენილი Git-ისთვის, გამოიყენეთ ინსტრუმენტები, როგორიცაა git-filter-repo ან BFG Repo-Cleaner, რათა სამუდამოდ წაშალოთ მგრძნობიარე მონაცემები საცავის ისტორიაში ყველა ფილიალიდან და ტეგიდან [S2].

როგორ ამოწმებს მას FixVibe

FixVibe ახლა მას მოიცავს პირდაპირ სკანირებაში. პასიური secrets.js-bundle-sweep ჩამოტვირთავს იმავე წარმოშობის JavaScript პაკეტებს და ემთხვევა ცნობილ API კლავიშს, ჟეტონს და რწმუნებათა სიგელებს ენტროპიისა და ჩანაცვლების ჭიშკრით. დაკავშირებული პირდაპირი შემოწმებები ამოწმებს ბრაუზერის მეხსიერებას, წყაროს რუქებს, auth და BaaS კლიენტების პაკეტებს და GitHub რეპო წყაროს ნიმუშებს. Git ისტორიის გადაწერა რჩება გამოსწორების საფეხურად; FixVibe-ის პირდაპირი გაშუქება ფოკუსირებულია გაგზავნილ აქტივებში არსებულ საიდუმლოებებზე, ბრაუზერის საცავში და რეპოს მიმდინარე შინაარსზე.