Progetto / Codice sorgente

Tutto è su GitHub

KalderaShield è open source con licenza Apache-2.0: l’applicazione desktop, l’app Android, l’estensione per browser, l’host di native messaging e questo sito. Ogni affermazione di sicurezza su questo sito è riconducibile al codice o a un test che gira in CI pubblica.

Che cos’è la base di codice

Quattro progetti, un repository

L’applicazione desktop abbina un’interfaccia React e TypeScript a un nucleo Rust tramite Tauri 2: la UI viene renderizzata nella WebView di sistema, la parte nativa gestisce l’updater, il bridge dell’estensione e le integrazioni di piattaforma. La persistenza del gestore gira su wa-sqlite con una busta di schema versionata.

L’estensione per browser è una build TypeScript Manifest V3 per Chromium e Firefox, e l’app Android è un progetto Tauri Android con associazione biometrica AndroidKeyStore. L’host di native messaging e il bridge IPC vivono nel workspace Rust, dove la logica di token di associazione, lease e cifratura dei frame è più facile da auditare.

Il sito stesso è HTML semplice archiviato nel repository — nessun passaggio di build per il deployment — con script generatori e controlli di qualità conservati accanto alle pagine che producono.

I controlli che ogni modifica supera

Typecheck e 2204 test unitari

248 file di test con soglie di copertura obbligatorie: 90% righe, 90% istruzioni, 85% funzioni, 80% rami. Una regressione sotto la soglia fa fallire la build, non una dashboard.

Controlli di fuzzing, mutation e sicurezza

I test property-based con fast-check martellano i percorsi dell’importatore, dei backup e degli allegati con input malformati. Il mutation testing con Stryker valuta la qualità dei test. Controlli dedicati verificano l’hardening della CSP, gli artefatti di rilascio, i marker di debug e i segreti.

Analisi della catena di fornitura in CI

CodeQL analizza il codice, OpenSSF Scorecard valuta la postura del repository, gitleaks blocca i segreti inseriti nei commit, e la policy delle dipendenze fallisce su qualsiasi avviso alto o critico, con accettazione documentata per il resto.

Architettura di Sicurezza

Che cosa significa qui open source — e che cosa no

Un’affermazione con il suo confine

L’open source permette a chiunque di leggere il codice; non dimostra da solo che qualcuno lo abbia effettivamente fatto. Leggere è il punto centrale: il modello delle minacce, i registri di accettazione e il perimetro dell’audit sono nel repository, così chi revisiona parte dalla stessa mappa. Un audit indipendente non è stato completato — la pagina sullo stato dell’audit lo dice direttamente.

TypeScript

Front end ed estensione

UI React, estensione e logica condivisa del gestore, strettamente tipizzati; nessuno stile inline React, imposto dal controllo della CSP.

Rust

Nucleo nativo

Comandi Tauri 2, host di native messaging, bridge IPC su loopback e infrastruttura dell’updater; cargo fmt e test mirati sulle scritture atomiche vincolano ogni rilascio.

Apache-2.0

Licenza

L’intero progetto più un file di licenze THIRD-PARTY per i componenti inclusi. Nessun blob proprietario negli installer.

Domande Frequenti

Contribuire e segnalare

Come segnalo una vulnerabilità di sicurezza?

In privato, mai come issue pubblica: tramite la segnalazione privata delle vulnerabilità di GitHub o l’email in SECURITY.md. Riscontro entro 48 ore, triage entro 7 giorni, divulgazione coordinata entro 90.

Posso contribuire con codice?

Sì — tramite pull request su GitHub. I controlli descritti sopra girano su ogni modifica, quindi il modo più rapido di aiutare è una modifica che li tiene verdi e include i suoi test.

Posso costruire gli installer da me?

Sì. La guida al rilascio locale documenta i comandi esatti per piattaforma, e lo script di rilascio raccoglie gli artefatti con checksum SHA-256 in release-local/<platform>/.

Pagine correlate

Scarica l'installer