Asosiy matnga o‘tish
bitg
Yuklab olish

Kod imzosi siyosati

Kod imzosi — faylni kim chiqarganini va yuklab olingandan keyin o‘zgarmaganini Windows’ning o‘zi tekshira oladigan raqamli muhr. bitg uni SignPath Foundation’ning ochiq kodli loyihalar uchun bepul dasturi orqali oladi. Holat: hamma narsa tayyorlangan, ariza hali topshirilmagan — hozirgi relizlar imzosiz.

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation.

Yuqoridagi inglizcha qator — SignPath Foundation talab qiladigan rasmiy matn: imzo xizmatini SignPath.io beradi, sertifikat SignPath Foundation nomiga chiqarilgan. Imzo yoqilgach, Windows nashriyotchi sifatida SignPath Foundation ni ko‘rsatadi, dtwinuz’ni emas — dastur shunday ishlaydi.

Kod imzosi nima uchun kerak?

  • SmartScreen ogohlantirishi kamayadi. Imzosiz MSI ochilganda «Windows kompyuteringizni himoya qildi» oynasi chiqadi. Imzolangan faylda nashriyotchi nomi ko‘rinadi.
  • Fayl o‘zgarmagani tekshiriladi. Imzodan keyin bitta bayt o‘zgarsa ham imzo buziladi va Windows buni ko‘rsatadi.
  • Microsoft Store. Store MSI o‘rnatuvchini faqat ishonchli sertifikat bilan imzolangan bo‘lsa qabul qiladi.

Nima imzolanadi?

Faqat shu repodan GitHub Actions yig‘gan Windows reliz fayllari. Bitta so‘rov o‘rnatuvchini va uning ichidagi har bir dastur faylini qamraydi:

FaylVazifasi
bitg-<versiya>-x64.msio‘rnatuvchi (GitHub Release’dagi fayl)
bitg-settings.exetray va sozlamalar oynasi
bitg.exebuyruq qatori
bitg_tsf.dll (64 va 32 bit)klaviatura (Windows matn xizmati)

Linux .deb paketlari (apt omborining o‘z kaliti bor), macOS .pkg, Telegram bot va sayt bu sertifikat bilan imzolanmaydi. Begona dasturlarning fayllari ham imzolanmaydi.

Imzo qanday qo‘yiladi?

  1. Maintainer versiya tegini qo‘yadi. Tegni faqat ko‘rib chiqilgan pull request orqali main’ga tushgan kodga qo‘yish mumkin.
  2. GitHub’ning o‘z serverida (GitHub-hosted runner) MSI manba kodidan yig‘iladi.
  3. MSI SignPath’ga yuboriladi. SignPath fayl aynan shu ochiq repodan, GitHub Actions’da yig‘ilganini tekshiradi.
  4. Approver so‘rovni SignPath’da qo‘lda tasdiqlaydi — har relizda.
  5. SignPath MSI ichidagi exe va dll’larni, keyin MSI’ning o‘zini imzolaydi (SHA-256, vaqt tamg‘asi bilan).
  6. Imzolangan MSI’ga SLSA provenance va SBOM attestation yoziladi, tekshiriladi va shundan keyingina reliz chiqadi.

Jamoa rollari

RolKim
Committers (o‘zgarishni main’ga qo‘shadi)@XakimovNosirbek, @leverow
Reviewers (har pull request’ni ko‘rib chiqadi)yuqoridagi ikki maintainer va @wonmors
Approvers (har imzo so‘rovini tasdiqlaydi)@XakimovNosirbek, @leverow

Har o‘zgarish, jumladan yig‘ish skriptlari va CI sozlamalari, muallifidan boshqa odam tomonidan ko‘rib chiqiladi. Hamma hisoblarda ikki bosqichli kirish (2FA) yoqilgan. Batafsil: GOVERNANCE.md.

Dastur internetga nima yuboradi?

Klaviatura (bitg_tsf.dll) va buyruq qatori (bitg.exe) internetga umuman ulanmaydi: o‘girish kompyuteringizda bo‘ladi, yozgan matningiz saqlanmaydi va yuborilmaydi. Tray ilovasi (bitg-settings.exe) faqat quyidagi hollarda ulanadi:

QachonNima ketadiO‘chirish mumkinmi?
Yangilanish tekshiruvi: ishga tushgandan 30 soniya keyin, so‘ng kuniga bir martabitg.uz/update/stable.json faylini o‘qiydi. Server har so‘rovdagidek IP manzil va dastur versiyasini ko‘radi. Matn, sozlama yoki identifikator yo‘q.Ha: Sozlamalar → Qoidalar → Ilova → «Yangilanishlarni tekshirish»
Yangilanishni o‘rnatishfaqat siz tugmani bossangiz, MSI GitHub’dan yuklanadi va hajmi hamda SHA-256 xeshi tekshiriladiso‘ramasangiz hech narsa yuklanmaydi
«Xabar berish» shaklifaqat siz yuborsangiz: yozgan matningiz, ixtiyoriy aloqa va rasm, versiya, tasodifiy o‘rnatish raqami; «Texnik ma’lumot qo‘shish» yoqilgan bo‘lsa — Windows yig‘ilishi va kalitlar holati (oldindan ko‘rsatiladi)yubormasangiz hech narsa ketmaydi

Bundan boshqa hollarda SignPath shablonidagi so‘z bilan aytganda: dastur foydalanuvchi yoki uni o‘rnatgan va boshqarayotgan odam so‘ramaguncha boshqa tarmoq tizimlariga hech qanday ma’lumot yubormaydi. Sozlamalar oynasi Windows tarkibidagi Microsoft Edge WebView2’dan foydalanadi — uning ma’lumotlari Microsoft maxfiylik bayonoti bilan tartibga solinadi. Sayt va server jurnallari: Maxfiylik.

Imzoni qanday tekshirish mumkin?

Oddiy usul: MSI faylni o‘ng tugma bilan bosing → Xususiyatlar (Properties) → Raqamli imzolar (Digital Signatures). Imzo egasi SignPath Foundation bo‘lishi kerak.

PowerShell’da:

Get-AuthenticodeSignature .\bitg-*-x64.msi | Format-List Status, SignerCertificate, TimeStamperCertificate
signtool verify /pa /all /v .\bitg-*-x64.msi

Status qiymati Valid bo‘lishi kerak. O‘rnatilgan fayllarni ham tekshirish mumkin:

Get-ChildItem 'C:\Program Files\bitg' -Recurse -Include *.exe, *.dll | Get-AuthenticodeSignature | Format-Table Status, Path

Imzo bilan birga faylning GitHub Actions’da shu repodan yig‘ilganini alohida isbotlash ham mumkin (SECURITY.md):

gh attestation verify .\bitg-*-x64.msi -R dtwinuz/bitg

Muammo sezsangiz

SignPath Foundation sertifikati bilan imzolangan bitg fayli siyosatni buzayotganini sezsangiz, SECURITY.md orqali bizga va support@signpath.io ga yozing.

Yangilangan:

Manbalar

  1. SignPath Foundation shartlari (Code of conduct) — signpath.org/terms
  2. SignPath: GitHub Actions bilan imzolash
  3. SignPath: MSI ichidagi fayllarni imzolash (deep signing)
  4. bitg imzo siyosati (inglizcha) — docs/CODE_SIGNING.md
  5. Microsoft: Windows ilovalari uchun kod imzosi variantlari

Bog‘liq sahifalar