RestoPromt

guvenlik-kontrol — Kod Güvenlik Taraması SKILL'i

SkillYazılım
RestoPromt16 Temmuz 2026

SKILL dosyası: .claude/skills/guvenlik-kontrol/SKILL.md olarak kaydet. Değişiklikleri yayınlamadan önce OWASP odaklı hızlı güvenlik taraması yapar: secret sızıntısı, injection, yetki kontrolü, girdi doğrulama, bağımlılık riskleri.

---
name: guvenlik-kontrol
description: Kod değişikliğini yayınlamadan/commit'lemeden önce güvenlik taraması istendiğinde kullanılır ("güvenlik kontrolü yap", "güvenli mi bak"). Diff'i OWASP odaklı kontrol listesiyle tarar ve bulguları önem sırasına göre raporlar.
---

# Kod Güvenlik Taraması

Diff'i (`git diff main...HEAD`) aşağıdaki başlıklarla tara.
Her bulgu için: dosya:satır, risk açıklaması, somut düzeltme öner.

## 1. Secret sızıntısı (en kritik, ilk bak)

- Kodda/konfigde sabit API key, token, şifre, bağlantı dizesi var mı?
- `.env` benzeri dosyalar commit'e girmiş mi? `.gitignore` kapsıyor mu?
- Loglara secret yazılıyor mu (`console.log(headers)` gibi)?
- Sızmışsa: dosyadan silmek YETMEZ — anahtarın iptal edilip
  yenilenmesi gerekir; kullanıcıya açıkça söyle.

## 2. Injection

- SQL: string birleştirme ile sorgu var mı? → parametreli sorgu/ORM kullan.
- Komut: kullanıcı girdisi shell komutuna gidiyor mu? → argüman dizisi kullan,
  shell interpolasyonundan kaçın.
- XSS: kullanıcı içeriği HTML'e ham basılıyor mu (dangerouslySetInnerHTML,
  innerHTML)? → kaçışla/sanitize et.
- Path traversal: dosya yolu kullanıcı girdisinden mi kuruluyor? →
  izin listesi + normalize kontrolü.

## 3. Kimlik doğrulama & yetkilendirme

- Her mutasyon (POST/PUT/DELETE, server action) oturum kontrolü yapıyor mu?
- Nesne sahipliği doğrulanıyor mu (IDOR): "bu kaydın sahibi bu kullanıcı mı?"
- Yetki kontrolü istemcide değil SUNUCUDA mı? (UI'da gizlemek koruma değildir)
- Admin uçları ayrıca rol kontrolü yapıyor mu?

## 4. Girdi doğrulama & veri sızması

- Dış girdi (form, query, header, webhook) şemayla doğrulanıyor mu (zod vb.)?
- API yanıtları gereğinden fazla alan döndürüyor mu (şifre hash'i,
  iç ID'ler, başkasının verisi)?
- Hata mesajları stack trace / iç detay sızdırıyor mu?
- Kişisel veri URL query parametresine yazılıyor mu? (loglara düşer)

## 5. Bağımlılık ve konfig

- Yeni eklenen paket güvenilir mi? Adı yazım-benzeri (typosquat) mi?
- `npm audit` / lock dosyası uyarısı var mı?
- CORS `*` + credentials birlikte mi? Cookie'lerde HttpOnly/Secure/SameSite?
- Dosya yükleme varsa: tip/boyut doğrulaması sunucuda mı, uzantı spoof kontrolü?

## Rapor formatı

| Önem | Bulgu | Konum | Düzeltme |
|------|-------|-------|----------|
| Kritik/Yüksek/Orta/Düşük | tek cümle | dosya:satır | somut öneri |

- Bulgu yoksa "temiz" de; ama neye bakıp neye bakmadığını listele.
- Emin olmadığın bulguyu "doğrulanmadı" diye işaretle, abartma.

## Korkuluklar

- Bu tarama sızma testi DEĞİLDİR; kritik sistemlerde profesyonel
  denetim öner.
- Bulguları düzeltirken davranışı değiştirme; düzeltme sonrası testleri çalıştır.

Değişiklik öner

Bu promptu yalnızca sahibi düzenleyebilir; ama sen bir iyileştirme önerebilirsin. Sahibi kabul ederse içerik güncellenir.

Öneri göndermek için giriş yap