Paket güvenlik açıklarını algılamak ve düzeltmek için npm denetimini kullanma

Azure DevOps Services

npm audit komutu projenizde kapsamlı bir tarama gerçekleştirerek olası güvenlik açıklarını belirler ve bulunan sorunları vurgulayan ayrıntılı bir rapor oluşturur. Güvenlik denetimleri yürütmek, projenin bağımlılıkları içindeki güvenlik açıklarını tanıma ve çözme açısından önemli bir adımdır. npm denetim düzeltmesi komutu, algılanan güvenlik açıklarını otomatik olarak giderir ve güvenli olmayan paket sürümlerini en son güvenli sürümlere güncelleştirir. Veri kaybı, hizmet kesintileri ve hassas bilgilere yetkisiz erişim gibi olası sorunları önlemek için bu güvenlik açıklarının giderilmesi çok önemlidir.

Uyarı

npm denetiminin yürütülmesi, package.json'nizde belirtilen tüm paketlerin adlarını genel kayıt defterine iletir.

Npm denetimini yerel olarak çalıştırma

npm audit akışınızda kimlik doğrulaması yapmanız gerekmeden yerel olarak yürütülebilir. Bu, projenizi güvenlik açıklarına karşı taramanıza ve algılanan güvenlik sorunları ve bunların önem derecesi hakkında ayrıntılı bir rapor almanıza olanak tanır.

Algılanan güvenlik açıklarını düzeltmek istiyorsanız komutunu çalıştırabilirsiniz npm audit fix, ancak bunu yapmak için akışınızda kimlik doğrulaması yapmanız gerekir. Bu komut, güvenli olmayan paket sürümlerini kullanılabilir en son güvenli sürümlere güncelleştirir.

npm denetim düzeltmesini çalıştırdığınızda, yalnızca yerel projenin package.json ve package-lock.json güncelleştirir, aynı zamanda bu değişiklikleri ilişkili Azure Artifacts akışıyla eşitler. Paketlerin yeni güvenli sürümleri akışınızda otomatik olarak kullanılabilir.

Bu eşitleme, aynı akışı paylaşan diğer projelerin de bu güncelleştirmelerden yararlanmasını sağlar. Tüm projelerde tutarlı ve güvenli bir paket sürümleri kümesinin korunmasına yardımcı olur.

  1. Npm denetimi gerçekleştirmek için proje dizininizde aşağıdaki komutu çalıştırın:

    npm audit
    
  2. Güvenlik açığı olmayan paket sürümlerine yükseltmeye çalışmak istiyorsanız, önce akışınıza bağlı olduğunuzdan emin olun, ardından proje dizininizde aşağıdaki komutu çalıştırın:

    npm audit fix
    

npm denetim düzeltmesini çalıştırdıktan sonra, güncelleştirmelerin hataya neden olan herhangi bir değişiklik yapmadığını onaylamak için uygulamanızda kapsamlı bir test gerçekleştirin. Bir düzeltme ana sürüm güncelleştirmesi gerektiriyorsa, olası hataya neden olabilecek değişiklikler için paketin sürüm notlarını gözden geçirmenizi öneririz. Genel güvenlik açığı olan bağımlılıklara sahip bir özel paket güvenlik açığı uyarıları alırken npm denetim düzeltmesi aracılığıyla düzeltme almayacağını unutmayın.

Not

npm denetimi, npm yüklemesinin her yürütmesiyle otomatik olarak çalışır, ancak yalnızca genel paketler için çalışır.

İşlem hattınızdan npm denetimini çalıştırma

Azure Pipelines şu anda npm denetimini desteklememektedir. İşlem hattınızda normal npm denetim komutunu kullanmayı denerseniz başarısız olur. Bunun yerine, --registry bağımsız değişkeniyle npm denetimini yürütün ve akışınızın kaynak URL'sini sağlayın.

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. İşlem hatları'na tıklayın, işlem hattınızı seçin ve ardından düzenlemek için Düzenle'ye tıklayın.

  3. İşlem hattı tanımınızdan yeni bir görev eklemek için işareti seçin + .

  4. npm görevini arayın ve ardından ekle'yi seçerek işlem hattınıza ekleyin.

  5. Göreviniz için bir Görünen ad girin ve Komut açılan menüsünden özel'i seçin.

  6. Özel komutunuzu Command and arguments metin kutusuna yapıştırın:

    1. Npm denetimi gerçekleştirmek ve paket güvenlik açıklarını taramak için aşağıdaki komutu kullanın. Yer tutucuyu akışınızın kaynak URL'si ile değiştirin:

      audit --registry=<FEED_SOURCE_URL>
      
    2. Güvenlik açığı olmayan paket sürümlerine yükseltmeye çalışmak istiyorsanız aşağıdaki komutu kullanın. Yer tutucuyu akışınızın kaynak URL'si ile değiştirin:

    audit fix --registry=<FEED_SOURCE_URL>
    

    A screenshot showing the npm audit task in a classic pipeline.