เหตุใดจึงมองข้ามได้ง่าย
agent ของคุณติดตั้ง dependency package manifest ยังระบุสคริปต์ที่รันระหว่างการติดตั้ง สิ่งที่ดูเหมือนการตั้งค่าอาจรวมถึงการรันโค้ดที่ควรได้รับการตรวจสอบเป็นพิเศษ
โปรเจกต์อาจใช้ install hooks สำหรับขั้นตอน build ทั่วไป และอาจมีคำสั่งที่ไม่คาดหวัง สิ่งสำคัญคือสคริปต์อยู่ใน manifest ซึ่งอาจถูกมองข้ามหากคุณตรวจสอบเพียงคำสั่งติดตั้งระดับบนสุด
สิ่งที่ ClawMetry ตรวจจับ
ClawMetry สแกน package manifest ของ workspace เพื่อหา install lifecycle hooks ที่รองรับ โดยแสดงคำเตือนการรันโค้ดจาก package manifest และระบุ hook ตัวสแกนอ่านไฟล์ ไม่ได้รันคำสั่งที่พบ
ความแตกต่างที่เปลี่ยนผลการตรวจสอบ
ตัวอย่างที่ทริกเกอร์
postinstall: node build.js
ผลการค้นพบระดับคำเตือน
การเปรียบเทียบที่เงียบ
test: node build.js
ไม่มีผลการตรวจสอบสำหรับตัวตรวจจับนี้
ตัวอย่างที่ตรวจสอบมีสคริปต์ postinstall ที่ระบุชื่อโปรแกรม build และสร้างคำเตือน วางโปรแกรมเดียวกันไว้ใต้สคริปต์ test ทั่วไป ตัวตรวจจับนี้จะไม่แจ้งเตือน ความแตกต่างอยู่ที่เมื่อ manifest ระบุว่าโปรแกรมจะรัน
ตรวจสอบผลลัพธ์ของตัวตรวจจับ
{
"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"
}
}ดาวน์โหลดข้อมูลนำเข้าและผลลัพธ์ทั้งหมด (JSON)วิธีการตรวจสอบตัวอย่าง
ตัวอย่างเหล่านี้ประเมินตัวตรวจจับที่เผยแพร่ด้วยข้อมูลเหตุการณ์ที่สร้างขึ้นหรือไฟล์คอนฟิกที่ใช้แล้วทิ้ง วิดีโออธิบายพฤติกรรมเหล่านั้น ไม่ใช่การบันทึก agent จริงหรืออินเทอร์เฟซผลิตภัณฑ์ ไม่มีคำสั่งใดในตัวอย่างถูกเรียกใช้จริง
ผลลัพธ์พิสูจน์พฤติกรรมสำหรับข้อมูลนำเข้าเหล่านี้เท่านั้น ไม่ได้พิสูจน์การรับข้อมูล runtime การป้องกัน หรือการโจมตีจริง ตรวจสอบสัญญาต้นฉบับที่ปักหมุดไว้.
สิ่งที่ควรตรวจสอบต่อไป
อ่านคำสั่ง hook และโปรแกรมที่อ้างอิง ตรวจสอบว่าพฤติกรรมการติดตั้งนั้นเหมาะสมกับโปรเจกต์และแหล่งที่มาของ dependency น่าเชื่อถือหรือไม่ หากการติดตั้งเกิดขึ้นแล้ว ให้ตรวจสอบผลกระทบจริงแยกต่างหากก่อนยอมรับสภาพแวดล้อม
- อ่าน lifecycle hook
- ตรวจสอบโปรแกรมที่อ้างอิง
- ตรวจสอบพฤติกรรมการติดตั้งที่คาดหวัง
สิ่งที่สัญญาณนี้พิสูจน์
install hook ไม่ได้เป็นอันตรายโดยอัตโนมัติ ผลการค้นพบนี้รายงานรายการ manifest ไม่ใช่หลักฐานว่าการติดตั้งหรือการรันโค้ดเกิดขึ้น