Агуулга руу алгасах
Nymchat руу буцах

Мэдлэгийн бааз Бүрээсний доор

Барилга байгууламжийг шалгаж байна

Нээлттэй эх сурвалж нь таны ажиллуулж буй код өмнө нь байсан код байвал л тусална хэвлэгдсэн. Nymchat нь шийдэмгий байдлаар бүтээгдсэн тул та өөрөө үүнийг дотроос нь шалгах боломжтой програм эсвэл терминалаас.

Дахин давтагдах боломжтой бүтээц

Аппликейшнийг бүтээх нь ялгаруулдаг build-manifest.json эх сурвалжийг агуулсан, a Үйлчлүүлсэн HTML, JavaScript болон CSS өмч бүрийн SHA-256 хэш ба дан bundleHash нийт хөрөнгийн багц дээр.

Гаралт нь зөвхөн эх сурвалжийн агуулгаас шалтгаална - бүр бичигдсэн бүтээх хугацаа хүртэл Барилга хийгдсэн мөчөөс илүүтэйгээр commit-ийн цагийн тэмдэг - тиймээс хэн ч үүнийг дахин бүтээдэг commit нь байт хэмжээтэй ижил файлуудыг авдаг bundleHash.

Дараа нь GitHub-ийн үйлдэл нь үүрэг тус бүрийг бие даан дахин бүтээж, баталгаажилтыг баталгаажуулдаг хэш болон манифестийн баталгаажуулалт, тиймээс гарын үсэг зурсан бичлэг уясан байна a bundleHash -аас өөр зүйлээр үүсгэгдсэн репозитор дахь амлалт руу байршуулалт.

About харилцах цонх юуг шалгадаг

тухай Толгой хэсэгт таны хөтөч дээр шалгалтыг шууд явуулдаг.

Nymchat About харилцах цонх нь хувилбарыг харуулж, бүрэн бүтэн байдлыг бий болгож, канарын статусыг баталгаажуулдаг.
Тухай харилцах цонх: хувилбар, бүрэн бүтэн байдал, баталгаат канар болон хөгжүүлэгч рүү шууд холбогдох.

Энэ нь тухайн хуудасны ажиллаж байгаа хөрөнгө бүрийг дахин татаж, Web Crypto API ашиглан хэш болгож, манифесттэй харьцуулна. Дараа нь энэ бол чухал хэсэг юм -ийг дахин тооцдог bundleHash хэшээс тэр -аас биш зүгээр л тооцоолсон Манифестийн мэдүүлсэн бүх зүйлийг хадгалах газрын гарын үсэгтэй гэрчлэлээс харна GitHub API-ээр дамжуулан.

Энэ нь байршуулалтыг өөрөө баталгаажуулахыг зогсоодог зүйл юм: өөрчилсөн файлуудтай хамт үйлчлэх Дахин тооцоолсон хэш нь баталгаажуулалтгүй тул тохирох манифест амжилтгүй болсон хэвээр байна.

Статусгэсэн үг
&шалгах; Баталгаажсан албан ёсны програм (n/n)Хөрөнгө бүр таарч, дахин тооцоолсон багцын хэшийг репозитороор баталгаажуулна. болон хуудас нь албан ёсны домэйноос үйлчилдэг.
⚠ Баталгаажсан бүтээц · албан ёсны програм бишКод нь жинхэнэ бөгөөд баталгаажсан боловч энэ нь өөр домэйн дээрх толь юм. Толин тусгал нь баталгаажуулалт хийхгүйгээр энэ анхааруулгыг арилгах боломжгүй.
✗ ТохиромжгүйӨмч нь манифестэд бичсэн зүйлтэй таарахгүй.
✗ Албан бус бүтээн байгуулалтДахин тооцоолсон багцын хэш нь репозитороос ямар ч баталгаагүй бөгөөд энэ нь өөрөө хийсэн манифест юм.
⚠ Гарал үүслийн хувьд боломжгүйGitHub API-д холбогдож чадаагүй тул баталгаажуулалтыг аль ч аргаар шалгах боломжгүй.

Үүнийг өөрөө баталгаажуулж байна

About харилцах цонхны нэрийг дахин бүтээж, харьцуулна уу:

git clone https://github.com/Spl0itable/NYM
cd NYM
git checkout <commit shown in the About dialog>
npm ci
npm run build   # prints "Build hash: <bundleHash>"

Хэвлэсэн хэш нь Тухай харилцах цонхон дээрх болон тухайн амлалтанд байгаа хэштэй тохирч байх ёстой бүтээн байгуулалт-шинжилгээний ажлын хураангуй. Та гарын үсгээ GitHub CLI-ээр шууд шалгаж болно:

gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM

Android болон iOS програмууд

Дээрх шалгалт нь вэб програмын шалгалт бөгөөд шалтгааныг тодорхой хэлэх нь зүйтэй: уугуул програм өөртөө ижил зүйлийг хийж чадахгүй. Таны утсан дээр ажилладаг зүйл бол компьютерийн код биш харин эмхэтгэсэн машины код юм репозитор дахь эх сурвалж бөгөөд төхөөрөмж дээр програмын тооцоолж чадах зүйл юу ч хамаагүй бусад.

