Herkos

Güvenlik politikası

Herkos özel anahtarları ve şifreli mesajları işler; bu yüzden güvenlik bildirimlerini ciddiye alırız ve bir sorunu geç değil, erken duymayı tercih ederiz.

Bir güvenlik açığını bildirme

Lütfen güvenlik sorunları için herkese açık bir issue açmayın.

Sorunu security@herkos.email adresine e-postayla gizli olarak bildirin.

Eklemeniz yararlı olacaklar: sorunun ne olduğu, nasıl yeniden üretileceği, hangi platformu ve sürümü denediğiniz ve bir saldırganın ne elde edebileceği. Bir kavram kanıtı (proof of concept) çok yardımcı olur.

Bir bildirime asla kendi nsec'inizi, özel anahtarınızı veya bunker sırrınızı eklemeyin.

Bildirimleri birkaç gün içinde onaylamayı hedefliyoruz. Herkos küçük bir proje olduğundan, herkese açıklamadan önce lütfen bir düzeltme için makul bir süre tanıyın. Aksini tercih etmediğiniz sürece güvenlik bülteninde adınızı anmaktan memnuniyet duyarız.

Kapsamda olanlar

Herkos uygulamasının kendisi: anahtarların işlenmesi ve saklanması, mesajların şifrelenmesi ve çözülmesi (local_packages/nostr_mail içindeki NIP-59 gönderici denetimleri ve Bcc yalıtımı dâhil), uygulama kilidi, relay ve köprü iletişimi, eklerin işlenmesi ve derleme ile yayım süreci. Herkos Drive için ayrıca protokol paketi (packages/herkos_drive_protocol) ve bağlantılarını açan sayfa (herkos.app/f/); aşağıdaki kendi bölümüne bakın.

Kapsam dışında olanlar

Bilinen sınırlamalar, açıkça

Bunlar güvenlik açığı değil, tasarım tercihleridir. Birinin bunları zor yoldan keşfetmesindense yazıya dökmeyi tercih ediyoruz:

Herkos Local Relay: neyi korur, neyi korumaz

Herkos Local Relay, uygulamalarınızın olaylarını, özel olanlar da dâhil (taslaklar, özel listeler, aldığınız zarflar), cihazınızda saklar. Onları neyin koruduğu ve sınırın nerede olduğu, platform platform aşağıdadır. Relay'in güvenlik sorunlarını diğerleri gibi bildirin (yukarıya bakın).

Veritabanının tamamı şifrelidir, işlem günlüğü (journal) de dâhil (SQLite3 Multiple Ciphers, AEGIS-256). Anahtar, cihazda üretilen ve sistemin güvenli deposunda tutulan 32 rastgele bayttır: Android'de Keystore, Windows'ta DPAPI, Linux'ta anahtar zinciri (libsecret). Sizin bir parolanızla korunmaz, çünkü relay'in kendi kendine başlaması gerekir. Anahtar olmadan relay başlamaz ve bunu söyler: asla şifresiz bir veritabanı açmaz veya oluşturmaz ve açamadığı bir veritabanını asla silmez.

Eğer… Android Windows Linux
biri veritabanı dosyasını kopyalarsa (bir yedek, eşitlenen bir klasör, bir disk görüntüsü) Korunur Korunur Korunur
cihaz veya disk kapalıyken çalınırsa Korunur: anahtar Keystore'dadır Korunur, Windows oturum açma parolanızı bilmiyorlarsa: DPAPI anahtarı onunla korur Korunur, anahtar zincirinizin parolasını bilmiyorlarsa (neredeyse her zaman oturumunuzun parolasıdır)
aynı cihazda başka bir kullanıcı hesabı varsa Korunur Korunur: DPAPI kullanıcı başınadır Korunur: anahtar zinciri kullanıcı başınadır
sizin kullanıcınızla başka bir uygulama veya program çalışıyorsa Korunur: Android her uygulamayı ayrı tutar ve Keystore anahtarı yalnızca relay'e verir Hayır: DPAPI uygulama başına değil, kullanıcı başına şifreler; sizin olarak çalışan bir program anahtarı tıpkı relay gibi isteyebilir Hayır: oturumunuzun anahtar zinciri uygulamaları birbirinden ayırmaz
telefon root'luysa veya uygulama olarak kod çalıştıran bir araç varsa Hayır — —
biri kilidi açık cihazı elinde tutuyorsa Ayarladıysanız yalnızca relay'in PIN'i veya parmak izi Aynı Aynı
biri relay çalışırken belleğini okuyorsa Hayır Hayır Hayır

