İçeriğe atla

Rehber

Vibe coding ile yazılmış bir uygulamayı yayına almadan önce güvenlik kontrol listesi

Yapay zekâyla yazılmış uygulamayı yayınlamadan önce sürümü taranmış commit’e bağlayın, erişim sınırlarını ve tarayıcı dosyalarını doğrulayın, hata ve kurtarmayı sınayın.

· 6 dk okuma · Yazan: vetkit ekibi

Bir roketin yanında büyük bir fırlatma düğmesine basmak üzere olan bir robot; bir geliştirici elini kaldırmış, kutuları henüz işaretlenmemiş bir kontrol listesi gösteriyor.Bir roketin yanında büyük bir fırlatma düğmesine basmak üzere olan bir robot; bir geliştirici elini kaldırmış, kutuları henüz işaretlenmemiş bir kontrol listesi gösteriyor.

Vibe coding ile yazılmış bir uygulamayı yayına almadan önce tam olarak hangi commit’in yayınlanacağını belirleyin, onu tarayın ve erişim sınırlarını, gizli bilgilerin işlenişini ve hata yollarını kontrollü bir ortamda test edin. vetkit’in bulgularını testleriniz ve deploy yapılandırmanızla birlikte incelenecek kanıt olarak kullanın. Geçen bir tarama, çalışan uygulamanın güvenli ya da yayına hazır olduğunun kanıtı değildir.

Bu kontrol listesi, code review’dan sonraki yayın kararı içindir. Bir asistanın değişikliklerini satır satır incelemek için yapay zekâ ile üretilen kod için inceleme kontrol listesiyle başlayın. Aşağıdaki kanıtları sürümle birlikte saklayın ki başka biri neyin kontrol edildiğini anlayabilsin.

1. Kanıtı sürüme bağlayın

  • Commit SHA’sını ve deploy etmeyi planladığınız build çıktısını kaydedin.
  • Denetim raporunun aynı commit’i gösterdiğini doğrulayın. Bir dalın daha eski ucu için alınmış bir rapor, sonraki düzeltmeleri ya da üretilen dosyaları kapsamaz.
  • Projeyi o sürümden kontrollü bir yapılandırma ve yapay verilerle build edin ve testlerini çalıştırın. Başarısız ve atlanan testler dahil, komutların gerçek sonuçlarını saklayın.

2. Gerçekte neyin çalıştığını kontrol edin

Security Quick Scan; posture, gitleaks ile gizli bilgi tespiti ve OSV ile bağımlılık kontrollerini içerir. Daha geniş denetimler, hesabınızın ve seçtiğiniz kapsamın izin verdiği yerlerde ek kontroller içerebilir. vetkit’in yayın şablonu statik güvenlik analizi, altyapı, iş akışları ve işletilebilirlik gibi alanlar için kontroller seçer, ancak mevcut tüm analizörleri kapsamaz. Örneğin secrets-history ve llm-app bu şablonun seçiminden ayrıdır.

KanıtYayından önce neyi doğrulamalı
Tamamlanmış denetimYalnızca genel puanı değil, analizör sonuçlarını ve kısmi rapor uyarılarını okuyun.
Bulgu yokİlgili kontrolün çalıştığını ve dilinizi ve framework’ünüzü desteklediğini doğrulayın.
Çözüldü ya da bastırıldı olarak işaretlenmiş bulguDüzeltmeyi ya da gerekçeyi bu yayın sürümüne göre gözden geçirin; istisnalar için bir sorumlu kaydedin.
Kaynak düzeyindeki yapılandırma doğru görünüyorHedeflenen deploy ortamının ayarlarını ve davranışını ayrıca kontrol edin.

Kısmi bir rapor, bir ya da daha fazla analizörün tamamlanmadığı ve etkilenen kategorilerin eksik raporlanmış olabileceği anlamına gelir. Sonuca güvenmeden önce ilgili kapsam boşluklarını giderin ya da alternatif doğrulamayı belgeleyin.

3. Erişim sınırlarını sınayın

Bir test ortamında iki sıradan hesap ve yetkileri yükseltilmiş bir hesap oluşturun. Bir hesabın kayıtlarını diğer hesapla okumayı ve değiştirmeyi deneyin ve oturum kapalıyken korumalı endpoint’leri çağırın. Tarayıcı arayüzü butonu gizlese bile sunucunun yetkisiz işlemleri reddettiğini kontrol edin. Aynı veriyi kullanan dosya indirmelerini, dışa aktarımları ve arka plan işlemlerini de dahil edin.

Supabase tabanlı bir uygulamada, deploy edilmiş row-level security ve storage politikalarını yapay kayıtlarla gözden geçirin. vetkit’in vibe-stack kuralları, eksik ya da fazla serbest row-level security politikaları ve herkese açık storage bucket’ları gibi desteklenen kaynak kalıplarını işaretleyebilir. Kaynak kodu incelemesi, barındırılan veritabanınızın güncel yapılandırmasını ortaya koymaz ya da kiracı yalıtımını kanıtlamaz.

