Controversia sul caricamento di ZCode: la versione riparata è qui, i vecchi account devono ancora essere controllati

📅 2026-09-20

Riassunto:

ZCode, lo strumento di programmazione AI di Zhipu, è stato messo in discussione per il confezionamento in background e il caricamento dei progetti degli utenti.

Gli sviluppatori hanno scoperto che non solo veniva impacchettato il codice corrente, ma anche la cronologia Git che salvava le modifiche precedenti. Il 18 settembre lo sviluppatore ferstar ha reso pubblici i risultati della sua risoluzione del problema: ZCode ha generato una copia del progetto su questa macchina e ha tentato ripetutamente di caricarla. Successivamente, anche altri utenti hanno fornito i record delle revisioni. Alcuni hanno scoperto che la copia del progetto era stata accettata dal server e altri si sono chiesti se il cambio dell'indice di magazzino potesse impedirne il caricamento. Gli utenti si sono quindi chiesti: perché il software raccoglie questo contenuto e come impedirne il caricamento?

ZCode si è scusato quel giorno e ha attribuito il problema alle funzioni relative all'"indice della base del codice" che erano attivate per impostazione predefinita nei primi giorni. La società ha affermato che Repo Wiki potrebbe attivare il caricamento dei dati durante la generazione di un'enciclopedia di magazzino nel cloud e che i dati rilevanti verranno distrutti immediatamente dopo la generazione. Ha inoltre promesso di rendere open source il client e di introdurre la revisione di terze parti.


Il 19 settembre, ZCode ha rilasciato la versione 3.14.0 e il registro degli aggiornamenti affermava: "Risolto il problema del caricamento anomalo dell'enciclopedia del magazzino." Ferstar ha inoltre integrato i risultati della revisione, affermando che il relativo codice di caricamento è stato rimosso nella nuova versione.

Una volta reso open source, gli esterni possono verificare il motivo per cui il software è stato caricato e quali modifiche sono state apportate questa volta. Tuttavia, l'azienda deve comunque fornire i record di ricezione ed elaborazione di quali file il server ha ricevuto in precedenza e se sono stati eliminati come promesso.

Se la revisione di terze parti prende in considerazione solo il cliente, non sarà in grado di rispondere alle domande degli utenti su questo batch di dati storici.

1. Pulisci il disco e trova una copia del progetto

ferstar inizialmente non controllava il comportamento di caricamento. Mentre stava ripulendo il disco del suo computer, ha scoperto che la directory dei dati di ZCode occupava molto spazio e, dopo aver scavato, ha trovato un file crittografato da 313 MB. Si tratta di un'istantanea generata dal software per il progetto, che equivale a comprimere un batch di file di progetto in una copia.

L'elenco salvato con l'istantanea elenca 42411 file. Calcolati in base al volume dei file, circa l'86,6% di essi proviene dalla directory .git che salva i record delle versioni, inclusi oggetti storici Git, registri delle operazioni e cache di file di grandi dimensioni LFS.

Dove verranno inviati questi documenti? ferstar ha continuato a controllare il codice client e ha trovato un processo di caricamento: il software ha prima richiesto un certificato di caricamento al server ZCode, quindi ha impacchettato e crittografato il file, ha inviato il file al servizio di archiviazione cloud OSS di Alibaba Cloud e infine il cloud ha notificato al server ZCode di registrarsi e ricevere il risultato.

Tuttavia, è stato tentato di caricare il file da 313 MB 564 volte, ma ogni volta non è riuscito ed è rimasto sul computer locale in attesa di un nuovo tentativo.

Ferstar lo ha chiarito specificamente nell'aggiornamento del 19 settembre e ha anche aggiunto: Nell'altra sua piccola istantanea del magazzino pubblico, lo stato ha mostrato che il server l'ha accettato.

Lo sviluppatore Vonng lo ha poi esaminato sulla versione macOS di ZCode 3.12.3. Ha trovato un'istantanea del normale spazio di lavoro che non conteneva .git e il record mostrava che era stato accettato dal server; negli altri due snapshot, .git rappresentava il 93,9% e il 98,5% del volume totale dei file. Il cliente aveva ottenuto le credenziali di caricamento, ma i registri pubblici non potevano confermare se avevano completato il caricamento.

