
npm yayın anahtarına ara kademe geldi; doğrudan publish artık reddediliyor

npm, 18 Eylül 2026’da granular access token’lara Read and write (stage only) seçeneğini ekledi. GitHub’ın resmî npm duyurusuna göre bu token npm stage publish ile sürümü incelemeye gönderebiliyor; aynı token’la yapılan doğrudan npm publish girişimi, Bypass 2FA ayarı açık olsa bile reddediliyor.
18 Eylül’de kullanıma açılan seçenek, otomatik yayını iki adıma ayırıyor: CI/CD iş akışı paketi bekleyen sürüm olarak yüklüyor, yayın erişimi bulunan bir bakımcı ise incelemenin ardından 2FA ile onay veriyor. Kurulum için npm’nin web arayüzünde stage-only izinli granular token oluşturmak, CI/CD sırrını değiştirmek ve yayın komutunu npm stage publish olarak güncellemek gerekiyor.
Doğrudan yayın akışı nasıl değişiyor?
Doğrudan yayın yetkili eski akışta otomasyonun çalıştırdığı npm publish, başarılı olduğunda sürümü registry’de erişilebilir hâle getirebiliyordu. Stage-only token’da otomasyon yalnızca yayın adayını teslim ediyor; iş akışının başarıyla tamamlanması, paketin kullanıcılar tarafından indirilebildiği anlamına gelmiyor.
Bekleyen sürümler npm stage list ile listelenebiliyor. Bakımcı belirli bir kaydın ayrıntılarını npm stage view <stage-id> ile görebiliyor, tarball’ı npm stage download <stage-id> ile inceleyebiliyor ve uygun bulduğu sürümü npm stage approve <stage-id> komutuyla yayımlayabiliyor. Onay CLI üzerinden veya npmjs.com’dan verildiğinde 2FA doğrulaması isteniyor; paketi aşamaya gönderen komut ise 2FA istemiyor.
Bu ayrım otomasyon ile nihai yayın kararını farklı yetkilere bağlıyor. Stage-only token’ı ele geçiren biri yeni bir sürümü inceleme alanına yükleyebilir, ancak bakımcı onayı olmadan o sürümü canlı registry’ye taşıyamaz.
Kurulum için hangi koşullar gerekiyor?
npm’nin staged publishing belgesi, en az npm CLI 11.15.0 ve Node.js 22.14.0 kullanılmasını şart koşuyor. Hesapta 2FA etkin olmalı, işlemi yapan tarafın paket için publish erişimi bulunmalı ve paket npm registry’de önceden mevcut olmalı; yepyeni bir paketin ilk sürümü bu akışla aşamaya alınamıyor.
Token npmjs.com üzerindeki Access Tokens bölümünden oluşturuluyor. Paket ve scope izinlerinde Read and write (stage only) seçiliyor; erişim, otomasyonun gerçekten yayımladığı paketlerle sınırlandırılabiliyor. Granular token’ın tamamı yalnızca oluşturulduğu anda gösterildiği için yeni değer o aşamada CI/CD sır deposuna aktarılmalı.
- Node.js ile npm CLI sürümlerinin asgari koşulları karşıladığını doğrulayın.
- Hesapta 2FA’yı etkinleştirin ve paketin registry’de bulunduğunu kontrol edin.
- Gerekli paket veya scope’larla sınırlandırılmış Read and write (stage only) token oluşturun.
- CI/CD sistemindeki yayın sırrını yeni token’la değiştirin.
- İş akışında npm publish yerine npm stage publish çalıştırın.
- Bekleyen sürümü inceleyip 2FA ile onaylayacak bakımcıyı belirleyin.
Trusted Publishing kullanan CI/CD iş akışları da paketi doğrudan yayımlamak yerine incelemeye gönderebiliyor; nihai onay yine bakımcı ve 2FA gerektiriyor. Uzun ömürlü token’dan OIDC tabanlı kimlik doğrulamaya geçişi değerlendiren ekipler için OIDC yayıncı izinlerinin kapsamı bu nedenle aynı yayın mimarisinin diğer seçeneğini oluşturuyor.
Stage-only token salt okunur değil
Yeni izin türü yalnızca yeni paket sürümünü doğrudan yayımlama yetkisini kesiyor; token’a genel bir yazma yasağı getirmiyor. CI/CD News’un teknik incelemesi de stage-only token’ın dist-tag taşıma ve yayımlanmış sürümleri deprecated olarak işaretleme yetkilerini koruduğunu, sıradan npm publish işlemini ise reddettiğini doğruluyor.
Bu kalan yetkiler paket tüketicilerini etkileyebilir. Dist-tag değişikliği, belirli bir etiketi başka bir sürüme yönlendirebilir; deprecation işlemi de kurulum sırasında kullanıcılara uyarı gösterilmesine yol açabilir. Dolayısıyla stage-only token, read-only kimlik bilgisi gibi saklanmamalı ve yalnızca doğrudan yayın engeline güvenilmemeli.
Pratik güvenlik sınırı nettir: token tek başına yeni sürümü canlıya çıkaramaz, fakat paket üzerinde bazı yazma işlemlerini yapabilir. Paket kapsamını daraltma, kısa bir sona erme süresi belirleme, sırrın günlüklere yazılmasını önleme ve kullanılmayan token’ı iptal etme gereği devam ediyor.
Mevcut token’lar kendiliğinden değişmiyor
Stage-only seçeneği isteğe bağlı. npm, mevcut granular token’ların izinlerini veya doğrudan yayın kabiliyetini otomatik olarak değiştirmedi; bu nedenle yalnızca iş akışındaki komutu değiştirmek yeterli değil. Yeni izin türünde token oluşturulması ve CI/CD ortamındaki eski kimlik bilgisinin ayrıca değiştirilmesi gerekiyor.
npm, Bypass 2FA kullanan token’larla doğrudan yeni sürüm yayımlama olanağını Ocak 2027’de kaldırmayı hedefliyor. Bu, bugün tamamlanmış genel bir kapatma değil: şu anda doğrudan npm publish reddi stage-only token için geçerli, diğer mevcut token’lar ise kendiliğinden bu sınıfa geçirilmiyor.
Doğrulanan mevcut durumda stage-only token kullanılabilir hâlde ve otomasyonu bakımcı onayından ayıran bir geçiş yolu sunuyor. Yeni sürümün registry’de erişilebilir olması 2FA destekli insan onayına bağlı kalırken dist-tag ve deprecation yetkileri token’da çalışmayı sürdürüyor.
Ayrıca okuyun:
İlgili makaleler


npm kurtarma kodu 72 saat yayın kapatıyor; tüm hesaplar kapsamda

GitHub Actions önbelleğine dört yetki geldi; yanlış “write” zehirlenme riski

Blubrry tek yüklemeyle üç biçim üretiyor; PowerPress şimdilik dışarıda

CrowdStrike zararlı paketi indirmede durduracak: npm ve PyPI kapsamda

Claude Code’da onayları kapatmak yerine izinleri böyle sınırlayın
Bültenimize abone olun
En son Web3, yapay zekâ ve kripto haberleri doğrudan gelen kutunuza gelsin.