Dedektör kütüphanesiPaket kurulum betikleri

Paket kurulum betikleri

Paketi kurun. Betiğini çalıştırın.

Bir manifestodaki yürütülebilir yaşam döngüsü kancalarını gözden kaçırmadan önce görün.

Sorunu gör. Bulguyu anla.

İngilizce anlatım ve altyazıyla.

Nasıl gözden kaçıyor

Ajanınız bir bağımlılık kuruyor. Paket manifestosu ayrıca kurulum sırasında çalışan bir betik belirtiyor. Kurulum gibi görünen şey, kendi incelemesini hak eden kod yürütmeyi içerebilir.

Bir proje, tamamen olağan derleme adımları için kurulum kancaları kullanabilir. Beklenmedik bir komut da içerebilir. Önemli nokta, betiğin manifestoda bulunmasıdır; yalnızca üst düzey kurulum komutunu incelerseniz gözden kaçabilir.

ClawMetry neyi tespit eder

ClawMetry, çalışma alanı paket manifestosunu desteklenen kurulum yaşam döngüsü kancaları için tarar. Paket manifestosu yürütme uyarısı oluşturur ve kancayı tanımlar. Tarayıcı dosyayı okur; bulduğu komutu yürütmez.

Bulguyu değiştiren fark

Tetikleyen örnek

postinstall: node build.js

Uyarı bulgusu

Sessiz karşılaştırma

test: node build.js

Bu dedektör için bulgu yok.

İncelenen örnekte bir derleme programı belirten bir postinstall betiği var ve uyarı üretiliyor. Aynı programı olağan bir test betiği altına koyun; bu dedektör sessiz kalıyor. Ayrım, manifestonun programın ne zaman çalışacağını söylemesiyle ilgilidir.

Dedektör sonucunu incele
{
  "kind": "package_manifest_exec",
  "severity": "warning",
  "evidence": {
    "hooks": [
      "postinstall"
    ],
    "hits": [
      {
        "hook": "postinstall",
        "command": "node build.js",
        "tool": null,
        "alarm": null
      }
    ],
    "manifest": "package.json",
    "tools": [],
    "observed": "package_manifest"
  }
}
Girdileri ve tam sonuçları indir (JSON)
Örnek nasıl kontrol edildi

Bu örnekler, yayımlanan dedektörü yazılmış olay verisi veya tek kullanımlık yapılandırma dosyalarıyla değerlendirir. Videolar bu davranışları göstermektedir. Bunlar canlı ajan veya ürün arayüzü kayıtları değildir. Örneklerdeki hiçbir komut çalıştırılmamıştır.

Sonuç bu girdiler için davranışı ortaya koyar. Çalışma zamanı alımını, önlemeyi veya gerçek bir ihlali kanıtlamaz. Sabitlenmiş kaynak sözleşmesini incele.

Sonraki kontrol noktaları

Kanca komutunu ve başvurduğu programı okuyun. Bu kurulum davranışının projeye ait olup olmadığını ve bağımlılık kaynağının güvenilir olup olmadığını kontrol edin. Kurulum zaten gerçekleştiyse, ortamı kabul etmeden önce gerçek etkileri ayrıca inceleyin.

  1. Yaşam döngüsü kancasını okuyun
  2. Başvurulan programı inceleyin
  3. Beklenen kurulum davranışını inceleyin

Bu sinyalin ortaya koyduğu

Kurulum kancası otomatik olarak düşmanca değildir. Bu bulgu, kurulumun veya yürütmenin gerçekleştiğine dair kanıt değil, manifesto girişini raporlar.

Önemli anları görünür tut.

Ajan aktivitesini takip et, bulguları incele ve nelerin dikkatini gerektirdiğine karar ver.