ZCode ha anche ricevuto segnalazioni pertinenti nell'area feedback su GitHub. Chi ha inviato il numero 707 ha affermato di aver trovato un elenco di istantanee accettate dal server, che conteneva più di duemila percorsi .git. Ha anche riflettuto che l'istantanea verrà fornita con configurazioni globali come informazioni di connessione, script di esecuzione automatica e file di comandi impostati dall'utente per lo strumento AI. Il suo giudizio si basa sui registri locali e non ci sono risultati di audit lato server da verificare.

2. Potrebbe anche essere seguito il codice cancellato

La cronologia Git ricorrente in questi elenchi è ciò che preoccupa gli utenti.

Git consente agli sviluppatori di recuperare vecchie versioni del codice, il che significa anche che i contenuti eliminati oggi potrebbero non essere scomparsi dal magazzino.

Chiavi, file di configurazione o indirizzi interni che sono stati inviati per errore potrebbero essere conservati negli oggetti storici.

La documentazione sulla sicurezza di GitHub ricorda inoltre che solo l'eliminazione delle informazioni sensibili nell'ultima versione del codice non cancellerà la copia nella cronologia di Git.

Potrebbero esserci ancora invii locali che non sono stati ancora inseriti in Git. Il record di invio contiene l'indirizzo e-mail dell'autore e la cache di file di grandi dimensioni potrebbe conservare materiali che sono stati utilizzati in precedenza nel progetto. ZCode deve spiegare perché è necessario caricare questo contenuto per aiutare gli utenti a completare l'attività da svolgere.

Gli esempi sopra riportati non possono dimostrare che la vera chiave sia stata trapelata.

Coloro che hanno aperto il magazzino interno in ZCode devono sapere quali versioni e periodi di tempo sono stati interessati in modo da poter tornare indietro e verificare il contenuto storico che potrebbe essere stato confezionato.

La politica sulla privacy di ZCode afferma che, al fine di fornire la generazione di contenuti e operazioni assistite dall'intelligenza artificiale, verranno raccolti file e codici "inviati e specificati" dagli utenti nelle conversazioni. Tuttavia, quando il software impacchetta la cronologia Git in background, la descrizione del prodotto esistente non chiarisce se l'utente lo sa e è d'accordo.

Anche se il file è crittografato, gli utenti hanno motivi per chiedere: prima di caricarlo, spiegare chiaramente cosa verrà caricato e poi lasciare che siano loro a decidere se essere d'accordo.

Per quanto riguarda l'utilizzo dei file per l'addestramento dei modelli, la stessa politica afferma che il "Piano di ottimizzazione" è disattivato per impostazione predefinita e che l'input, il contenuto generato o i dati sull'utilizzo del prodotto non verranno utilizzati per l'addestramento e l'ottimizzazione del prodotto e del modello finché gli utenti non si uniscono attivamente.

I materiali pubblici esistenti non mostrano che questi dati di magazzino siano entrati nel processo di formazione.

Ma per le aziende, promettere semplicemente di non utilizzare il codice per la formazione non è sufficiente per rispondere a questa sfida. Anche l'archiviazione, l'accesso e la distruzione dei file dopo il loro caricamento richiedono registrazioni di elaborazione che possono essere verificate dagli utenti.

3. Chiudi l'indicizzazione, puoi disattivare il caricamento

Se l'utente non vuole che queste istantanee di sfondo lascino il computer, non è sufficiente sapere che il "Piano di ottimizzazione" è disattivato per impostazione predefinita. Hanno anche bisogno di un'opzione per controllare il caricamento.

Secondo l'introduzione di ZCode, il comportamento di caricamento è correlato all'"indice della base del codice". Questa funzionalità viene utilizzata per generare localmente indici di warehouse e supporta il ripristino del checkpoint della sessione, il rollback della versione storica e Repo Wiki. I primi due elementi aiutano gli utenti a ripristinare lo stato del progetto, mentre Warehouse Encyclopedia è responsabile dell'analisi della struttura del progetto e della generazione della documentazione.

