Testnizer
Güvenlik modeli

Kodla zorunlu kılınan
üç temel kural.

Bize güvenmenizi istemiyoruz. Uygulamanın verilerinizi siz söylemedikçe herhangi bir yere göndermesini mimari olarak imkânsız hale getiriyoruz.

1

CSP connect-src self

Renderer'ın İçerik Güvenlik Politikası başlığı connect-src 'self' olarak ayarlanmıştır — React arayüzünün kendi kaynağı dışında bir bağlantı açması fiziksel olarak imkânsızdır. Her API çağrısı, kullanıcı olarak sizin denetlediğiniz denetlenmiş bir Node ana süreç IPC işleyicisinden geçer.

2

Varsayılan olarak süreç yalıtımı

contextIsolation açık. nodeIntegration kapalı. Preload betiği yalnızca denetlenmiş bir window.api yüzeyini açar — arayüz iş parçacığından ham fetch, axios veya require yok.

3

Gizli bilgiler işletim sistemi anahtarlığından geçer

Parola ifadeleri, temel kimlik doğrulama parolaları, taşıyıcı token'lar, OAuth yenileme token'ları ve sertifika anahtarlarının tamamı Electron safeStorage üzerinden geçer — macOS'ta Keychain, Windows'ta DPAPI, Linux'ta libsecret. SQLite'a yalnızca şifreli bloblar dokunur. Ham değerler asla diske yazılmaz.

4

Tasarım gereği sıfır telemetri

Analitik uç noktası yoktur. Başlangıçta 'eve telefon' yok. Arka plan senkronizasyonu yok. Anonim kullanım istatistiği yok. Otomatik güncelleme yalnızca siz istediğinizde çalışır ve Ayarlar'dan kapatabilirsiniz.

Pratikte ne anlama gelir

Testnizer'ın yapmadığı altı şey.

Telemetri yok

Devre dışı bırakılacak bir analitik uç noktamız yoktur. Katılım seçeneği de yoktur.

Giriş yok

Hesap oluşturma yok. SSO yok. Hiçbir satıcı sunucusu uygulamanın varlığından bile haberdar olmaz.

Bulut senkronizasyonu yok

Koleksiyonlarınız yerel bir SQLite içinde yaşar. Yedeklemeler sizin sorumluluğunuzdadır. Bu, yapılan takas budur.

Arka plan çıkışı yok

Renderer'ın CSP'si bunu engeller. Ana süreç yalnızca sizin tetiklediğiniz bağlantıları açar.

Üçüncü taraf JWT çözme yok

Çözme, Node'un crypto modülüyle yerel olarak çalışır. Token asla süreçten çıkmaz.

Üçüncü taraf XML imzalama yok

WS-Security, xml-crypto + Node crypto kullanır, tamamı ana süreçtedir. Özel anahtarlar yalnızca bellekte diskten yüklenir.

Kriptografi

Tüm anahtarlar diskte kalır. Tüm işlemler süreç içinde çalışır.

XML imzalama ve şifreleme, Node'un yerel crypto modülünü artı xml-crypto ve xml-encryption kullanır. Her ikisi de ana süreçte çalışır. Özel anahtarlar talep üzerine diskten belleğe yüklenir, tek işlem için kullanılır ve istek tamamlandığında sıfırlanır.

JWT doğrulaması aynı ana süreç içindeki bir HS / RS / ES algoritma kataloğuna karşı çalışır — yardımcı servis yok, çevrimiçi doğrulama adımı yok, paylaşılan gizli havuz yok.

Saklanan gizli bilgiler — temel kimlik doğrulama parolaları, taşıyıcı token'lar, OAuth yenileme token'ları, sertifika parola ifadeleri — Electron'un safeStorage API'sinden geçer. macOS'ta bu Keychain'e devreder. Windows'ta DPAPI. Linux'ta libsecret. Ham düz metin asla projenizin SQLite veritabanına yazılmaz; yalnızca işletim sistemi şifreli blobu yazılır.

Ana parola koruması isteğe bağlıdır. Etkinleştirildiğinde, uygulama PBKDF2-SHA256 (120.000 yineleme) ile bir anahtar türetir ve bunu kaydetmeden önce tüm SQLite veritabanını zarf şifrelemek için kullanır.

Denetime hazır

İncelenebilir, tekrarlanabilir, size ait.

Ağ üzerinden gözlemlenebilir

Çalışma zamanı sözleşmesini doğrulamak için kaynak koduna ihtiyacınız yok. Yükleyiciyi paket yakalama (packet capture), giden bir proxy veya tercih ettiğiniz EDR arkasında çalıştırın — otomatik güncelleme kontrolü dışında, tek giden trafik kendi yapılandırdığınız API hedeflerinedir.

İmzalı, hash'li, sabitlenebilir sürümler

Her sürüm GitHub Releases'te yükleyicinin yanında SHA-256 sağlama toplamlarıyla birlikte yayımlanır. Tedarik veya uyumluluk ekibiniz belirli bir sürümü sabitleyebilir ve geliştiricilerinize ulaştırdığınız byte'ların aktarım sırasında değişmediğini doğrulayabilir.

İkili dosyada eve telefon yok

Gönderilen ikili dosya, analitik SDK ve uzak yapılandırma uç noktası içermez. strings, tcpdump veya favori EDR'ınızla doğrulayabilirsiniz.

Hava boşluklu kurulum

Yükleyiciyi bir kez indirin, izole bir ağa aktarın. Otomatik güncelleme devre dışı bırakılabilir. Dokümantasyon uygulama içinde sunulur — okumak için internete ihtiyacınız yok.

Bir güvenlik açığı mı buldunuz?

GitHub'ın özel güvenlik bildirim kanalını kullanın — raporunuz yalnızca sizinle bakımcılar arasında özel kalır, herkese açık bir konu oluşturulmaz: Güvenlik açığını özel olarak bildir. Beş iş günü içinde değerlendireceğiz.