Hook

Hook cvss: ให้คะแนนเวกเตอร์ CVSS v4.0

ให้คะแนนเวกเตอร์ CVSS v4.0 หนึ่งหรือหลายรายการจากบรรทัดคำสั่ง ด้วยวิธีคำนวณเดียวกับเครื่องคำนวณของ FIRST และอ่านคำอธิบายของแต่ละเวกเตอร์เป็นภาษาที่เข้าใจง่าย

hook cvss ให้คะแนน เวกเตอร์ CVSS v4.0 และพิมพ์คะแนนกับช่วงระดับความรุนแรงออกมา ซึ่งเป็นการให้คะแนนที่คำสั่ง /lagune-plan เขียนไว้ในการแก้ไขแต่ละรายการ และคำสั่ง /lagune-prove เขียนไว้ในประกาศแจ้งเตือนด้านความปลอดภัยแต่ละฉบับ hook นี้คือเอนจินแบบ deterministic เบื้องหลังการให้คะแนนเหล่านั้น โดยใช้วิธีคำนวณเดียวกับ เครื่องคำนวณของ FIRST และคุณรันเองได้

การรัน​

ส่งเวกเตอร์แต่ละรายการด้วย --vector แล้ว hook จะพิมพ์บรรทัดละหนึ่งเวกเตอร์: คะแนนและช่วงระดับความรุนแรงของเวกเตอร์นั้น

npx lagune read cvss --vector 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'
# => 9.3, Critical

วิธีอ่านผลลัพธ์​

ช่วงคะแนน
None0.0
Low0.1 ถึง 3.9
Medium4.0 ถึง 6.9
High7.0 ถึง 8.9
Critical9.0 ถึง 10.0

เวกเตอร์ที่มีเฉพาะเมตริก Base จะให้คะแนนตัวช่องโหว่เองโดยสมมติกรณีเลวร้ายที่สุด: ข้อกำหนดด้านความปลอดภัยทุกข้อเป็น High และช่องโหว่ถูกโจมตีจริงในวงกว้างแล้ว เมตริก Environmental (MAV และเมตริกแบบ modified อื่น ๆ รวมถึง CR, IR และ AR) ปรับคะแนนให้ตรงกับการดีพลอยหนึ่งแห่ง และเมตริก Threat (E) ปรับตามสิ่งที่รู้เกี่ยวกับการนำช่องโหว่ไป exploit

เวกเตอร์ที่ไม่ถูกต้องจะพิมพ์ invalid vector: พร้อมบอกว่าผิดตรงไหน และ hook จะจบการทำงานด้วย exit code ที่ไม่ใช่ศูนย์

ตัวเลือก CLI​

ตัวเลือกค่าคำอธิบาย
--vectorเวกเตอร์ CVSS:4.0ให้คะแนนเวกเตอร์หนึ่งรายการ ใส่ซ้ำเพื่อให้คะแนนหลายรายการ โดยได้ผลเวกเตอร์ละหนึ่งบรรทัดตามลำดับ
--explainเพิ่มคำอธิบายของแต่ละเมตริกเป็นภาษาที่เข้าใจง่ายไว้ใต้ทุกบรรทัดผลการให้คะแนน

ต้องมี --vector อย่างน้อยหนึ่งรายการ เอนจินไม่รับเวกเตอร์เป็นอาร์กิวเมนต์ตามตำแหน่งเปล่า ๆ จึงไม่มีทางสับสนเวกเตอร์กับ flag

ทำไมต้องเป็นค่าของ flag

เวกเตอร์แต่ละรายการส่งเข้าไปเป็นค่าของ flag และไม่เคยนำไปแทรกลงในคำสั่งโดยตรง ค่าที่มีเครื่องหมายคำพูดหรือ backtick จึงไม่มีผลใด ๆ และ inject เข้า shell ไม่ได้ ครอบค่าด้วยเครื่องหมายคำพูดเดี่ยวเสมอ เพื่อไม่ให้ shell ของคุณขยายค่านั้นก่อน

สิ่งที่ไม่ครอบคลุม

รองรับเฉพาะ CVSS v4.0: hook จะปฏิเสธเวกเตอร์ v2.0, v3.0 หรือ v3.1 แทนที่จะให้คะแนน เพราะ Lagune ให้คะแนนทุกข้อตรวจพบด้วย v4.0

tip

การตรวจความถูกต้องของเฟส plan จะคำนวณแบบเดียวกันนี้ซ้ำกับทุกบรรทัด CVSS จึงตรวจพบคะแนนที่คลาดไปจากเวกเตอร์ของตัวเองได้ก่อนยอมรับแผน

คำถามที่พบบ่อย

hook cvss ทำตามเครื่องคำนวณอ้างอิงของ FIRST สำหรับ CVSS v4.0 เวกเตอร์หนึ่ง ๆ จึงได้คะแนนตรงกับที่ได้บนเว็บไซต์ของ FIRST ทุกประการ

ไม่ได้ Lagune ให้คะแนนทุกข้อตรวจพบด้วย CVSS v4.0 และ hook จะปฏิเสธเวอร์ชันอื่นทั้งหมดแทนที่จะให้คะแนน

flag นี้อธิบายแต่ละเมตริกเป็นภาษาที่เข้าใจง่าย และแสดงคะแนน Base ไว้ข้างคะแนนรวม ทุกคนจึงเห็นได้ว่าเวกเตอร์บอกอะไร และบริบทของโปรเจกต์ทำให้คะแนนเปลี่ยนไปอย่างไร