Özet
NPM tedarik zinciri saldırıları, yalnızca 2024 yılında 3.000'den fazla kötü amaçlı pakete yükseldi ve Mart 2026'daki Axios ihlali, ilk 10 paketin bile güvende olmadığını kanıtladı. Bu kılavuz, API geliştiricilerinin ihtiyaç duyduğu her savunma katmanını kapsar: lockfile zorlaması, postinstall betik engelleme, menşe doğrulama, davranışsal analiz araçları ve saldırı yüzeyinizi daraltan mimari seçimleri.
Giriş
31 Mart 2026'daki Axios tedarik zinciri saldırısı ilk npm ihlali değildi. Son da olmayacak. Ancak 83 milyon haftalık indirme ve tek bir ele geçirilmiş bakımcı hesabı aracılığıyla dağıtılan çapraz platformlu bir RAT (Uzaktan Erişim Truva Atı) ile JavaScript ekosisteminin aldığı en yüksek sesli uyandırma çağrısı oldu.
Bu durumu alışılagelmiş “bağımlılıklarınızı güncelleyin” tavsiyesinden farklı kılan şey şu: Axios saldırısı her geleneksel savunmayı aştı. Kötü amaçlı kod Axios'un kendisinde değildi. Bir postinstall kancasını tetikleyen hayalet bir bağımlılık aracılığıyla enjekte edildi. Saldırı penceresi sırasında npm install çalıştırdıysanız lockfile'lar yardımcı olmadı. Henüz sabitleme yapmadıysanız sürüm sabitleme de yardımcı olmadı.
API geliştiricileri özellikle savunmasızdır. Test betikleriniz, CI/CD işlem hatlarınız, sahte sunucularınız ve HTTP istemcilerinizin tümü npm'den çekilir. Araç zincirinizdeki tek bir tehlikeye atılmış paket, geliştirme makinenizden API anahtarlarını, veritabanı kimlik bilgilerini ve bulut jetonlarını sızdırabilir.
button
Bu kılavuz, temel lockfile hijyeninden gelişmiş davranışsal analize kadar yedi koruma katmanını kapsar.
Katman 1: Lockfile Zorlaması
Lockfile'lar Neden Önemlidir?
Bir lockfile, kurulum anındaki her paketin ve geçişli bağımlılığın tam sürümünü kaydeder. Bir lockfile olmadan, npm install semver aralığınıza uyan en son sürümü çözer. Eğer package.json dosyanızda "axios": "^1.14.0" yazıyorsa ve depoda kötü amaçlı bir 1.14.1 sürümü varsa, kötü amaçlı sürümü alırsınız.
Kurallar
Lockfile'ınızı her zaman commit'leyin. package-lock.json (npm), yarn.lock (Yarn), pnpm-lock.yaml (pnpm) veya bun.lock (Bun) olsun, sürüm kontrolünde olmalıdır.
CI/CD'de "dondurulmuş kurulumlar" kullanın. Otomatik ortamlarda asla npm install çalıştırmayın. Dondurulmuş lockfile eşdeğerini kullanın:
# npm
npm ci
# yarn
yarn install --frozen-lockfile
# pnpm
pnpm install --frozen-lockfile
# bun
bun install --frozen-lockfile
npm ci, node_modules'i siler ve kesinlikle lockfile'dan kurulum yapar. Lockfile package.json ile eşleşmezse, başarısız olur. Bu, çözümleme sürprizlerini önler.
Pull request'lerde lockfile farklarını inceleyin. Bir PR package-lock.json dosyasını değiştirdiğinde, neyin değiştiğini kontrol edin. Yeni bağımlılıklar, sürüm yükseltmeleri ve kayıt defteri URL değişiklikleri hepsi dikkatli incelemeyi hak eder. Socket.dev gibi otomatik araçlar, PR incelemelerinde şüpheli lockfile değişikliklerini işaretleyebilir.
Lockfile Boşluğu
Lockfile'lar beklenmeyen sürüm çözümlemelerine karşı koruma sağlar, ancak ilk kuruluma karşı koruma sağlamazlar. Bir saldırı penceresi sırasında bir proje başlatır veya yeni bir bağımlılık eklerseniz, kötü amaçlı sürüm kilitlenir. Bu nedenle lockfile'lar Katman 1'dir, tek katman değildir.
Katman 2: Postinstall Betiklerini Devre Dışı Bırakın
Birincil Saldırı Vektörü
Axios saldırısı, ua-parser-js saldırısı, event-stream saldırısı ve düzinelerce diğer saldırıların tümü aynı mekanizmayı kullandı: npm install sırasında rastgele kod çalıştıran bir postinstall betiği. Bu kanca, uygulama kodunuz çalışmadan, paketi incelemeden ve herhangi bir çalışma zamanı güvenlik aracı müdahale edemeden önce yürütülür.
Betikleri Küresel Olarak Engelleyin
.npmrc dosyanıza ekleyin:
ignore-scripts=true
Veya CLI aracılığıyla ayarlayın:
npm config set ignore-scripts true
Bu, paket kurulumu sırasında tüm yaşam döngüsü betiklerinin (preinstall, install, postinstall, prepare) çalışmasını engeller.
Betiklere İhtiyaç Duyan Paketleri Yönetin
Bazı paketler, yerel derleme için postinstall betikleri gerektirir (örneğin bcrypt, sharp veya sqlite3). İki seçeneğiniz var:
Seçenek 1: Kurulumdan Sonra Betikleri Seçici Olarak Çalıştırın
npm ci --ignore-scripts
npm rebuild bcrypt sharp
Seçenek 2: İzin Listesi Kullanın (npm 10+)
Yalnızca güvenilir paketlerin betikleri çalıştırmasına izin veren bir .scriptsrc.json oluşturun:
{
"allowScripts": {
"bcrypt": true,
"sharp": true
}
}
Seçenek 3: Önceden Oluşturulmuş İkilileri Kullanın
Daha önce yerel derlemeye ihtiyaç duyan birçok paket artık önceden oluşturulmuş ikili dosyalar sunuyor. Örneğin sharp, çoğu platform için önceden oluşturulmuş ikili dosyalar sağlar ve postinstall derlemesi ihtiyacını ortadan kaldırır. Bağımlılıklarınızı kontrol edin; düşündüğünüzden daha az betik istisnasına ihtiyacınız olabilir.
PackageGate Uyarısı
Ocak 2026'da araştırmacılar, npm, pnpm, vlt ve Bun'ı etkileyen “PackageGate” adlı altı sıfır gün güvenlik açığını açıkladı. Bir bulguya göre: Git tabanlı bağımlılıklar, yaşam döngüsü betikleri devre dışı bırakılmış olsa bile kod yürütmeyi sağlayan yapılandırma dosyaları taşıyabilir. Eğer package.json dosyanız bağımlılıklar için Git URL'lerini referans alıyorsa, tek başına ignore-scripts yeterli değildir. Bu bağımlılıkları belirli commit hash'lerine sabitleyin ve depo içeriklerini denetleyin.
Katman 3: Tam Sürümleri Sabitleyin
Semver Aralıklarını Kullanmayı Bırakın
npm install --save komutunun varsayılan davranışı, paketleri bir şapka işareti (`^`) ön ekiyle ekler:
{
"axios": "^1.14.0"
}
^ işareti “1.14.0 ile uyumlu” anlamına gelir, bu da en son 1.x.x sürümüne çözümlenir. Axios saldırısı sırasında bu, 1.14.1 sürümüne çözümlenmek anlamına geliyordu.
Bunun yerine tam sürümleri sabitleyin:
{
"axios": "1.14.0"
}
npm'i varsayılan olarak tam sürümleri kaydetmek üzere yapılandırın:
# .npmrc
save-exact=true
save-prefix=''
Geçişli Bağımlılıklar İçin Geçersiz Kılmaları Kullanın
Doğrudan bağımlılıklarınızın kendi bağımlılıkları vardır. Eğer geçişli bir bağımlılık tehlikeye atılırsa, doğrudan bağımlılığınızı sabitlemek yardımcı olmaz. Geçişli çözümlemeyi kontrol etmek için geçersiz kılmaları (overrides) kullanın:
{
"overrides": {
"axios": "1.14.0",
"plain-crypto-js": "npm:empty-npm-package@1.0.0"
}
}
Yarn için:
{
"resolutions": {
"axios": "1.14.0"
}
}
pnpm için:
{
"pnpm": {
"overrides": {
"axios": "1.14.0"
}
}
}
Avantaj/Dezavantaj
Tam sabitleme, otomatik yama güncellemelerini almayacağınız anlamına gelir. Sürümleri manuel olarak yükseltmeniz gerekecek, bu da bakım yükü oluşturur. Bu ödünleşme bilinçlidir: otomatik güncellemeler yerine kontrollü güncellemeleri seçiyorsunuz. Güvenlik açısından hassas projeler için bu ödünleşme değerlidir.
Katman 4: Paket Menşesini Doğrulayın
Menşe Ne Anlama Gelir?
npm menşe tasdiki, yayımlanmış bir paketi, herkese açık bir şeffaflık defterine kaydedilmiş Sigstore imzalarını kullanarak kaynak kodu ve derleme ortamına bağlar. Menşe etkinleştirilmiş bir CI/CD hattından bir paket yayımlandığında, paket aşağıdakilerin kriptografik kanıtlarını içerir:
- Hangi kaynak deposundan derlendiği
- Hangi CI/CD sisteminin derlediği
- Hangi commit'in derlemeyi tetiklediği
Menşe Nasıl Kontrol Edilir?
npm audit signatures
Bu, yüklü paketlerin geçerli menşe tasdiklerine sahip olduğunu doğrular. Bir geliştiricinin makinesinden manuel olarak yayımlanan paketlerin menşesi olmayacaktır.
Kötü amaçlı Axios sürümlerinde OIDC menşe bağlaması yoktu ve karşılık gelen GitHub commit'leri bulunmuyordu. Eğer otomatik menşe kontrolü standart bir uygulama olsaydı, saldırı hemen uyarı işaretleri verirdi.
Kendi Paketleriniz İçin Menşeyi Etkinleştirin
npm paketleri yayımlıyorsanız, CI/CD'nizde menşeyi etkinleştirin:
# GitHub Actions örneği
- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: https://registry.npmjs.org
- run: npm publish --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
.npmrc dosyanıza ekleyin:
provenance=true
Sınırlamalar
Menşe isteğe bağlıdır (opt-in). Çoğu npm paketinde henüz bu özellik yoktur. Ve menşe yalnızca bir paketin nerede derlendiğini kanıtlar. Kaynak kodunun güvenli olduğunu kanıtlamaz. Tehlikeye atılmış bir CI/CD hattı, geçerli menşe ile kötü amaçlı bir paket yayımlayabilir.
Katman 5: Davranışsal Analiz Araçlarını Kullanın
Güvenlik Açığı Taramasının Ötesi
npm audit ve Snyk gibi geleneksel araçlar, bilinen güvenlik açıklarının (CVE'ler) veritabanlarına karşı kontrol yapar. Rapor edilen sorunları yakalarlar ancak sıfır gün saldırılarını kaçırırlar. Axios ihlali yayımlandığında hiçbir CVE veritabanında değildi.
Davranışsal analiz araçları, paketlerin ne yaptığını inceler, onlar hakkında ne rapor edildiğini değil.
Socket.dev
Socket, kurulum ve çalışma zamanı boyunca paket davranışını analiz eder. Aşağıdakileri işaretler:
- Kurulum sırasında ağ istekleri
- Paket dizini dışındaki dosya sistemi erişimi
- Kabuk komutu yürütme
- Ortam değişkeni toplama
- Karmaşık kod kalıpları

GitHub ile entegre edildiğinde, Socket yeni bağımlılıklar şüpheli davranışlar sergilediğinde PR'lara yorum yapar. Axios saldırısının plain-crypto-js bağımlılığı birden fazla Socket uyarısı tetiklerdi: karmaşık kod, postinstall sırasında ağ istekleri ve paket dizini dışına dosya sistemi yazma işlemleri.
# Socket CLI'yi kur
npm install -g @socketsecurity/cli
# Projenizi tarayın
socket scan
Snyk
Snyk, risk puanları, sömürü olgunluk verileri ve düzeltme rehberliği ile güvenlik açığı yönetimi sağlar. Bilinen güvenlik açıkları için daha güçlüdür ancak sıfır gün davranışsal tespiti için daha zayıftır.
# Snyk CLI'yi kur
npm install -g snyk
# Projenizi test edin
snyk test

Katmanlı Yaklaşım
Her ikisini de kullanın. Socket, Snyk'in kaçırdığı davranışsal anormallikleri yakalar. Snyk, Socket'in sağladığından daha zengin bir bağlamla bilinen güvenlik açıklarını yakalar. npm audit'i temel olarak ekleyin:
# Temel
npm audit
# Davranışsal analiz
socket scan
# Güvenlik açığı yönetimi
snyk test
Her üçünü de CI/CD'de bir geçit olarak çalıştırın. Herhangi bir kritik bulgu derlemeyi engellemelidir.
Katman 6: Bağımlılık Yüzeyinizi Azaltın
Daha Derin Soru
node_modules'ünüzdeki her paket bir güven kararıdır. Axios saldırısı, haftalık 83 milyon indirmeye sahip bir paketi tehlikeye attı. Ortalama bir Node.js projesi yüzlerce geçişli bağımlılığa sahiptir. Her biri potansiyel bir saldırı vektörüdür.
En etkili savunma, savunulacak daha az bağımlılığa sahip olmaktır.
Bağımlılık Ağacınızı Denetleyin
# Toplam bağımlılık sayınızı sayın
npm ls --all | wc -l
# Tekrarları kontrol edin
npm ls --all | sort | uniq -c | sort -rn | head -20
Her bağımlılık için şu soruları sorun:
- Dil veya çalışma zamanı bunu yerel olarak sağlıyor mu? Node.js 18+ daha önce paket gerektiren
fetch,crypto,URL,FormDatave birçok yardımcı programı içerir. - Bu bağımlılık düzinelerce geçişli bağımlılık çekiyor mu? 50 alt bağımlılığı olan tek bir paket, saldırı yüzeyinizi 50 kat artırır.
- Bunu vendor edebilir misiniz? Küçük yardımcı program paketleri için, kaynağı projenize kopyalamak tedarik zinciri riskini tamamen ortadan kaldırır.
Yaygın Paketler İçin Yerel Alternatifler
| Paket | Yerel alternatif | Şu tarihten itibaren mevcut |
|---|---|---|
| axios, node-fetch, got | fetch (küresel) |
Node.js 18 |
| uuid | crypto.randomUUID() |
Node.js 19 |
| dotenv | --env-file bayrağı |
Node.js 20.6 |
| chalk | util.styleText() |
Node.js 21.7 |
| glob | fs.glob() |
Node.js 22 |
| path-to-regexp | Yerel URL pattern API | Node.js 23 |
Özellikle API Testi İçin
API test iş akışları genellikle HTTP istemci kütüphanelerine, onay kütüphanelerine, test çalıştırıcılarına ve sahte sunuculara bağımlıdır. Her bağımlılık bir saldırı yüzeyidir.

Apidog, tüm yığını tek bir platformla değiştirir:
- HTTP istemcisi: Yerleşik, npm bağımlılığına gerek yok
- Onaylar: Yerleşik onaylarla görsel test oluşturucu
- Test çalıştırıcı: Apidog CLI aracılığıyla CI/CD entegrasyonu ile otomatik test senaryoları
- Sahte sunucu: Dinamik yanıtlarla akıllı sahte sunucu, Express veya üçüncü taraf sahte kütüphaneleri yok
- Dokümantasyon: API spesifikasyonlarınızdan otomatik olarak oluşturulur
API test iş akışınızı Apidog'a taşımak, test altyapınızdaki düzinelerce npm bağımlılığını ortadan kaldırır. Daha az bağımlılık, daha az güven kararı ve daha az saldırı vektörü anlamına gelir.
API test yığınızı birleştirmek için Apidog'u ücretsiz deneyin.
button
Katman 7: Ağ ve Çalışma Zamanı İzleme
Bilinen Kötü Amaçlı Alan Adlarını Engelleyin
Herhangi bir tedarik zinciri saldırısından sonra, komuta ve kontrol altyapısını ağ düzeyinde engelleyin:
# /etc/hosts'a ekle
echo "0.0.0.0 sfrclak.com" | sudo tee -a /etc/hosts
CI/CD ortamları için, dışarıya doğru ağ erişimini bilinen iyi alan adlarıyla kısıtlayın. Çoğu derleme süreci yalnızca npm kayıt defterine, git barındırıcınıza ve dağıtım hedeflerinize erişime ihtiyaç duyar. Diğer her şey varsayılan olarak engellenmelidir.
CI/CD İçin StepSecurity Harden-Runner Kullanın
StepSecurity'nin Harden-Runner'ı GitHub Actions iş akışlarını gerçek zamanlı olarak izler. npm install başladıktan sonra 1.1 saniye içinde Axios dropper'ın C2 ile iletişim kurduğunu tespit etti. Araç şunları sağlar:
- GitHub Actions için dışarıya doğru ağ izleme
- Süreç yürütme takibi
- Dosya bütünlüğü izleme
- Anormal davranışlar için otomatik uyarı
# GitHub Actions
- uses: step-security/harden-runner@v2
with:
egress-policy: audit # veya katı mod için 'block'
Çalışma Zamanı Süreç İzleme
Geliştirme makineleri için, Node.js tarafından başlatılan şüpheli alt süreçleri işaretleyen uç nokta tespit ve yanıt (EDR) araçlarını düşünün. Axios RAT, npm kurulum süreci içinden osascript (macOS), cscript (Windows) ve python3 (Linux) başlattı. Bu alt süreç kalıpları tespit edilebilir.
Önerilen .npmrc Yapılandırması
Yukarıdaki katmanları birleştiren güvenlik açısından güçlendirilmiş bir .npmrc dosyası aşağıdadır:
# Tam sürümleri sabitle
save-exact=true
save-prefix=
# Yaşam döngüsü betiklerini devre dışı bırak
ignore-scripts=true
# Yayımlama için menşeyi etkinleştir
provenance=true
# Resmi kayıt defterini kullan
registry=https://registry.npmjs.org/
# Yayımlama için 2FA gerektir
auth-type=web
# Denetim düzeyi eşiği
audit-level=moderate
Bu dosyayı deponuza commit'leyin, böylece her ekip üyesi aynı güvenlik ayarlarını kullanır.
CI/CD Güvenlik Hattı Örneği
Yedi katmanın tümünü uygulayan bir GitHub Actions iş akışı aşağıdadır:
name: Secure Build
on: [push, pull_request]
jobs:
security-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: step-security/harden-runner@v2
with:
egress-policy: audit
- uses: actions/setup-node@v4
with:
node-version: 22
# Katman 1+2: Dondurulmuş lockfile, betik yok
- run: npm ci --ignore-scripts
# Katman 3: Beklenmeyen sürüm olmadığını doğrula
- run: npm ls --all > deps.txt
# Katman 4: Menşeyi kontrol et
- run: npm audit signatures
# Katman 5: Davranışsal analiz
- run: npx socket scan
# Katman 5: Güvenlik açığı taraması
- run: npx snyk test
# Katman 1: Temel denetim
- run: npm audit --audit-level=moderate
# Yalnızca izin verilen yerel bağımlılıkları yeniden derle
- run: npm rebuild sharp bcrypt
npm Güvenliği İçin Sırada Ne Var?
Popüler Paketler İçin Zorunlu Menşe
npm, belirli bir indirme eşiğinin üzerindeki paketler için menşe tasdiki zorunluluğunu tartışıyor. Bu, Axios saldırısını mümkün kılan manuel jeton tabanlı yayımlamayı önleyecektir.
İki Kişilik Sürüm Onayı
Çift yetkilendirme gerektiren finansal işlemler gibi, yüksek indirmeli paketler de sürümleri onaylamak için ikinci bir bakımcıya ihtiyaç duyabilir. Tek bir ele geçirilmiş hesap yeterli olmayacaktır.
Çalışma Zamanı İzin Kapsamlandırma
Deno, betiklerin neye erişebileceğini (ağ, dosya sistemi, ortam değişkenleri) açıkça izin verilmedikçe zaten kısıtlar. Node.js benzer izin modellerini araştırıyor. Bu özellik çıktığında, postinstall betiklerinin ağ istekleri yapmak veya dosya sistemine erişmek için açık izne ihtiyacı olacaktır.
Paket Yöneticisi Yakınsaması
pnpm'in katı izolasyon modeli (paketler yalnızca beyan ettikleri bağımlılıklara erişebilir), birçok bağımlılık karışıklığı saldırısını önler. npm benzer katılığı benimsedikçe, saldırı yüzeyi daralır.
Sıkça Sorulan Sorular
npm'de tedarik zinciri saldırısı nedir?
npm'deki bir tedarik zinciri saldırısı, doğrudan uygulamanızı değil, yazılım bağımlılık zincirini hedefler. Saldırganlar paket bakımcı hesaplarını ele geçirir, popüler paketlere kötü amaçlı kod enjekte eder veya benzer adlara sahip typosquat paketleri yayımlar. Bağımlılıkları yüklediğinizde veya güncellediğinizde, kötü amaçlı kod makinenizde veya CI/CD hattınızda yürütülür, kimlik bilgilerini çalar, arka kapılar kurar veya verileri dışarı sızdırır.
npm audit tedarik zinciri saldırılarına karşı korunmak için yeterli mi?
Hayır. npm audit, bilinen güvenlik açıkları (CVE'ler) veritabanına karşı kontrol yapar. Axios ihlali gibi sıfır gün saldırıları, gerçekleştikleri anda hiçbir CVE veritabanında yer almaz. Paketlerin ne yaptığını inceleyen, onlar hakkında ne rapor edildiğini değil, Socket.dev gibi davranışsal analiz araçlarına ihtiyacınız var. npm audit'i tek savunmanız olarak değil, bir temel olarak kullanın.
npm'i tamamen kullanmayı bırakmalı mıyım?
Hayır. npm en büyük paket ekosistemi olmaya devam etmektedir ve çoğu paket güvenlidir. Amaç, tam sürüm sabitleme, lockfile zorlaması, betik engelleme ve bağımlılık minimizasyonu yoluyla maruziyetinizi azaltmaktır. Her bağımlılığın gerekli olup olmadığını göz önünde bulundurun ve mümkün olduğunda yerel alternatifleri kullanın.
Apidog, npm tedarik zinciri riskini azaltmaya nasıl yardımcı olur?
Apidog, API geliştirme için yerleşik bir HTTP istemcisi, test çalıştırıcısı, sahte sunucu ve dokümantasyon oluşturucu sağlar. Bu, Axios, node-fetch, Jest, Express (sahte sunucular için) ve diğer test bağımlılıkları gibi npm paketlerine olan ihtiyacı ortadan kaldırır. Daha az npm bağımlılığı, API geliştirme iş akışınızda daha az saldırı vektörü anlamına gelir.
npm'de paket menşesi nedir?
Paket menşesi, yayımlanmış bir paketi kaynak deposuna ve CI/CD derleme ortamına kriptografik olarak bağlamak için Sigstore'u kullanır. Bir paketin nerede ve nasıl oluşturulduğunu kanıtlar. npm audit signatures ile menşeyi doğrulayabilirsiniz. Geliştirici makinelerinden manuel olarak yayımlanan paketlerin menşesi yoktur, bu da yüksek indirmeli paketler için bir kırmızı bayraktır.
Kaç npm paketi kötü amaçlı?
Snyk, 2024'te 3.000'den fazla kötü amaçlı npm paketi tespit etti. 2025'in 4. çeyreğine kadar, Sonatype tek bir çeyrekte npm, PyPI ve diğer kayıt defterlerinde 120.612 kötü amaçlı yazılım saldırısını engelledi. Bu sayı artıyor. Çoğu kötü amaçlı paket düşük indirmeli typosquat'lardır, ancak Axios gibi yüksek profilli ihlaller, popüler paketlerin de bağışık olmadığını kanıtlar.
PackageGate güvenlik açığı nedir?
PackageGate, Ocak 2026'da açıklanan ve npm, pnpm, vlt ve Bun'ı etkileyen altı sıfır gün güvenlik açığı setidir. Bir bulgu, Git tabanlı bağımlılıkların, yaşam döngüsü betikleri devre dışı bırakılmış olsa bile kod yürütmeyi sağlayan yapılandırma dosyaları taşıyabileceğini gösteriyor. Bu, bağımlılıklarınız Git depolarına referans veriyorsa tek başına ignore-scripts'in yeterli olmadığı anlamına gelir. Git bağımlılıklarını belirli commit hash'lerine sabitleyin.
Temel Çıkarımlar
- Lockfile zorlaması temelinizdir, ancak bir saldırı penceresi sırasında ilk kuruluma karşı koruma sağlamaz
.npmrcdosyasındaignore-scripts=trueile postinstall betiklerini küresel olarak devre dışı bırakın- Semver aralığı sürprizlerini önlemek için
save-exact=trueile tam sürümleri sabitleyin - Manuel yüklemeleri yakalamak için
npm audit signaturesile paket menşesini doğrulayın - Snyk (bilinen güvenlik açıkları) ve
npm audit(temel) üzerine Socket.dev'i (davranışsal analiz) katmanlandırın - Node.js yerel API'lerini ve Apidog gibi entegre platformları kullanarak bağımlılık sayınızı azaltın
- StepSecurity Harden-Runner ile CI/CD ağ çıkışını izleyin
Her bağımlılık bir güven kararıdır. Ne kadar az bağımlılığınız olursa, saldırı yüzeyiniz o kadar küçülür. Ne kadar çok doğrulama katmanı uygularsanız, bir saldırganın aradan sıyrılması o kadar zorlaşır. Savunmalarınızı yalıtılmış değil, derinlemesine inşa edin.
button