Андройд дараагийн хамгийн сайн зүйлийг хийж чадна. Суулгасан .apk нь програмын унших боломжтой файл юм болон хэш, нийтэлсэн хувилбар бүрийн хэш нь аль хэдийн нийтэд нээлттэй байна: нийтлэх Zapstore APK-ийн SHA-256 болон гарын үсэг зурах гэрчилгээний SHA-256-г агуулсан Nostr арга хэмжээнд гарын үсэг зурав. Тиймээс Android тухай харилцах цонх нь ажиллаж байгаа APK-г хэш болгож, гарын үсэг зурсан хүмүүсийг татаж авдаг үйл явдал, зөвхөн хөгжүүлэгчийн түлхүүрээр гарын үсэг зурсан зүйлсийг хадгалж, харьцуулна. Энэ хоёрыг харуулж байна хэшүүд мөн тул та төхөөрөмжийг унтрааж шалгахыг давтаж болно: нийтлэгдсэн APK-г татаж аваад ажиллуул sha256sum үүн дээр, мөн ижил үйл явдлыг өөрөө хараарай.

Google Play-с суулгасан програмыг ингэж шалгах боломжгүй, болон энэ нь ямар ч ач холбогдол биш юм. Google өөрсдийн хавтгайтай тусгай APK-ийг өөрчилж, таны гар утасны хувьд тусгай APK-ийг бий болгодог. Энэ нь хөгжүүлэгч үйлдвэрлэсэн файл биш бөгөөд түүний хашиг хэвлэх боломжтой ямар ч зүйлийг харьцуулах болно. Програм хангамж Play-ийг суулгахыг мэддэг бөгөөд энэ нь хэзээ ч хэлдэг. Барилгын шалгахын тулд шууд хэвлэгдсэн APK-ийг суулгах.

iOS-ийг огт шалгах боломжгүй. Apple татаж авах бүрийг шифрлэж, дахин гарын үсэг зурдаг тус тусад нь, тиймээс таны iPhone дээр тооцоолсон хэш нь таны iPhone-д өвөрмөц бөгөөд юу ч тохирохгүй хаана ч нийтэлсэн. Тухай харилцах цонх нь тайвшруулах гэхээсээ илүүтэйгээр үүнийг шууд хэлдэг Энэ нь юу ч биш гэсэн статус. Хэрэв та Nymchat авахыг хүсвэл Apple-ийн техник хангамж дээр шалгах боломжтой, вэб ашиглана уу програм нь ажиллаж байгаа файл бүрийг шалгадаг.

Эдгээрийн аль нь ч юуг нотлохгүй байна

Аппликешн өөрөө ажиллаж байгаа шалгалт нь програмыг өөрчилсөн хүн шударга гэдгийг баталж чадахгүй чекийг устгаж болно. Энэ нь ердийн тохиолдол гэдгийг нотолж байна: таныг хуулдаг суулгасан нь хэвлэгдсэн хуулбар юм. Энэ нь үнэ цэнэтэй учраас үнэ цэнэтэй юм харьцуулалт нь олон нийтэд нээлттэй тул танаас өөр хэн нэгэн шалгаж, санал нийлэхгүй байж болно.

Баталгаат канар

Баталгаат канар бол хөгжүүлэгчийн тогтоосон хуваарийн дагуу хэвлэгдсэн мэдэгдэл юм үгүй засгийн газрын нууц тушаалыг хүлээн авсан, тэдэнд задруулахыг хориглосон - a Үндэсний аюулгүй байдлын захидал, FISA тушаал. Хөгжүүлэгч энэ талаар чимээгүй байхыг албадаж болно Ийм захиалга, гэхдээ худал хэлэхийг албадах боломжгүй тул канар хуучирч, алга болж байна. өөрөө дохио.

Энэ нь амьдардаг canary.json репозиторын үндэс дээр байдаг бөгөөд шууд татагддаг GitHub-аас авсан тул түүний түүхийг байршуулсан сайт юу хэлснээс үл хамааран аудит хийх боломжтой. Тухай харилцах цонх нь үүнийг өнгөөр ​​кодлодог:

Өнгөгэсэн үг
Ногоон - бүгд ойлгомжтойГарын үсэг зурсан, одоогийн болон гарын үсэг нь хөгжүүлэгчийн түлхүүртэй таарч байна. Ямар ч нууц захиалга ирээгүй.
Шар - хугацаа хэтэрсэн, эсвэл бүгд тодорхойгүй байнаЭнэ нь заасан огноо, эсвэл түүний хувьд шинэчлэгдээгүй байна allClear туг худлаа. Дуугүй захиалга өгөхийг үгүйсгэх аргагүй.
Улаан - хүчингүй гарын үсэг, эсвэл алга болсонГарын үсэг нь хөгжүүлэгчийн түлхүүртэй таарахгүй байна, эсвэл файлыг бүхэлд нь устгасан. Үүнийг ноцтой анхааруулга гэж хүлээн зөвшөөр.

Шинэлэг байдлын зангуу

Гарын үсэг зурсан канар нь гарын үсэг зурах мөчид хамгийн сүүлийн үеийн Bitcoin блокийн өндөр болон хэшийг оруулсан болно. Энэ хэш нь блок оршин тогтнохоос өмнө мэдэгдэх боломжгүй байсан нь канар байсныг нотолж байна гарын үсэг зурсан дараа сарын өмнө бөөнөөр нь урьдчилан гарын үсэг зурснаас илүү тодорхой цаг хугацаа. Тухай харилцах цонх нь зангууг блок судлаачтай холбосноор та үүнийг шалгах боломжтой.