FixVibe

// docs / security guides / claude code checklist

Claude Code güvenlik kontrol listesi: 26 madde

Claude Code (Anthropic'in CLI aracısı), eğik çizgi komutları aracılığıyla kod tabanlarının tamamını oluşturur, çoklu dosya yeniden düzenlemeyi yönetir ve bash aracılığıyla/writes dosyalarını okur. Bu kontrol listesi Claude Code'nin belirli risklerini hedefler: varsayılan güvenlik politikalarının olmaması, nadiren eklenen hız sınırlaması, güvenlik koruma dosyanız olarak <code>.claude/CLAUDE.md</code> ve <code>.env</code> veya önbelleğe alınmış belirteçlerin işlenmesi riski. Sırlar, veritabanı, kimlik doğrulama, başlıklar, dağıtım ve Claude Code'ye özgü kazanımlar genelinde 26 öğe.

PRE = ön dağıtım (kaynağınızı denetleyin). DEPLOY = dağıtım zamanında. POST = dağıtım sonrası doğrulama. Öğeler FixVibe referansını, ilgili yerlerde category.check-id formundaki kimlikleri kontrol edin.

Sırlar ve API tuşları (5 öğe)

Claude Code kaynak ağaçlarının tamamını okur ve tüm dosyaların çıktısını alır. Bağlamınızdaki sırlar çıktıda sırlara dönüşür.

  1. PRE — Create .claude/CLAUDE.md with security policies. Ekle: "Security Rules: Hiçbir zaman satır içi service_role anahtarları istemci paketlerine dahil etmeyin. Hassas işlemleri her zaman yalnızca sunucu uç noktaları aracılığıyla yönlendirin. NEXT_PUBLIC_* env değişkenlerinin yalnızca güvenli değerler (anahtar yok, belirteç yok) içerdiğini doğrulayın." Claude Code proje rehberliği için .claude/CLAUDE.md okur.
  2. PRE — Ensure .env.local is in .gitignore. Claude Code, yeniden düzenleme sırasında yanlışlıkla .env.local işlemini gerçekleştirebilir. Nelerin takip edildiğini kontrol etmek için git ls-files .env* komutunu çalıştırın. .env.local mevcutsa açığa çıkar.
  3. PRE — Audit generated API routes for env-var verification. Claude Code bazen kullanmadan önce process.env.SECRET'nin sunucu tarafında var olduğunu doğrulamayı unutur. Bir env var eksikse rotalar hızlı bir şekilde başarısız olmalı, varsayılana düşmemelidir.
  4. PRE — Check the .claude cache directory. Claude Code konuşma içeriğini .claude/cache veya .claude/history içinde önbelleğe alır. Bu dosyalar taahhüt edilmemelidir. .gitignore'ye .claude/ ekleyin.
  5. POST — Run secrets.browser-storage on the deployed app. Claude Code bir anahtarı satır içine aldıysa, pasif tarama onu oluşturulan pakette bulacaktır.

Veritabanı erişim kontrolü (4 öğe)

Claude Code şema oluşturmada mükemmeldir, ancak RLS politikalarının açık talimatlara ihtiyacı vardır.

  1. PRE — Instruct Claude Code on RLS in .claude/CLAUDE.md. Ekle: "Her geçiş ALTER TABLE ... ENABLE ROW LEVEL SECURITY ve FORCE ROW LEVEL SECURITY içermelidir. Her politika kullanıcının auth.uid()'sini doğrulamalıdır."
  2. PRE — Review generated migrations for FORCE ROW LEVEL SECURITY. Claude Code, ENABLE oluşturabilir ancak FORCE'yi unutun. FORCE olmadan, tablo sahipleri (geçiş çalıştırıcısı) RLS'yi atlar. Eksikse manuel olarak ekleyin.
  3. DEPLOY — Test RLS enforcement after deploy. Supabase Studio'yu açın, bir masa seçin, RLS geçişinin ON olduğunu onaylayın. Claude Code'nin geçişi ENABLE'yi FORCE olmadan kullandıysa, geçiş ON diyecektir ancak uygulama tamamlanmamıştır.
  4. POST — Run the baas.supabase-rls active check. Anon anahtarıyla yazmaya çalışır. Başarılı olursa, RLS eksiktir. Geçişe FORCE ekleyin ve yeniden konuşlandırın.

Kimlik doğrulama ve oturumlar (4 öğe)

Claude Code, kimlik doğrulama akışlarını iyi bir şekilde oluşturur ancak otomatik olarak hız sınırlaması eklemez veya sunucu tarafındaki tüm belirteç taleplerini doğrulamaz.

  1. PRE — Mandate server-only auth verification in .claude/CLAUDE.md. Ekle: "Verileri değiştiren her API rotası, sunucuda await supabase.auth.getUser() ile kullanıcıyı doğrulamalıdır. İstek gövdesindeki getSession() veya ID kullanıcısına asla güvenmeyin."
  2. PRE — Check generated auth handlers for token expiry. Sihirli bağlantı ve parola sıfırlama belirteçleri, sunucu tarafından zorlanan expires_at gerektirir. Claude Code'ye sorun: "1 saatten eski belirteçleri reddeden bir çek ekleyin."
  3. PRE — Verify sign-in redirect guards. next parametre yönlendirmesi // ile değil, / ile başlamalıdır. .claude/CLAUDE.md'ye ekle: "next parametresini doğrulayın: / ile başlamalıdır, // ile başlıyorsa veya bir protokol içeriyorsa reddedin."
  4. POST — Test logout clears cookies. Oturum açın, oturumu kapatın, Uygulama → Çerezleri inceleyin. Oturum çerezinin temizlenmesi gerekir. Devam ederse, oturum kapatma uç noktası durumu yok etmiyordur.

HTTP başlıkları ve CSP (3 öğe)

Siz sormadığınız sürece Claude Code varsayılan olarak ara katman yazılımı oluşturmaz.

  1. PRE — Add middleware request to .claude/CLAUDE.md. Şunu ekleyin: "İstek başına bir kez, HSTS, X-Frame-Options ve X-Content-Type-Options başlıklarını kullanarak Content-Security-Policy ile src/middleware.ts oluşturun." Daha sonra Claude Code'den bunu uygulamasını isteyin.
  2. PRE — Verify src/middleware.ts exists and has CSP. Next.js src/ düzeniyle, ara yazılım proje kökünde değil src/middleware.ts konumunda olmalıdır. CSP başlığının 'strict-dynamic' ve bir nonce içerdiğini doğrulayın.
  3. POST — Run headers.security-headers on the deployed URL. Denetim, eksik başlıkları bildirir ve platformunuz için düzeltmeler önerir.

Dağıtım hijyeni (4 öğe)

Claude Code dağıtım platformunuzu yapılandırmaz; bu sizin sorumluluğunuzdadır ancak kontrol etmeye değer.

  1. DEPLOY — Scope env vars per environment in Vercel (or equivalent). Ayarlar → Ortam Değişkenleri → her sırrı yalnızca Production'a atayın. Asla sk_live_*'yi Önizleme veya Geliştirme ile paylaşmayın.
  2. DEPLOY — Audit your CI workflow for secret echo. Eğer GitHub Eylemler veya başka bir CI'nin herhangi bir yerinde echo $SECRET varsa, onu kaldırın. Derleme günlükleri arşivlenir; günlüklerdeki sırların güvenliği ihlal edilir.
  3. DEPLOY — Prefer platform-native secret storage. Vercel'nin Ayarları → Ortam Değişkenleri şifrelenmiştir; GitHub Eylem sırları hiç yoktan iyidir ancak platformda yerel depolamayla eşleşmiyor.
  4. POST — Rotate any key that reached a public build. Bir anahtar Vercel Önizleme URL'de veya herhangi bir genel yapıda birkaç saniyeliğine bile görünürse, güvenliği ihlal edilmiştir. Hemen döndürün.

Claude Code'ye özel kazanımlar (5 öğe)

Claude Code mimarisine ve iş akışlarına özgü desenler:

  1. Claude Code forks work into subagents. Büyük görevlerde, Claude Code her biri kısmi kod tabanı bağlamına sahip birden fazla alt aracı örneği oluşturabilir. Bir alt ajan, diğerinin görmediği gizli-güvenli bir modeli halüsinasyona uğratırsa tutarsızlık ortaya çıkar. Son farkı dikkatlice inceleyin.
  2. Bash operations are unverified. Claude Code bash komutlarını doğrudan çalıştırır. git commit -m "fix" kullanışlıdır, ancak çalışma dizininde bir .env dosyası varsa ve bir glob bunu içeriyorsa, işleme alınır. Claude Code onaylamadan önce daima git diff --cached'yi inceleyin.
  3. Context window boundaries create gaps. Kod tabanınız büyükse, Claude Code'nin içeriği birden fazla pencereye bölünebilir. Bir pencerenin .env.local kullanımı diğerinden farklı olabilir. .claude/CLAUDE.md içinde politikayı uygulayın ve çıktıyı doğrulayın.
  4. Rate-limiting is almost never added without asking. Claude Code çalışan CRUD üretir ancak nadiren hız sınırlayıcı başlıklar veya üstel geri çekilme mantığı içerir. Bunu .claude/CLAUDE.md adresinden açıkça isteyin.
  5. .claude/CLAUDE.md is read but not enforced. Claude Code, .claude/CLAUDE.md'nizi bir kısıtlama olarak değil, ipucu olarak okur. İpucu görevle çelişiyorsa, Claude Code bunu yok sayabilir. Her zaman çıktıyı gözden geçirin.

Sonraki adımlar

44 araç arası öğe için general vibe coding security checklist öğesini kontrol edin, ardından dağıtım zamanı modelleri için step-by-step hardening öğesine bakın. Ayrıca Cursor kullanıyorsanız Cursor security checklist'ye bakın.

// scan your app

Okumayı bırak. Kendi uygulamandaki açıkları bulmaya başla.

Bir URL bırakın — FixVibe, bu kılavuzdaki tüm pasif kontrolü ve ayrıca 200'den fazla kişiyi bir dakikadan kısa sürede çalıştırır. Free, yükleme yok, kart yok.

  • Free katman — ayda 3 tarama, kart yok.
  • Herhangi bir URL'ye karşı pasif taramalar — etki alanı doğrulaması gerekmez.
  • Cursor, Claude Code, Lovable, Bolt, v0, Replit için ayarlandı.
  • Coding-agent prompts for code/config findings, plus operator steps for DNS/provider fixes.
Claude Code güvenlik kontrol listesi: 26 madde — Docs · FixVibe