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.
- Baca hook siklus hidup
- Periksa program yang direferensikan
- 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.