คลังตัวตรวจจับการรันโค้ดจากการกำหนดค่า repository

การรันโค้ดจากการกำหนดค่า repository

การ checkout ระบุชื่อโปรแกรม

ค้นหาการกำหนดค่าที่รันได้ซึ่งการเรียกใช้เครื่องมือปกติอาจซ่อนอยู่

เห็นปัญหา เข้าใจผลการตรวจสอบ

บรรยายภาษาอังกฤษพร้อมคำบรรยาย

เหตุใดจึงมองข้ามได้ง่าย

agent รันคำสั่งพัฒนาทั่วไป แต่การกำหนดค่าของ repository ชี้ไปที่โค้ดของตัวเอง การดูเพียงชื่อเครื่องมือที่มองเห็นอาจพลาดการกำหนดค่าที่เปลี่ยนแปลงสิ่งที่เกิดขึ้นเบื้องหลัง

การ checkout สามารถกำหนดทิศทาง Git ไปยัง hooks ใน working tree กำหนดค่าการตั้งค่าที่มีคำสั่ง หรือรวม editor tasks ที่รันเมื่อเปิดโฟลเดอร์ ไฟล์เหล่านั้นควรได้รับการตรวจสอบก่อนที่คุณจะถือว่า workspace เป็นเพียงคอลเลกชันซอร์สโค้ดที่ไม่ทำอะไร

สิ่งที่ ClawMetry ตรวจจับ

ClawMetry สแกนการกำหนดค่า workspace ที่รองรับเพื่อหาการตั้งค่าที่เกี่ยวข้องกับการรันโค้ด โดยรายงาน key หรือแหล่งที่มาของการกำหนดค่าที่เกี่ยวข้อง และใช้รูปแบบคำสั่งที่ทราบว่าปลอดภัยเพื่อลดสัญญาณรบกวน ตัวตรวจจับนี้อ่านการ checkout โดยตรง ไม่ได้อาศัยเพียงสตรีมเครื่องมือของ agent

ความแตกต่างที่เปลี่ยนผลการตรวจสอบ

ตัวอย่างที่ทริกเกอร์

hooksPath = .githooks

ผลการค้นพบระดับวิกฤต

การเปรียบเทียบที่เงียบ

เส้นทาง .git/hooks เริ่มต้น

ไม่มีผลการตรวจสอบสำหรับตัวตรวจจับนี้

ตัวอย่างที่ตรวจสอบชี้ Git hooks ไปที่ไดเรกทอรีที่จัดส่งใน working tree และสร้างผลการค้นพบระดับวิกฤต เส้นทาง hooks ที่ชี้ไปยังไดเรกทอรี Git hooks เริ่มต้นไม่ก่อให้เกิดการแจ้งเตือน ผลการค้นพบระบุการกำหนดค่าที่ชื่อโค้ด ไม่ใช่การบันทึกการรันโค้ดนั้น

ตรวจสอบผลลัพธ์ของตัวตรวจจับ
{
  "kind": "repo_config_exec",
  "severity": "critical",
  "evidence": {
    "keys": [
      "core.hookspath"
    ],
    "hits": [
      {
        "key": "core.hookspath",
        "command": ".githooks",
        "line": 2,
        "manager": null
      }
    ],
    "config": ".git/config",
    "observed": "repository_config"
  }
}
ดาวน์โหลดข้อมูลนำเข้าและผลลัพธ์ทั้งหมด (JSON)
วิธีการตรวจสอบตัวอย่าง

ตัวอย่างเหล่านี้ประเมินตัวตรวจจับที่เผยแพร่ด้วยข้อมูลเหตุการณ์ที่สร้างขึ้นหรือไฟล์คอนฟิกที่ใช้แล้วทิ้ง วิดีโออธิบายพฤติกรรมเหล่านั้น ไม่ใช่การบันทึก agent จริงหรืออินเทอร์เฟซผลิตภัณฑ์ ไม่มีคำสั่งใดในตัวอย่างถูกเรียกใช้จริง

ผลลัพธ์พิสูจน์พฤติกรรมสำหรับข้อมูลนำเข้าเหล่านี้เท่านั้น ไม่ได้พิสูจน์การรับข้อมูล runtime การป้องกัน หรือการโจมตีจริง ตรวจสอบสัญญาต้นฉบับที่ปักหมุดไว้.

สิ่งที่ควรตรวจสอบต่อไป

ตรวจสอบการตั้งค่า ไฟล์ที่อ้างอิง และแหล่งที่มาของการ checkout ตัดสินใจว่าโปรแกรมเหล่านั้นเป็นที่คาดหวังหรือไม่ก่อนอนุญาตให้ดำเนินการพัฒนาทั่วไป หากมีเครื่องมือรันไปแล้ว ให้ตรวจสอบผลกระทบแยกต่างหากโดยใช้หลักฐานที่มีอยู่ในเครื่อง

  1. ตรวจสอบ key ของการกำหนดค่า
  2. ตรวจสอบโค้ดที่อ้างอิง
  3. ตรวจสอบแหล่งที่มาของ repository

สิ่งที่สัญญาณนี้พิสูจน์

ตัวสแกนรายงานการกำหนดค่า ไม่ใช่การรันโค้ด ไม่ได้พิสูจน์ว่าโปรแกรมที่กำหนดค่าไว้รันแล้ว หรือผู้เขียนมีเจตนาก่อให้เกิดอันตราย

ให้ช่วงเวลาสำคัญมองเห็นได้เสมอ

ติดตามกิจกรรม agent ตรวจสอบผลการค้นพบ และตัดสินใจว่าสิ่งใดต้องการความสนใจ