Masaüstünde DPAPI'nin ve anahtar zincirinin sınırı her programınkiyle aynıdır: diğer kullanıcılara ve diski alıp götüren kişiye karşı korurlar, ama zaten sizin kullanıcınızla çalışan kötü amaçlı bir programa karşı korumazlar. Bu durum sizi endişelendiriyorsa, sizi koruyan şey sistem diskinin şifrelenmesi (BitLocker, LUKS) ve güvenmediğiniz programları çalıştırmamaktır. Anahtar zinciri olmayan (Secret Service olmayan) bir Linux'ta relay başlamaz ve nedenini açıklar: anahtarı asla açık olarak saklamaz.

Cihazın kendisinde kim girer. Relay yalnızca 127.0.0.1 üzerinde dinler ve cihazdaki her uygulama ya da tarayıcıdaki bir web sayfası bu adrese ulaşabilir. Bu yüzden:

Burada neyi korumaz:

Yerel ağ, açarsanız (varsayılan olarak kapalıdır):

Burada neyi korumaz: aynı ağdaki herkes cihazın açık bir portu olduğunu ve oradan ne kadar trafik geçtiğini görür, ama neyin geçtiğini görmez; cihazın herkese açık bir adresi varsa (arada yönlendirici yoksa) o port İnternet'ten görülebilir, ancak yine de listenizdeki bir anahtarı ister.

Yedekler. Şifreli yedeğin bir parolası vardır (scrypt ve XChaCha20-Poly1305): parola olmadan, biz dâhil, kimse onu açamaz. JSONL dışa aktarımı şifreli değildir ve özel olaylarınızı açık metin olarak taşır; uygulama sizi uyarır.

Kilit (bir PIN, artı parmak izi veya Windows Hello) uygulama açılırken, uygulamadan 30 saniye uzak kaldıktan sonra ve bir eşleştirmeyi onaylamak için istenir. Mail'de olduğu gibi bir kolaylık engelidir: hiçbir şeyi şifrelemez. Android'de PIN ayarlıyken ekran görüntüsü alınamaz ve son uygulamalar arasında küçük resim görünmez; Android 12'den itibaren de siz relay'i kullanırken başka hiçbir uygulamanın penceresi onun penceresinin üstüne çıkamaz.

Herkos Drive: neyi korur, neyi korumaz

Herkos Drive dosyalarınızı Blossom sunucularında, dosyalarınızın ve klasörlerinizin listesini ise Nostr relay'lerinde tutar; her ikisi de cihazınızda şifrelenmiştir. Onları koruyan şey budur ve sınırlar buradadır. Ayrıntıların tamamı packages/herkos_drive_protocol/ içindeki spec-drive.md ile amenazas-drive.md tehdit modelindedir; her relay'in ve sunucunun ne gördüğü gizlilik politikasında yer alır. Drive'ın güvenlik sorunlarını diğerleri gibi bildirin (yukarıda).

Relay'lerin ve sunucuların yapamadıkları:

Korumadıkları:

Nasıl denetlendiği. Tehdit modeline göre iki iç inceleme (2 Kasım 2026) ve bunların düzeltmeleri; her olayın ve bloğun neyi gösterdiğine dair testler; dışarıdan gelen her şeyi (olaylar, mühürler, manifestler, bağlantılar, yedekler) okuyan her bileşenin fuzzing ile test edilmesi. Henüz harici bir denetim yok: herkese açık betadan önce bir denetim planlanmıştır ve raporu eksiksiz yayımlanacaktır. Drive hâlâ geliştirme aşamasındadır.

Desteklenen sürümler

Güvenlik düzeltmeleri yayımlanmış en son sürüme uygulanır. Projenin boyutu göz önüne alındığında eski sürümler sürdürülmez — lütfen bildirmeden önce güncelleyin.