Öğrenme yolu 01Ders 1 / 6

Vibe coding: kullanım alanları ve sınırları

İnsanların yapay zekâyla fikirlerini denemesine yardımcı olun. Gerçek veriler ve API izinleri için neden güvenlik kanıtı gerektiğini bir bankacılık prototipi üzerinden öğrenin.

Temel11 minİncelendi

Yayımlayan Nasıl yazıyoruz?

Neler öğreneceksiniz?

  • Fikirleri denemeyi yayın kararından ayırın.
  • İkna edici bir demoda eksik kalan sorumlulukları belirleyin.
  • İlk deneme için güvenli bir sınır seçin.

İnsanlara geliştirme alanı açın

Bir kurumsal CTO, daha fazla kişinin bilgisini yazılım fikrine dönüştürmesine yardımcı olabilir. Finans, operasyon, satış ve mühendislik ekiplerinden kişileri davet edin. Zaman, sentetik veri, sandbox API’leri ve destek sağlayın.

Kurulum, hesaplar ve izin verilen girdiler için açık sınırlar koyarak farklı araçlarla fikir denenmesine izin verin. Tarayıcı tabanlı bir uygulama oluşturucu, kodlama asistanı veya yerel ajan bir fikri test etmeye yardımcı olabilir. Araç seçimi, şirket bilgilerini yükleme veya canlı bir sisteme bağlanma izni vermez.

İşe yarayan bir prototipin mühendislik ya da platform ekibine nasıl aktarılacağını basitçe açıklayın. Prototipi hazırlayan kişi sorunu, örnek iş akışını ve gözlenen değeri getirir. Hizmetin güvenlik ve operasyon ekibine dönüşmesi gerekmez.

Neyi öğrenmeniz gerektiğini belirleyin

Vibe coding genellikle istediğiniz yazılımı tarif ederek başlar. Üretilen kodu kabul eder, görünen sonuca göre sonraki değişikliği yönlendirirsiniz. Terim farklı anlamlarda kullanılır. Bu rehberde işi yönlendiren kişinin her uygulama kararını anlaması şart değildir.

Bu yöntem öğrenmenize yardımcı olabilir. Basit bir arayüz, onay sürecinde çok fazla adım olduğunu gösterebilir. Geçici bir betik, dosya biçimini değerlendirmenizi sağlayabilir. Prototip, insanların üzerinde tartışabileceği somut bir tasarım sunar. Kodu bıraksanız da bu bilgiyi koruyabilirsiniz.

Önce yanıtı gözlenebilir bir soru tanımlayın. Örneğin: ‘Bir ekip yöneticisi bu onay sürecini anlayabiliyor mu?’ Bu sorunun kapsamı açıktır. Bir masraf sistemi geliştirme talebi ise veri koruma, erişim kontrolü, işletim ve sorumluluğu da kapsar.

Salı günü hazırlanan bankacılık prototipi

Kurgusal bir örnek düşünün. Salı günü finanstan bir çalışma arkadaşınız, uydurma banka işlemlerini kullanarak Lovable ile bir pano oluşturur. Pano harcamaları gruplar ve ödenmemiş faturaları gösterir. Ekip artık işe yarayan bir iş akışını tartışabilir.

Birisi şirketin banka hesabını bağlamayı önerir. Uygulama hâlâ ‘prototip’ etiketi taşısa da olası sonuçlar değişir.

Okuma erişimi API’ye bağlı olarak bakiyeleri, işlem geçmişini, müşteri adlarını veya ödeme referanslarını açığa çıkarabilir. Bağlantı ödemeye de izin veriyorsa hatalar gerçek parayı hareket ettirebilir. İzinlerin gerçek kapsamını doğrulayın; banka bağlantısı her zaman ödeme erişimi içermez.

Demo, kullanıcının yalnızca yetkili olduğu hesapları görebildiğini kanıtlamaz. Gizlenmiş bir düğme izin kontrolünü uygulamaz. OWASP, eksik hesap veya kayıt kontrollerinin başka bir kullanıcının verilerini nasıl açığa çıkarabileceğini açıklar.

Ne yanlış gidebilir?Neden önemlidir?Canlı erişimden önce gereken kanıt
Gizli bir API erişim bilgisi tarayıcı kodunda veya loglarda görünürBaşka bir taraf bu bilginin izinlerini kullanabilirGizli bilgilerin işlenmesini inceleyin; erişimin iptalini test edin
Backend, çağrıyı yapanın haklarını kontrol etmeden hesap kimliğini kabul ederBir kullanıcı başka bir hesabı okuyabilirDiğer kullanıcılar ve hesaplar için reddedilen istekleri test edin
Bir ödeme isteği zaman aşımına uğrar ve uygulama isteği yeniden gönderirYeni deneme ikinci bir ödeme oluşturabilirYeniden deneme davranışını test edin ve sonucu sağlayıcının kayıtlarıyla karşılaştırıp mutabakatını yapın
Uygulama işlem ayrıntılarını onaylanmamış bir yapay zekâ hizmetine gönderirGizli bilgiler onaylı sınırın dışına çıkarİstekleri, logları, alıcıları ve saklama koşullarını izleyin
Bir bağımlılıkta, kullanıma açıldıktan sonra güvenlik açığı ortaya çıkarDeğişmeyen uygulama yine de güvenlik düzeltmesi gerektirebilirSürekli tarama, düzeltme ve dağıtım doğrulaması için sorumlu atayın

