🧬 Lagune'ye projenizin ne olduğunu anlatın, o da bunu güvenlik kurallarınıza dönüştürsün (ya da hiçbir açıklama olmadan kuralları yalnızca projeden çıkarsın).
Charter, yönetici katmandır: sonraki her fazın uyması gereken, güvenliği öne alan ilkeler bütünü. Onu, projenizin güvenlik duruşu için derleme zamanı denetimi gibi düşünün.
Kullanım
- Anlatın
- Lagune önersin
/lagune-charter Projem video oyunu satan bir online mağaza. Müşteriler ürünleri sepete ekliyor ve kredi kartıyla ya da havaleyle ödüyor. Siparişlerini ve her birinin durumunu görebiliyorlar.
/lagune-charter
Bir ödeme kütüphanesi, bir oturum açma yapılandırması ve bir müşteriye bağlı bir sipariş modeli görüyorum. Bir şey satan bir online mağazaya benziyor. Müşteriler ödeme yapıyor ve kendi siparişlerini takip ediyor... ☁️
Neleri çıkarır
Lagune, açıklamanızı ya da PRD'nizi yön olarak alır ve bunun güvenlik açısından ne anlama geldiğini çıkarır, ardından sizin belirttiklerinizin ötesine geçmek için projeyi okur. Örneğin:
- Siparişleri tutan bir sepet, bir veritabanı olduğu anlamına gelir:
- örn.
"Veriler nerede duruyor?","Onlara kim erişebiliyor?","Veri sızıyor mu?".
- örn.
- Kendi siparişlerini görebilen müşteriler, bir tür oturum açma ya da erişim kontrolü olduğu anlamına gelir:
- örn.
"Bir müşteri başka bir müşterinin siparişlerine erişebilir mi?","Oturumlar korunuyor mu?".
- örn.
- Kart ve havale ile ödeme almak, paranın ve hassas verilerin işin içinde olduğu anlamına gelir:
- örn.
"Kart verileri saklanıyor mu?","Ödemeler doğrulanıyor mu?".
- örn.
Açıklamanız ve proje birbirini tamamlar: açıklamanız niyeti belirlerken bağımlılıkları, README dosyasını ve yapılandırmayı okumak, sizin bahsetmediklerinizi ortaya çıkarır. Önemli bir şey hâlâ belirsizse, Lagune tahmin yürütmek yerine kısa ve sade bir soru sorar.
Buradan yola çıkarak Lagune, proje için ona özel bir güvenlik kuralları seti oluşturur. Bu kuralları ihtiyaç duyduğunuzda gözden geçirip düzenleyebilirsiniz.
- Proje için kendi güvenlik kurallarınızı da tanımlayabilirsiniz.
- Ne kadar ilgili ayrıntı verirseniz, nihai rapor o kadar iyi olur:
- Projeyi, nasıl çalıştığını ve arka planda neler olduğunu açıklayın.
- Son kullanıcı kim? Kullanıcılar neleri yapabilir, neleri yapamaz?
- Davranışsal ayrıntılar, teknik ayrıntılar kadar değerlidir.
- Charter belleği
.lagune/memory/charter.mddosyasında durur.
Kaydettiği kategoriler
Sonraki fazların talep üzerine yüklediği güvenlik bilgisi olan uzmanlıklar, projenizin kataloğuna kategoriye göre katılır. Projenizde kayıtlı bir kategori olmadığı sürece charter, projeyi okuyarak gerekçelendirebildiği her kategoriyi kaydeder (örneğin projenizin dili, bir LLM'e yapılan çağrılar ya da container'lar) ve bunları özetinde adlarıyla belirtir.
Kategoriler kaydedildikten sonra charter onlara dokunmaz ve yalnızca projenizin henüz kullanmadığı bir kategoriyi adıyla belirtir. Onları istediğiniz zaman kendiniz değiştirin:
npx lagune write add --categories python
npx lagune write remove --categories python
Sırada ne var
Kurallar belirlendikten sonra sisteminizin gerçekte ne yaptığını çıkarın: /lagune-detect.
Sıkça sorulan sorular
Charter, Lagune'nin yönetici katmanıdır: sonraki her fazın uyması gereken, güvenliği öne alan ilkeler bütünü. Onu, projenizin güvenlik duruşu için derleme zamanı denetimi gibi düşünün.
.lagune/memory/charter.md dosyasında.
Evet. Lagune, açıklamanızdan ve kodunuzdan yola çıkarak kurallar önerir, siz de onları yeniden ifade edebilir, çıkarabilir, ekleyebilir ya da kapsamlarını daraltabilirsiniz.
Yalnızca hiçbiri kayıtlı değilken. O durumda projeyi okuyarak gerekçelendirebildiği her kategoriyi kaydeder, örneğin dilinizi ya da bir LLM'e yapılan çağrıları. Kategoriler kaydedildikten sonra onları asla değiştirmez.
