sosyalmegapixel adlı üyeden alıntı: mesajı görüntüle
Biz şahsen çalışmalarımızda Antigravity üzerinden gemini ve cloude kullanıyoruz. Aşağıya bazı bilgiler bırakıyorum.


PUTTY İLE NODE.JS İLE İLGİLİ;
npm audit:
Terminalde proje dizininde çalıştırarak kullanılan paketlerdeki bilinen açıkları listeler.
npm audit fix
Güvenli sürümlere otomatik güncellemek için.




Statik Kod Analizi (SAST - Kaynak Kod Denetimi)


Yazılımın kaynak kodunu çalıştırmadan tarayarak mantıksal ve yapısal açıkları (güvensiz veri aktarımı, yetkilendirme eksiklikleri vb.) bulma.
  • Semgrep: Açık kaynaklı, hızlı ve kural tabanlı bir statik analiz aracıdır. JavaScript/TypeScript kodlarını güvenlik kurallarına göre tarar. - https://semgrep.dev/
  • SonarQube / SonarLint: Kod kalitesi, kod kokuları (code smells) ve güvenlik zaafiyetlerini IDE içinde ve CI/CD süreçlerinde anlık gösterir. - https://www.sonarsource.com/products/sonarqube/ide/
  • ESLint Güvenlik Eklentileri: eslint-plugin-security gibi eklentilerle güvensiz regex, eval kullanımı veya tehlikeli nesne erişimlerini derleme aşamasında yakalayabilirsiniz. - https://github-com.translate.goog/es...r&_x_tr_pto=tc



    Dinamik Güvenlik Testi (DAST)
    Çalışan sitenin uç noktalarını (endpoints) dışarıdan otomatik olarak test etmek için:
    • OWASP ZAP (Zed Attack Proxy): OWASP tarafından sunulan, web uygulamalarındaki SQL Enjeksiyonu, XSS, güvensiz başlıklar ve kimlik doğrulama zafiyetlerini test eden ücretsiz ve standart bir araçtır. - https://www.zaproxy.org/
    • Tarayıcı Geliştirici Araçları (Network & Console): API isteklerinde yetkisiz veri dönüp dönmediğini (IDOR kontrolü), token/çerez güvenliğini denetlemek için kullanılır. - https://developer.chrome.com/docs/devtools?hl=tr




Kritik Kontrol Listesi (OWASP Top 10)


Yazılımınızda manuel olarak kontrol etmeniz gereken en önemli güvenlik maddeleri:
  1. Kimlik Doğrulama & Yetkilendirme (Auth/RBAC):
    • Tüm /api/... rotalarında oturum ve rol (Kasiyer, Yönetici vb.) kontrolleri backend tarafında eksiksiz yapılmalıdır (sadece arayüzde gizlemek yeterli değildir).
  2. Girdi Doğrulama (Input Validation):
    • İstemciden gelen her veri (fiyat, miktar, müşteri ID vb.) sunucu tarafında zod veya benzeri bir şema ile tip ve sınır denetiminden geçirilmelidir.
  3. SQL Enjeksiyon Koruması:
    • Drizzle ORM veya parametreli sorgular (prepared statements) kullanılarak doğrudan metin birleştirme ile SQL sorgusu oluşturulmamalıdır.
  4. İstek Sınırlandırma (Rate Limiting):
    • Giriş (/api/login) ve şifre sıfırlama gibi alanlara brute-force (kaba kuvvet) saldırılarını engellemek için IP başına istek sınırlaması uygulanmalıdır.
  5. Güvenlik Başlıkları (Security Headers):
    • next.config.ts içinde Content-Security-Policy, X-Frame-Options: DENY, X-Content-Type-Options: nosniff gibi HTTP başlıkları eklenmelidir.
  6. Hassas Veri İfşası:
    • API yanıtlarında kullanıcı şifre hash'leri, veritabanı bağlantı metinleri veya gereksiz sistem detayları istemciye gönderilmemelidir.
Tamam