คำศัพท์สำคัญทุกคำใน Lagune และระเบียบวิธี Security-Driven Hardening อธิบายไว้ในที่เดียวด้วยภาษาที่เข้าใจง่าย
Security-Driven Hardening (SDH)
ระเบียบวิธีที่ Lagune นำมาสร้างเป็นเครื่องมือ: แนวปฏิบัติแบบ Blue Team ที่เข้าใจบริบท ซึ่งตรวจจับบริบทของระบบ คัดกรองความเสี่ยงที่บริบทนั้นมี และชี้นำการแก้ไข ความรู้ด้านความปลอดภัยอยู่ในสเปกและความรู้เฉพาะทางที่โหลดเฉพาะเมื่อจำเป็น นักพัฒนาและผู้ที่ไม่ใช่นักพัฒนาจึงได้รับการดูแลผ่านขั้นตอนเดียวกัน
Lagune
ต้นแบบอ้างอิง (reference implementation) ของ SDH: คำสั่งสำหรับเอเจนต์ 9 คำสั่ง แต่ละคำสั่งมาพร้อมเทมเพลตที่คำสั่งนั้นเติม ซึ่งเอเจนต์ AI รันเพื่อเสริมความปลอดภัยให้โค้ดเบส เอเจนต์แต่ละตัวติดตั้งคำสั่งเหล่านี้ผ่านตัวติดตั้งปลั๊กอินของตัวเองหรือผ่าน skills.sh ตามที่ หน้าการติดตั้ง แสดงไว้ และคำสั่งเหล่านี้รันเอนจินของ Lagune สำหรับทุกขั้นตอนแบบ deterministic
Charter
ชั้นที่กำกับทุกเฟสของ Lagune: ชุดหลักการที่ให้ความปลอดภัยมาก่อน ซึ่งทุกเฟสถัดไปต้องเคารพ เปรียบได้กับการตรวจตอนคอมไพล์สำหรับสถานะความปลอดภัยโดยรวมของโปรเจกต์ charter เก็บไว้ที่ .lagune/memory/charter.md
ขั้นตอนการพัฒนา
คำสั่ง universal /lagune ที่เสริมความปลอดภัยให้งานขณะเขียน คำสั่งนี้รับ prompt ใดก็ได้ในทุกขั้นของงาน สร้างสิ่งที่คุณขอ และเสริมความปลอดภัยด้วยค่าเริ่มต้นที่ปลอดภัยก่อนส่งคืน โดยมี charter ชี้นำเมื่อมี charter อยู่แล้ว คำสั่งนี้ไม่เขียนอะไรลงในการติดตามของ Lagune ผลลัพธ์เดียวจึงเป็นโค้ดที่เสริมความปลอดภัยแล้ว เมื่อใช้ร่วมกับ charter (ก่อน) และขั้นตอนแบบ Blue Team (หลัง) นี่คือวิธีที่ Lagune ปกป้องระหว่างสร้างงาน
ขั้นตอนแบบ Blue Team
การตรวจสอบ 5 เฟสที่เป็นแกนหลักของ Lagune: charter, detect, plan, harden, verify แต่ละเฟสต่อยอดจากเฟสก่อนหน้า "Blue Team" คือธรรมเนียมของฝ่ายผู้ป้องกันในวงการความปลอดภัย ตรงข้ามกับ Red Team ที่เป็นฝ่ายโจมตี
ข้อตรวจพบ
ความเสี่ยงหนึ่งรายการที่ตรวจพบ ข้อตรวจพบแต่ละรายการระบุว่าคืออะไร ทำไมจึงสำคัญ และหลักฐานในโค้ด ข้อตรวจพบคือหน่วยเดียวที่ติดตามและที่ plan, harden และ verify ส่งต่อกัน โดยระบุด้วยชื่อในทุกอาร์ติแฟกต์
มาตรการควบคุม
มาตรการด้านความปลอดภัยที่นำไปใช้เพื่อปิดความเสี่ยง harden นำมาตรการควบคุมไปใช้ และ verify พิสูจน์ว่ามาตรการนั้นยังได้ผล Lagune ไม่เคยลดทอนมาตรการควบคุมเพื่อทำตาม prompt
Detect
เฟสที่อ่านโค้ดและทำแผนผังว่าระบบทำอะไรและความเสี่ยงอยู่ที่ไหน กฎที่กำกับเฟสนี้คือตรวจจับ ไม่ใช่แต่งเติม: บันทึกเฉพาะสิ่งที่โค้ดรองรับ
Harden
เฟสเดียวที่แตะโค้ดของคุณ เฟสนี้นำการแก้ไขจากแผนไปใช้ทีละรายการ และบันทึกแต่ละรายการเป็น Applied, Partial หรือ Blocked Applied ยังไม่ได้แปลว่าพิสูจน์แล้ว
Verify
เฟสที่พิสูจน์ว่าการแก้ไขแต่ละรายการที่นำไปใช้แล้วยังได้ผล ด้วยการอ่านโค้ดแล้วเทียบกับสิ่งที่ harden บันทึกไว้ เฟสนี้ให้ผลตัดสินหนึ่งในสามแบบ: Risk closed, Risk not closed หรือ Cannot tell from the code
Stand down
เมื่อ verify พิสูจน์ว่าความเสี่ยงปิดแล้ว ข้อตรวจพบนั้นจะปิดลง (stand down): ลบออกจากทั้งห่วงโซ่เมื่อคุณยืนยัน และไม่มีการประมวลผลซ้ำอีก
การปิดให้จบได้
คุณสมบัติที่ทำให้งานด้านความปลอดภัยมีสถานะสิ้นสุด เพราะข้อตรวจพบที่พิสูจน์แล้วว่าปิดได้จะปิดออกจากห่วงโซ่ ขั้นตอนจึงสิ้นสุดลงได้ และเปิดใหม่ก็ต่อเมื่อโค้ดเปลี่ยนเท่านั้น SDH ปิดให้จบได้ ไม่ใช่วงจรที่วนไม่รู้จบ
เอนจิน
แพ็กเกจ lagune บน npm ที่คำสั่งต่าง ๆ รันผ่าน npx สำหรับทุกขั้นตอนแบบ deterministic: hook แคตตาล็อก และหมวดหมู่
ความรู้เฉพาะทาง
โมดูลความรู้ด้านความปลอดภัยแบบเจาะจงที่ไม่ผูกกับภาษาโปรแกรม ซึ่งโหลดเฉพาะเมื่อจำเป็นและไม่โหลดเป็นค่าเริ่มต้น ความรู้เฉพาะทางไม่ใช่คำสั่ง โหลดความรู้เฉพาะทางเข้า prompt ใดก็ได้ด้วยคำสั่ง read catalog <name> ของเอนจิน เช่น npx lagune read catalog regex
หมวดหมู่
กลุ่มความรู้เฉพาะทางในตัวที่มีชื่อเรียก ตั้งแต่ owasp ไปจนถึงหมวดหมู่ตามภาษาอย่าง javascript, python, go และ rust หมวดหมู่ที่โปรเจกต์ใช้ ซึ่งบันทึกไว้ใน .lagune/configs.json เป็นตัวกำหนดว่าความรู้ในตัวชุดใดเข้าร่วมแคตตาล็อกของโปรเจกต์ ระหว่างที่ยังไม่มีหมวดหมู่ใดบันทึกไว้ โปรเจกต์ใช้ owasp เพียงหมวดเดียว
แคตตาล็อก
ชุดความรู้เฉพาะทางที่โปรเจกต์ใช้: ความรู้ในตัวของหมวดหมู่ที่โปรเจกต์เลือก บวกความรู้เฉพาะทางของโปรเจกต์เองที่เขียนด้วย /lagune-specialize คำสั่ง read catalog ของเอนจินแสดงรายการแคตตาล็อก และเฟสต่าง ๆ นำไปจับคู่กับโค้ด
Prompt-on-demand
หลักการที่ดึงความรู้ด้านความปลอดภัยที่เกี่ยวข้องเข้ามาตามสิ่งที่โปรเจกต์เป็นจริง แทนการรันทุกการตรวจเป็นค่าเริ่มต้น
อัตลักษณ์ตามชื่อ
รูปแบบการติดตามของ Lagune: ชื่อของข้อตรวจพบแต่ละรายการ ซึ่งเขียนเหมือนกันทุกตัวอักษรเป็นชื่อหัวข้อในทุกอาร์ติแฟกต์ คืออัตลักษณ์ของข้อตรวจพบตลอดทั้งห่วงโซ่ แผนผังการติดตาม (.lagune/tracking.json) เก็บเฉพาะการติดตาม ไม่เคยเก็บข้อความอธิบาย
คำถามที่พบบ่อย
SDH คือระเบียบวิธีด้านความปลอดภัยแบบ Blue Team ที่เข้าใจบริบท SDH ตรวจจับบริบทของระบบ คัดกรองความเสี่ยงที่บริบทนั้นมี และชี้นำการแก้ไข โดยเขียนข้อตรวจพบทุกรายการด้วยภาษาที่เข้าใจง่าย Lagune คือต้นแบบอ้างอิงของ SDH
charter คือชั้นที่กำกับทุกเฟสของ Lagune เป็นชุดหลักการที่ให้ความปลอดภัยมาก่อน ซึ่งทุกเฟสถัดไปต้องเคารพ charter เก็บไว้ที่ .lagune/memory/charter.md
เมื่อ verify พิสูจน์ว่าความเสี่ยงปิดแล้ว ข้อตรวจพบนั้นจะปิดลง: ลบออกจากทั้งห่วงโซ่เมื่อคุณยืนยัน และไม่มีการประมวลผลซ้ำอีก