Ödeme API’lerinde idempotency, tekrarlanan bir isteğin amaçlanan etkiyi tekrarlamaması demektir. Stripe bir uygulama örneğini belgelendirir. Gerçek sağlayıcının davranışını, sınırlarını ve yeniden deneme kurallarını kontrol edin. Uygulamayı önceki sürüme döndürmek, bankanın işlediği bir ödemeyi geri almaz.

Bu örnek Lovable’da bir kusur olduğunun kanıtı değildir. Lovable’ın kendi güvenlik rehberi gizli bilgilerin korunmasını, sunucu tarafı kontrollerini, test edilmiş veri politikalarını ve sürekli incelemeyi ister. Aynı kanıt standardını her oluşturucuya, ajana ve elle yazılmış uygulamaya uygulayın.

Gerçek sistemleri bağlamadan önce erişimi kontrol edin

İş akışını sentetik veriler ve sandbox hesaplarıyla test etmeye devam edin. Canlı erişimden önce hizmet, güvenlik ve platform sorumlularının uygulamayı ve işletim ortamını doğrulamasını sağlayın.

Bankanın veya sağlayıcının onaylı bağlantı akışını kullanın. Yalnızca gerekli hesaplara ve işlemlere izin verin. Gizli erişim bilgilerini istemlerin ve tarayıcı kodunun dışında, onaylı bir gizli bilgi deposunda tutun. Ödeme gerekiyorsa ödeme onaylarını ve sınırlarını belirleyin. Erişimin nasıl iptal edileceğini, hataların nasıl araştırılacağını ve şüpheli etkinliğe nasıl müdahale edileceğini doğrulayın.

Bu kararlar, gizli girdi veya canlı erişim bilgileri sisteme girmeden önce verilmelidir. Resmî üretim yayınına kadar beklemek geç olabilir. Veri sınırları ve kurumsal altyapı ile devam edin.

Kullanımı artırmadan önce sorumlulukları tanımlayın

Uydurma verilerle yapılan bir deneme kısa ömürlü olabilir ve az kişiye hitap edebilir. Başka insanlar uygulamaya bağımlı olduğunda kullanım sorumluluklarını tanımlayın.

  1. Sorumluyu belirleyin.
  2. İzin verilen kullanıcıları ve verileri belirleyin.
  3. Hata durumunda verilecek yanıtı tanımlayın.
  4. Kaynak kodunu ve yapılandırmayı bir kod deposunda tutun.
  5. Başka bir kişinin sistemi inceleyip yeniden oluşturabildiğini doğrulayın.

Her betik kurumsal platform gerektirmez. Hassas veri içermeyen kişisel bir biçimlendirme aracı, ödeme onayı uygulamasından daha az kontrol gerektirir. Bir hatanın sonuçlarını değerlendirin. Hatayı tespit edip etkilerini geri alıp alamadığınızı kontrol edin.

Prototipi genişletmeden önce sorun hakkında öğrendiklerinizi uygulama hakkındaki kanıttan ayırın. Arayüzü koruyup iç kodu değiştirebilirsiniz. Amaçlanan kullanımı sınırlayabilirsiniz. Prototipi geçici bir deneme olarak da tutabilirsiniz.

Demodan sonraki güvenlik açıkları için plan yapın

Başarılı bir demo, ciddi bir bakım eksikliğini gizleyebilir. Kodunuz değişmeden bir bağımlılık için yeni bir güvenlik duyurusu yayımlanabilir. Yayın sırasındaki tarama yalnızca belirli bir anı anlatır.

Uygulama kullanımda kalırsa birisinin güvenlik açıklarını bulmaya, değerlendirmeye ve düzeltmeye devam etmesi gerekir. Düzeltme üretime ulaşmalı ve doğrulanmalıdır. Bu müdahale süreci olmayan bir tarayıcı, maruz kalınan riski çözmez.

Kullandığınız araç ve yapılandırmanın gerçekten ne sağladığını kontrol edin. İleride sürekli güvenlik açığı yönetimi dersi, tarama hataları ve dağıtılmış sürümler dâhil tüm süreci açıklar.

Sonraki değişikliği kolay incelenebilir hâle getirin

Ajana açık kabul ölçütleri olan küçük bir değişiklik verin. Hangi işlemleri yapabileceğini belirtin. Ortaya çıkan diff’i inceleyin. Yanlış bir uygulamayı reddedebilecek kontroller yapın. Yayın sorumlulukları netleşene kadar dağıtımı ayrı bir karar olarak tutun.

NIST Secure Software Development Framework, güvenli geliştirme için daha geniş uygulamaları açıklar. Eksik kontrolleri değerlendirirken bu çerçeveyi referans alın. Çerçeveyi ezberlemeniz gerekmez. Yazılım başka insanları etkilemeden önce eksik kanıtı belirlemeniz gerekir.

Alıştırmayı yapın

Yakın tarihli bir gösterimden bir özellik seçin. 1. Gösterimin kanıtladığı bir sonucu kaydedin. 2. Yanıtlanmamış üç soruyu kaydedin. 3. Her soruya bir sorumlu atayın. 4. Her olası hatayı tespit edebilecek somut bir kontrol belirleyin. Somut bir kontrol yerine ‘güvenli hâle getir’ ifadesini kullanmayın.

Çalışma sayfasını indir (Markdown)

Anladığınızı kontrol edin

Bir banka panosu kurgusal işlemlerle çalışıyor. Bir çalışma arkadaşınız gerçek bir hesabı salt okunur erişimle bağlamayı öneriyor. Ne yapmalısınız?

Kaynaklar ve ek okumalar

Taiga'dan ilgili okumalar