Pustaka detektorSkrip instalasi paket

Skrip instalasi paket

Instal paket. Jalankan skripnya.

Lihat hook siklus hidup yang dapat dieksekusi sebelum terlewatkan dalam manifest.

Lihat masalahnya. Pahami temuannya.

Narasi bahasa Inggris dengan teks.

Bagaimana ini bisa terlewat

Agen Anda menginstal dependensi. Manifest paket juga menyebutkan skrip yang berjalan selama instalasi. Apa yang terlihat seperti setup dapat mencakup eksekusi kode yang layak ditinjau sendiri.

Sebuah proyek mungkin menggunakan hook instalasi untuk langkah build yang sangat biasa. Namun mungkin juga berisi perintah yang tidak terduga. Poin pentingnya adalah skrip tersebut ada di manifest, di mana dapat terlewatkan jika Anda hanya memeriksa perintah instalasi tingkat atas.

Apa yang dideteksi ClawMetry

ClawMetry memindai manifest paket workspace untuk hook siklus hidup instalasi yang didukung. Ini memunculkan peringatan eksekusi manifest paket dan mengidentifikasi hook. Pemindai membaca file; tidak mengeksekusi perintah yang ditemukannya.

Perbedaan yang mengubah temuan

Contoh pemicu

postinstall: node build.js

Temuan peringatan

Perbandingan tenang

test: node build.js

Tidak ada temuan untuk detektor ini.

Contoh yang diperiksa memiliki skrip postinstall yang menyebutkan program build dan menghasilkan peringatan. Tempatkan program yang sama di bawah skrip test biasa, dan detektor ini tetap tenang. Perbedaannya adalah kapan manifest menyatakan program akan berjalan.

Periksa hasil detektor
{
  "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"
  }
}
Unduh input dan hasil lengkap (JSON)
Cara contoh diperiksa

Contoh-contoh ini mengevaluasi detektor yang diterbitkan dengan data peristiwa yang dibuat atau file konfigurasi sementara. Video mengilustrasikan perilaku tersebut. Ini bukan rekaman agen langsung atau antarmuka produk. Tidak ada perintah dalam contoh yang dieksekusi.

Hasilnya menetapkan perilaku untuk input ini. Ini tidak menetapkan konsumsi runtime, pencegahan, atau kompromi nyata. Periksa kontrak sumber yang disematkan.

Apa yang perlu diperiksa selanjutnya

Baca perintah hook dan program yang direferensikannya. Periksa apakah perilaku instalasi tersebut sesuai dengan proyek dan apakah sumber dependensi tepercaya. Jika instalasi sudah terjadi, tinjau efek aktualnya secara terpisah sebelum menerima lingkungan.

  1. Baca hook siklus hidup
  2. Periksa program yang direferensikan
  3. Tinjau perilaku instalasi yang diharapkan

Apa yang ditetapkan sinyal ini

Hook instalasi tidak secara otomatis bersifat jahat. Temuan ini melaporkan entri manifest, bukan bukti bahwa instalasi atau eksekusi terjadi.

Jaga agar momen penting tetap terlihat.

Ikuti aktivitas agen, periksa temuan, dan tentukan apa yang perlu diperhatikan.