4. Gizli bilgileri ve tarayıcı dosyalarını kontrol edin

Gizli bilgi bulgularını, public ortam değişkeni öneklerini ve üretilen tarayıcı dosyalarını gözden geçirin. Sağlayıcı ve service role kimlik bilgilerini sunucu tarafında tutun. Bir depo denetimi, taranan dosyalarda bulunmayan bir deploy gizli bilgisini göremez ve yayındaki tarayıcı paketinizi otomatik olarak incelemez. Bir kimlik bilgisi açığa çıktıysa onu iptal edin ya da yenileyin; kaynak koddaki satırı kaldırmak yetmez. Sızan gizli bilgiler rehberi depo, geçmiş ve tarayıcı için ayrı ayrı yapılan kontrolleri anlatıyor.

5. Bağımlılıkları ve yapay zekâ özelliklerini gözden geçirin

Yayın için amaçlanan lockfile’ı kullanın ve bağımlılık bulgularını gözden geçirin. Bilinen güvenlik açığı sorgusu, tanımadığınız bir paketin güvenilir olduğunu ortaya koyamaz. Yeni eklenen paket adlarını ve kökenlerini kontrol edin; bkz. uydurulan paketler rehberi.

Uygulamanız bir LLM çağırıyorsa; aşırı büyük girdi, sağlayıcı hataları ve yetki gerektiren bir işlem talep eden çıktı durumlarında ne olduğunu test edin. Sunucu tarafında kullanım sınırları belirleyin ve veriyi değiştiren araçların çevresinde yetkilendirme şartı koyun. vetkit’in llm-app kuralları, komut ya da SQL olarak çalıştırılan model çıktısı ve çıktı token sınırı olmayan kullanıcı tetiklemeli çağrılar gibi desteklenen kalıpları tespit eder. Her prompt injection girişiminin başarısız olacağını göstermezler ya da production’daki harcama kontrollerinizi ölçmezler.

6. Hata yollarını ve kurtarmayı test edin

  • Bir bağımlılık zaman aşımını ve başarısız bir yazma işlemini simüle edin. Kullanıcının işe yarar bir hata durumu gördüğünü ve yeniden denemenin işlemi sessizce çoğaltmadığını doğrulayın.
  • Production başlatma komutunu, sağlık raporlamasını ve hata raporlamasını kontrol edin. Sorumlu operatörün bozuk bir sürümü kimlik bilgilerini loglamadan fark edebildiğini yapay hatalarla doğrulayın.
  • Geri alma ya da kurtarma prosedürünü bir test ortamında prova edin. Sürüm saklanan veriyi değiştiriyorsa kurtarma yolunu ayrıca doğrulayın; uygulama kodunu geri almak o veriyi geri getirmeyebilir.

vetkit; zaman aşımı olmayan dışa giden çağrılar, production başlatma komutlarındaki geliştirme sunucuları ve yıkıcı olabilecek şema senkronizasyonu gibi kalıplar için statik kurallar içerir. Bu bulgular incelemenize yön verebilir, ancak denetim bu hata provasını sizin yerinize yürütmez ya da bir yedeği geri yüklemez.

7. Yayın kararını kayda geçirin

Commit’i, build kimliğini, denetim kapsamını, test sonuçlarını ve deploy kontrollerini bir arada tutun. Açığa çıkan kimlik bilgilerini ve kanıtlanmış yetkisiz erişimi yayından önce çözün. Kalan bulgular için kanıtı, etkiyi, karar sorumlusunu ve takip tarihini kaydedin. İlgili bir analizör başarısız olduysa ya da kritik bir davranış hiç test edilmediyse, sessizliği onay saymak yerine bu boşluğu açıkça belirtin.

Kaynaklar ve sınırlar

1 Kasım 2026’da vetkit’in Quick Scan yapılandırması, denetim şablonları, rapor biçimlendiricisi ve vibe-stack, llm-app, resilience, data-access ve operability kurallarına karşı kontrol edilmiştir. Herkese açık kontrol kataloğu birinci taraf kuralları ve destekledikleri dilleri anlatır; dokümantasyon ise denetim kurulumunu anlatır. Analizörlerin kullanılabilirliği, desteklenen kalıplar, tarama sınırları ve seçilen kapsam, kapsamayı etkiler.

Buradaki elle yapılan kontroller ekibinizin işidir; vetkit’in canlı sızma testi yaptığı, uygulamanızın test paketini çalıştırdığı ya da bir sürümü sertifikalandırdığı iddiası değildir. Bir kaynak kodu denetimi her production iznini, deploy ayarını ya da iş gereksinimini doğrulayamaz. Rapor hiçbir bulgu içermese bile bu kontrolleri yayın sürecinizde tutun.

Erken erişim talep edin

Ekibinizden ve denetlemek istediğiniz depolardan kısaca bahsedin. Ekipleri küçük gruplar halinde aramıza alıyoruz; size e-postayla dönüş yapacağız.

Bu bilgileri yalnızca talebinize yanıt vermek için kullanırız. Gizlilik politikası