Yerel çalışan bir agent servisine web arayüzü eklemek kullanım kolaylığı sağlar; aynı zamanda yeni bir saldırı yüzeyi açar. Tarayıcı artık dosyalara, oturumlara ve komut yüzeyine giden yolun bir parçasıdır. Güvenlik modeli yalnız bir giriş ekranından oluşamaz.
Servis kimliği tarayıcıya taşınmamalı
OpenCode servisinin kimlik bilgileri web istemcisine gönderilirse, tarayıcı eklentileri, istemci logları ve XSS etkisi doğrudan servis yetkisine dönüşebilir. Daha güvenli modelde yerel köprü bu kimlik bilgilerini belleğinde tutar; tarayıcı yalnız aynı origin altındaki sınırlı API’yi çağırır.
Kimlik doğrulama ile izolasyon aynı şey değildir
Tek bir çalışma alanı parolası erişimi sınırlar, fakat farklı kullanıcıların dosyalarını veya oturumlarını birbirinden ayırmaz. Parolayı bilen herkes aynı kaynakları paylaşır. Bu nedenle ürün açıkça yerel ve tek çalışma alanlı olarak tanımlanmalı; uzak veya çok kullanıcılı kullanım destekleniyormuş gibi sunulmamalıdır.
- Oturum çerezini HttpOnly ve SameSite=Strict tut.
- Durum değiştiren isteklerde oturuma bağlı CSRF değeri iste.
- Host, Origin ve izin verilen genel origin değerlerini doğrula.
- Giriş denemelerine hem istemci hem küresel hız sınırı uygula.
Loopback varsayılan, genel origin istisna olmalı
Köprünün varsayılan olarak yalnız loopback arayüzüne bağlanması, yanlış yapılandırma riskini azaltır. Genel erişim gerekiyorsa tek origin allowlist’i, güvenli tünel ve Secure çerez zorunluluğu birlikte devreye girmelidir. Geliştirme kolaylığı için kullanılan kimlik doğrulamasız mod, genel origin tanımlandığında kesin olarak reddedilmelidir.
Sınırlar ürün metninde de görünür olmalı
Güvenlik yalnız kod denetimi değildir. Ürün sayfası; hangi kullanım biçiminin desteklendiğini, hangi tehditlerin kapsam dışında kaldığını ve kullanıcıların hangi varsayımlara güvenmemesi gerektiğini açıkça söylemelidir. Bu nedenle OpenCode 2 Web, genel SaaS veya ekip portalı olarak değil, özel ön izlemedeki yerel çalışma alanı olarak sunulur.
İyi güvenlik anlatısı, ürünü olduğundan büyük göstermek yerine gerçek yetki sınırını kullanıcıya erken ve doğrudan gösterir.
