Baza znanja Ispod haube
Provjera izrade
Otvoreni izvor pomaže samo ako je kod koji koristite onaj koji je bio objavljeno. Nymchat je izgrađen deterministički tako da to možete sami provjeriti iznutra aplikacije ili sa terminala.
Ova stranica je strojno prevedena radi praktičnosti. Engleski original je verzija koja se primjenjuje.
Reproducibilne građe
Izgradnja aplikacije emituje a build-manifest.json koji sadrži izvorno urezivanje, a
SHA-256 hash svakog serviranog HTML, JavaScript i CSS sredstva, i jedan
bundleHash preko celog skupa sredstava.
Izlaz ovisi samo o izvornom sadržaju — čak je i zabilježeno vrijeme izrade
vremensku oznaku urezivanja, a ne trenutak kada je izgradnja pokrenuta — tako da svako ko ponovo gradi isto
commit dobija identične fajlove po bajtovima i iste bundleHash.
GitHub Akcija zatim ponovo gradi svaki urezivanje nezavisno i potpisuje poreklo izgradnje
potvrde za hash i manifest, tako da postoji potpisani zapis koji veže a
bundleHash na urezivanje u spremištu, proizvedeno nečim drugim osim
raspoređivanje.
Šta provjerava dijalog O
O u zaglavlju pokreće provjeru uživo, u vašem pretraživaču.
Ponovo dohvaća svaki materijal koji stranica zapravo radi, hešira ga sa Web Crypto API-jem i
poredi sa manifestom. Onda — i ovo je dio koji je bitan — to
ponovo izračunava bundleHash od heša to samo izračunato, ne iz
sve što manifest tvrdi, i traži to u potpisanim atestima spremišta
preko GitHub API-ja.
To je ono što sprečava implementaciju da jamči za sebe: posluživanje modificiranih datoteka zajedno s odgovarajući manifest i dalje ne uspijeva, jer ponovo izračunati hash nema atest.
| Status | Sredstva |
|---|---|
| ✓ Verificirana zvanična aplikacija (n/n) | Svako sredstvo se poklapa, ponovo izračunati hash paketa je potvrđen od strane spremišta, i stranica se poslužuje sa službenog domena. |
| ⚠ Provjerena verzija · nije zvanična aplikacija | Kod je originalan i atestiran, ali ovo je ogledalo na drugom domenu. Ogledalo ne može ukloniti ovo upozorenje bez neuspjeha provjere. |
| ✗ Neusklađenost | Imovina ne hashira ono što manifest kaže. |
| ✗ Nezvanična gradnja | Ponovo izračunati heš paketa nema potvrdu iz spremišta — manifest koji je sam napravio. |
| ⚠ Porijeklo nedostižno | GitHub API nije mogao biti dostupan, tako da se potvrda nije mogla provjeriti na bilo koji način. |
Provjeravate sami
Ponovo izgradite urezivanje imena dijaloga About i uporedite:
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>"
Odštampani heš treba da se podudara i sa onim u dijalogu About i sa onim u tom urezivanju build-provenance run sažetak. Potpis možete provjeriti i direktno sa GitHub CLI:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Kanarinac za poternicu
Nalog kanarinca je izjava, objavljena po fiksnom rasporedu, koju ima programer ne primili tajnu vladinu naredbu koju im je zabranjeno otkriti — a Pismo o nacionalnoj sigurnosti, naredba FISA-e. Programer može biti primoran da šuti o tome takav poredak, ali se ne može natjerati da laže, tako da je kanarinac ustajao ili nestao sam signal.
Živi u canary.json u korijenu spremišta i dohvaća se direktno
sa GitHub-a, tako da se njegova istorija može revidirati neovisno o tome šta raspoređena stranica kaže.
Dijalog O tome označava ga bojama:
| Boja | Sredstva |
|---|---|
| Zeleno — sve jasno | Potpisano, trenutno i potpis odgovara ključu programera. Tajna naredba nije primljena. |
| Žuta — kasni, ili nije sve jasno | Nije osvježen do navedenog datuma, niti do njegovog allClear zastava je lažna. Prešućena naredba se ne može isključiti. |
| Crveni — nevažeći potpis ili nestao | Potpis ne odgovara ključu programera ili je datoteka u potpunosti uklonjena. Tretirajte ovo kao ozbiljno upozorenje. |
Sidro svježine
Potpisani kanarinac ugrađuje najnoviju visinu Bitcoin bloka i heš u trenutku potpisivanja. Taj heš nije mogao biti poznat prije nego što je blok postojao, što dokazuje da je kanarinac bio potpisan poslije određenom trenutku, a ne unaprijed potpisanim na veliko mjesecima ranije. Dijalog About povezuje sidro sa istraživačem blokova tako da ga možete provjeriti.