A giudicare dal processo di ripristino dello sviluppatore, ZCode originariamente aveva una funzione di caricamento del magazzino. La descrizione del 18 settembre attribuiva il problema a funzioni correlate che erano state attivate per impostazione predefinita nella fase iniziale, ma non specificava se questa correzione modificasse le condizioni di caricamento, l'intervallo di raccolta dei file o la logica di controllo delle impostazioni degli interruttori. Non è chiaro quali dati siano necessari per diverse funzioni: quali file vengono utilizzati solo per il ripristino locale e quali vengono trasferiti nel cloud. Perché la cronologia Git, la cache di file di grandi dimensioni e la configurazione globale vengono riflesse dagli utenti?

ferstar ha detto che nella versione 3.12.3 da lui controllata, dopo aver disattivato "Ottimizza esperienza" e "Indice istantanee magazzino", lo sfondo verrà comunque impacchettato e proverà a caricarsi.

L'utente che ha inviato il numero 707 ha affermato che dopo aver chiuso l'indice delle istantanee del magazzino, ha trovato un record del server che accettava le istantanee sul suo computer locale. È necessario verificare se il caricamento avviene prima o dopo lo spegnimento.

Se questa opzione controlla l'indicizzazione locale o il caricamento nel cloud richiede la spiegazione di ZCode.

Gli sviluppatori della community hanno inoltre imposto restrizioni al client. Il progetto zcode-webui aggiunge quattro livelli di protezione durante il runtime ufficiale, che rispettivamente intercettano l'applicazione delle credenziali snapshot, caricano, leggono e salvano localmente. Queste intercettazioni servono a impedire ulteriori caricamenti. Ciò che è stato trasmesso in passato e ciò che ha fatto il server deve ancora essere studiato separatamente.

Quando ferstar ha esaminato la versione 3.14.0, ha affermato che il codice e i componenti in background responsabili del caricamento erano stati rimossi e che i checkpoint locali erano ancora mantenuti; anche l'interfaccia per la richiesta delle credenziali di caricamento ha restituito 404.

Ha controllato la versione e l'interfaccia di cui sopra. Se anche altre piattaforme siano state riparate, se i vecchi client possano continuare a caricare e quando la riparazione sul server avrà effetto, è ancora necessario una spiegazione ufficiale.

4. Cos'altro è necessario indagare dopo la riparazione

Dopo l'avvio della versione di riparazione, ciò che gli utenti desiderano maggiormente verificare è se i loro progetti sono stati trasferiti. L'informativa sulla privacy di ZCode ha fornito un indirizzo email per interrogare ed eliminare informazioni personali. Ci auguriamo che l'azienda chiarisca se questo canale può gestire le richieste relative a questo caricamento anomalo, in modo che gli utenti possano scoprire gli articoli specifici interessati. Dovrebbero essere indicate anche le versioni e i periodi di tempo interessati.

L'azienda ha dichiarato che i dati caricati verranno distrutti immediatamente dopo la generazione del Wiki. Ma cosa succede al file se la compilazione fallisce, viene annullata o va in timeout? Se i file caricati sono stati decrittografati, chi vi ha avuto accesso e se l'eliminazione coprirà gli snapshot e i backup del cloud necessitano di ulteriori spiegazioni. Si spera che l'azienda possa fornire record di elaborazione specifici agli utenti interessati in modo che gli utenti possano verificare se i loro file sono stati eliminati come promesso.

Al 20 settembre, circa due giorni dopo che ZCode aveva promesso di essere open source, il codice sorgente del client non è stato ancora trovato nel magazzino pubblico di Z.ai.

Quando in futuro sarà open source, il mondo esterno dovrà vedere la versione in questione o i corrispondenti record di modifica.

Solo guardando il codice riparato, non è chiaro il motivo per cui il caricamento è stato attivato prima e quali file sono stati raccolti.

ZCode promette inoltre di introdurre la revisione da parte di terzi. Il soggetto incaricato della revisione, l'ambito e il calendario necessitano di ulteriori spiegazioni.

Ci auguriamo che questa revisione controlli sia il codice client che la registrazione del server. I record di elaborazione, accesso e cancellazione pertinenti possono essere consegnati al revisore per l'ispezione senza rivelare il codice utente; i risultati della revisione dovrebbero essere comunicati agli utenti interessati.

Tag correlati

Articoli correlati

Commenti

0/500
Captcha (click to refresh)
Nessun commento