CANLI · 1087 haber akışta Son güncelleme 11:57
19 Eylül 2026
Dev · Supabase Blog

npm’den Gelen Tehlike: Supabase Projelerinizi Tedarik Zinciri Saldırılarından Nasıl Korursunuz?

npm'deki sahte 'supabase-javascript' paketi ve benzeri supply-chain saldırıları geliştiricileri hedefliyor. Alabileceğiniz pratik koruma adımlarını özetledik.

26 Mayıs 2026

Ne oldu?

npm ekosisteminde tedarik zinciri saldırıları hızla yayılırken, Supabase de bu tehdidin doğrudan hedefi oldu. `supabase-javascript` adlı bir typosquat paketi, resmi `@supabase/supabase-js` kütüphanesini taklit ederek geliştiricilerin yanlış paketi kurmasını sağlamaya çalıştı. Supabase ekibi durumu fark edince paketi npm'e raporladı ve birkaç saat içinde kaldırıldı; ancak bu kısa sürede paket gerçek indirmeler aldı. Olay, Supabase'in CLI, istemci kütüphaneleri ve Edge Functions gibi kritik bileşenlerinin de npm üzerinden dağıtıldığını hatırlattığı için ekip, hem kendi CI/CD altyapısını sertleştiren hem de geliştiricilere yönelik kapsamlı bir npm güvenlik rehberi yayımlayan adımlar attı.

Neden önemli?

npm paketleri kurulum aşamasında `postinstall`, `preinstall` veya `prepare` gibi yaşam döngüsü betikleri çalıştırabildiği için, kötü niyetli bir bağımlılık geliştirici makinesinde veya CI ortamında kod çalıştırabilir. Bu sayede API anahtarları, veritabanı URL'leri, hizmet sağlayıcı kimlik bilgileri ve hatta repoya yazma yetkisi çalınabilir. Supabase projelerinde risk daha da yüksek: Edge Functions, CLI ve istemci kütüphaneleri npm'den çekiliyor; yanlış bir güncelleme ya da sahte paket, hem yerel geliştirme ortamında hem de üretim Edge Function'larında yetkisiz veri erişimine yol açabilir. Üstelik yapay zeka destekli kodlama akışları, paket adlarını doğru üretemeyip yanlışlıkla typosquat paketler kurabiliyor; bu da tek bir yazım hatasının anahtarların sızdırılmasıyla sonuçlanabileceği anlamına geliyor.

Kim veya ne etkileniyor?

Etki alanı oldukça geniş. Supabase kullanan frontend/backend geliştiricileri, `@supabase/supabase-js`, `@supabase/ssr`, `@supabase/server` ve `supabase` CLI'yi npm üzerinden kuran tüm ekipler risk altında. Özellikle CI/CD pipeline'larında `npm install` kullanan, lockfile'ı repoya kaydetmeyen, `npx`/`dlx`/`bunx` ile geçici paket deneyen veya AI aracının önerdiği bağımlılıkları elle doğrulamayan projeler daha savunmasız. Aynı zamanda Edge Functions içinde harici npm paketleri kullanan veya tek bir büyük bağımlılık ağacına sahip uygulamalar, geçişli bağımlılıklardan gelebilecek zararlı kodlara karşı daha hassas.

Ne yapılmalı?

Savunmayı katmanlı ve pratik tutmak en etkili yaklaşımdır. Lockfile'ı (package-lock.json, pnpm-lock.yaml, yarn.lock, bun.lockb) mutlaka repoya kaydedin ve CI'da `npm ci`, `pnpm install --frozen-lockfile`, `yarn install --frozen-lockfile` gibi komutlarla kurulum yapın. Yeni sürümleri hemen kurmayın; npm, pnpm, yarn ve Bun'da desteklenen `minimumReleaseAge` ayarını en az 7 gün olacak şekilde kullanarak taze saldırıların tespit penceresini atlayın. `postinstall`, `preinstall`, `prepare` betiklerini varsayılan olarak engelleyip yalnızca güvendiğiniz paketlere izin verin. `github:`, `git+` ve `file:` gibi dış kaynaklı bağımlılıkları reddedin ve `npm audit signatures` ile Supabase paketlerinin sigstore provenance kaydını doğrulayın. Paket yöneticisini `packageManager` alanıyla sabitleyin, mümkünse özel bir registry kullanın ve hesap verileriyle ilgili API'lerde TSDoc/JSDoc uyarılarını dikkate alın.

Kaynaklar

Güne dön