Il meccanismo
Cosa sta tra un plugin e i tuoi file.
Quattro fasi distinte, ognuna delle quali può rifiutare: la revisione, la voce di catalogo, il download, e i permessi che concedi dopo.
01Una versione è immutabile una volta pubblicata
L’archivio è costruito in modo deterministico e il suo SHA-256 registrato. Una nuova sottomissione con byte diversi viene rifiutata invece che unita: qualsiasi modifica — anche una sola riga riformulata — deve diventare una nuova versione con la propria revisione.
02L’impronta viene ricontrollata sulla tua macchina
Dopo il download l’app ricalcola lo SHA-256 e lo confronta con il valore revisionato, e verifica che la dimensione corrisponda a quella registrata. Una differenza rifiuta l’installazione del tutto invece di avvisare.
03L’URL di download non può puntare altrove
Una voce di catalogo è accettata solo se il suo URL di download è https, su linelark.com, al percorso esatto di quel plugin e di quella versione, senza stringa di query né frammento. Un catalogo manomesso non può dirottare un’installazione verso un altro host.
04L’archivio stesso è vincolato
Nessun collegamento simbolico, nessun percorso che esca dal bundle, al massimo 1.000 voci, al massimo 20 MB decompressi e 50 MB compressi. Uno zip che tenti una di queste cose viene rifiutato prima che si scriva alcunché.
05Le capacità sono dichiarate, poi concesse a parte
Il manifesto chiede l’accesso in scrittura a git, host con un nome, e credenziali con un nome. Installare non concede nulla: attivi ogni voce in Gestisci plugin, e il pannello mostra esattamente cosa è stato chiesto.
06Cambiare ciò che un plugin chiede revoca il tuo consenso
I permessi sono legati a un’impronta delle capacità del manifesto. Un aggiornamento che aggiunge un host, o che sposta una credenziale in un’altra intestazione, deve richiedere da capo invece di ereditare il sì dato alla versione precedente.