უსაფრთხოება
Parla თქვენს მიკროფონთან მუშაობს, ამიტომ ისეა აწყობილი, რომ ბოროტად გამოყენება ძნელი იყოს. თქვენი ხმა მოწყობილობას არასდროს ტოვებს, გაფართოება რაც შეიძლება ნაკლებ ნებართვას ითხოვს, ხოლო ჩვენი გამოშვებული კოდის ყოველი ნაწილი, სანამ თქვენამდე მოაღწევს, ფიქსირდება, მოწმდება და იტესტება.
როცა Parla-ს იყენებთ
- თქვენი ხმა იწმინდება თქვენსავე მოწყობილობაზე, ბრაუზერის შიგნით. Parla-ს არ აქვს სერვერი, რომელიც ხმას იღებს, და არც ანგარიშები ან პაროლები, რომელთა მოპარვაც შეიძლებოდა.
- ძრავა ჩვენივე კოდია, დაწერილი Rust-ზე მესამე მხარის ბიბლიოთეკების გარეშე, და ბრაუზერის იზოლირებულ გარემოში (sandbox) WebAssembly-ის სახით მუშაობს. AI მოდელები მონაცემებია (რიცხვები) და არა პროგრამები: მოდელების ავტორების არც ერთი კოდი თქვენს კომპიუტერზე არ ეშვება.
- გაფართოება მხოლოდ იმას ითხოვს, რაც მიკროფონის გასაწმენდად სჭირდება: საკუთარი პარამეტრების შენახვას და იმ გვერდებზე მუშაობას, სადაც მიკროფონს იყენებთ. მისი საკუთარი გვერდები მხოლოდ საკუთარ სკრიპტებს უშვებს (მკაცრი Content Security Policy).
- ვებგვერდები გაფართოებას მხოლოდ ვიწრო არხით უკავშირდება: იღებს მხოლოდ ძრავის ფაილებს და სხვას არაფერს, ხოლო ყველაფერი, რასაც აგზავნის, მოწმდება და ზომით იზღუდება.
- ანგარიშები გამორთულია, სანამ თავად არ ჩართავთ. ისინი ანონიმურია და მათი ყველა ველი ჩვენს დოკუმენტაციაშია ჩამოთვლილი.
ჩვენი კოდიდან თქვენს ბრაუზერამდე
- ყველაფერი, რასაც აწყობა იყენებს, ზუსტ ვერსიაზეა დაფიქსირებული და თავისი ანაბეჭდით მოწმდება: GitHub actions — commit-ით, კონტეინერის იმიჯები — digest-ით, ჩამოტვირთვები — SHA-256-ით, npm და Python პაკეტები — lockfile-ით.
- 3 დღეზე ახალი ვერსია არ გამოიყენება. მავნე პაკეტების ვერსიების უმეტესობას რამდენიმე დღეში აღმოაჩენენ და შლიან, ამიტომ ჯერ მათ დაჭერას ვაცლით. ავტომატური განახლებები ერთ კვირას ელოდება და თითოეული, მიღებამდე, იწყობა და იტესტება.
- პაკეტებს ინსტალაციის სკრიპტების გაშვება არასდროს ეძლევათ, ხოლო npm რეესტრის ხელმოწერები ყოველ აწყობაზე მოწმდება.
- გამოშვებებს მხოლოდ ჩვენი ავტომატური პროცესი აწყობს, მთავარი შტოდან. მაღაზიებისა და npm-ის წვდომის მონაცემები დაცულ გარემოში ინახება, რომლის გამოყენებაც მხოლოდ გამოშვების ეტაპს შეუძლია, და აწყობა რეპოზიტორიის წვდომის ტოკენს არ ინახავს.
მოწმდება ყოველ ცვლილებაზე
- სტატიკური ანალიზი: CodeQL კითხულობს TypeScript-ს, Rust-ის ძრავასა და აწყობის workflow-ებს; zizmor workflow-ებს ამოწმებს.
- ვებსაიტის დინამიკური სკანირება (OWASP ZAP) ყოველ ცვლილებაზე და ყოველ კვირა.
- ცვლილება, რომელიც ცნობილი მოწყვლადობის მქონე პაკეტს ამატებს, იბლოკება, ხოლო Dependabot-ის გაფრთხილებები ყველა lockfile-ს უთვალთვალებს.
- საიდუმლოებების სკანირება push-ის დაცვით: GitHub უარყოფს ნებისმიერ commit-ს, რომელიც პაროლს ან გასაღებს შეიცავს.
- მკაცრად ტიპიზებული კოდი (TypeScript და Python) და ავტომატური ტესტები Chrome-სა და Firefox-ში ყოველი გამოშვების წინ.
პრობლემა იპოვეთ?
გთხოვთ, კონფიდენციალურად შეგვატყობინოთ: მოწყვლადობის შესახებ შეტყობინება GitHub-ზე. ასე მისი გასწორება საჯაროდ გამჟღავნებამდე მოხერხდება.
ამ გვერდზე დაწერილი ყველაფრის გადამოწმება შეიძლება: კოდი, აწყობის პროცესი და უსაფრთხოების შემოწმებები ღია კოდია. როგორ იწყობა და მოწმდება გამოშვებები