Tietopohja Konepellin alla
Rakenteen tarkistaminen
Avoin lähdekoodi auttaa vain, jos käyttämäsi koodi on sama kuin aiemmin julkaistu. Nymchat on rakennettu deterministisesti, joten voit tarkistaa sen itse, sisältä käsin sovelluksesta tai terminaalista.
Tämä sivu on käännetty koneella käyttömukavuuden vuoksi. Englanninkielinen alkuperäinen versio on voimassa.
Toistettavat rakennelmat
Sovelluksen rakentaminen lähettää a build-manifest.json joka sisältää lähdesitoumuksen, a
SHA-256 hash jokaisesta näytetystä HTML-, JavaScript- ja CSS-sisällöstä ja yksittäisestä
bundleHash koko omaisuussarjan yli.
Tulos riippuu vain lähdesisällöstä - jopa tallennettu rakennusaika on
commitin aikaleima sen sijaan, että rakennus suoritettiin – niin kuka tahansa rakentaa saman uudelleen
commit saa tavuidenttiset tiedostot ja saman bundleHash.
GitHub Action rakentaa sitten jokaisen sitoumuksen uudelleen itsenäisesti ja allekirjoittaa rakentamisen alkuperän
todistukset hashista ja manifestista, joten on allekirjoitettu sitova tietue a
bundleHash arkiston sitoumukseen, jonka on tuottanut jokin muu kuin
käyttöönottoa.
Mitä Tietoja-valintaikkuna tarkistaa
Noin otsikossa suorittaa tarkistuksen livenä selaimessasi.
Se hakee uudelleen jokaisen sivun todellisuudessa olevan resurssin, tiivistää sen Web Crypto API:lla ja
vertaa manifestiin. Sitten – ja tämä on se osa, jolla on merkitystä – se
laskee uudelleen bundleHash tiivisteistä se vain laskettu, ei siitä
kaikki mitä manifesti väittää, ja etsii sen arkiston allekirjoitetuista todistuksista
GitHub API:n kautta.
Tämä estää käyttöönottoa takaamasta itseään: muokattujen tiedostojen tarjoaminen yhdessä täsmäytysluettelo epäonnistuu edelleen, koska uudelleen lasketulla hashilla ei ole todistusta.
| Status | Keinot |
|---|---|
| ✓ Vahvistettu virallinen sovellus (n/n) | Jokainen omaisuus täsmää, arkisto varmentaa uudelleen lasketun nipun hajautusarvon, ja sivua tarjotaan viralliselta verkkotunnukselta. |
| ⚠ Vahvistettu rakenne · ei virallinen sovellus | Koodi on aito ja todistettu, mutta tämä on peili toisesta verkkotunnuksesta. Peili ei voi poistaa tätä varoitusta ilman epäonnistunutta vahvistusta. |
| ✗ Yhteensopimattomuus | Sisältö ei vastaa luettelon sisältöä. |
| ✗ Epävirallinen rakennelma | Uudelleen lasketulla nipun hashilla ei ole todistusta arkistosta – itse tehty manifesti. |
| ⚠ Lähde saavuttamaton | GitHub-sovellusliittymään ei saatu yhteyttä, joten todistusta ei voitu tarkistaa kummallakaan tavalla. |
Varmista itse
Muodosta vahvistuksen Tietoja-valintaikkunan nimet uudelleen ja vertaa:
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>"
Tulostetun tiivisteen tulee vastata sekä Tietoja-valintaikkunassa olevaa tiivistettä että kyseisessä sitoumuksessa olevaa build-provenance-ajon yhteenveto. Voit myös tarkistaa allekirjoituksen suoraan GitHub CLI:llä:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Android- ja iOS-sovellukset
Yllä oleva tarkistus on verkkosovellusten tarkistus, ja syy on mainittava selvästi: natiivisovellus ei voi tehdä samaa itselleen. Se, mikä puhelimessasi toimii, on käännetty konekoodi, ei lähde arkistossa, eikä mikään, jonka sovellus voi laskea laitteessa, liity siihen muu.
Android voi tehdä seuraavan parhaan asian. Asennettu .apk on tiedosto, jota sovellus voi lukea
ja hash, ja jokaisen julkaistun julkaisun hash on jo julkinen: julkaisu osoitteeseen
Zapstore
allekirjoittaa Nostr-tapahtuman, jossa on APK:n SHA-256 ja sen allekirjoitusvarmenteen SHA-256. Joten
Android Noin dialogi tiivistää APK:n, josta se on käynnissä, ja hakee allekirjoitetut
tapahtumat, säilyttää vain ne, jotka on allekirjoitettu kehittäjän avaimella, ja vertaa. Se näyttää kaksi
myös tiivisteet, jotta voit toistaa tarkistuksen laitteelta: lataa julkaistu APK, suorita
sha256sum ja katso itse samaa tapahtumaa.
Google Playsta asennettua sovellusta ei voi tarkistaa tällä tavalla, ja se ei ole merkki siitä, että mikään on väärin. Google allekirjoittaa jokaisen latauksen omalla avaimellaan ja rakentaa erillisen APK: n jokaiselle laitteelle, joten se, mikä laskeutuu puhelimeesi, ei ole kehittäjän tuottama tiedosto ja sen hash ei vastaa mitään, joka voitaisiin julkaista. Sovellus tunnistaa Play-asennuksen ja sanoo niin sen sijaan, että raportoisi epäonnistumisesta.
iOS:ää ei voi tarkistaa ollenkaan. Apple salaa ja allekirjoittaa uudelleen jokaisen latauksen erikseen, joten iPhonessasi laskettu hajautusarvo on ainutlaatuinen iPhonellesi eikä vastaa mitään julkaistu missä tahansa. Tietoja-valintaikkuna sanoo tämän suoraan sen sijaan, että se olisi vakuuttava tila, joka ei tarkoita mitään. Jos haluat Nymchatin, jonka voit vahvistaa Apple-laitteistolla, käytä verkkoa sovellus, joka tarkistaa jokaisen käynnissä olevan tiedoston.
Sovelluksen itse suorittama tarkistus ei voi todistaa, että sovellus on rehellinen – kuka tahansa on muokannut sitä voisi myös poistaa shekin. Se, mitä se todistaa, on tavallinen tapaus: se, että kopioit sinut asennettu on julkaistu kopio. Se on sen arvoista, koska se arvostaa sitä vertailut ovat julkisia, joten joku muu kuin sinä voi tarkistaa ne ja olla eri mieltä.
Takuukanaria
Warrant Canary on kiinteässä aikataulussa julkaistu lausunto, joka kehittäjällä on ei saivat salaisen hallituksen määräyksen, jota he eivät saa paljastaa - a National Security Letter, FISA:n määräys. Kehittäjä voidaan pakottaa olemaan hiljaa tällainen järjestys, mutta sitä ei voi pakottaa valehtelemaan, joten kanarialintu vanhenee tai katoaa itse signaali.
Se asuu sisällä canary.json arkiston juuressa ja se haetaan suoraan
GitHubista, joten sen historia on tarkastettavissa riippumatta siitä, mitä käyttöön otettu sivusto sanoo.
Tietoja-valintaikkuna värikoodaa sen:
| Väri | Keinot |
|---|---|
| Vihreä - kaikki selvä | Allekirjoitettu, nykyinen ja allekirjoitus vastaavat kehittäjän avainta. Mitään salaista tilausta ei ole saatu. |
| Keltainen — myöhässä tai kaikki ei ole selvää | Sitä ei päivitetty ilmoitettuun päivämäärään mennessä allClear lippu on väärä. Hiljaista tilausta ei voida sulkea pois. |
| Punainen - virheellinen allekirjoitus tai poissa | Allekirjoitus ei vastaa kehittäjän avainta tai tiedosto on poistettu kokonaan. Käsittele tätä vakavana varoituksena. |
Tuoreuden ankkuri
Allekirjoitettu kanaria sisältää uusimman Bitcoin-lohkon korkeuden ja tiivisteen allekirjoitushetkellä. Tämä hash ei voinut olla tiedossa ennen lohkon olemassaoloa, mikä todistaa, että kanaria oli allekirjoitettu jälkeen tiettynä ajankohtana sen sijaan, että se olisi allekirjoitettu useammin kuukausia aikaisemmin. Tietoja-valintaikkuna linkittää ankkurin lohkotutkimukseen, jotta voit tarkistaa sen.