Lagune และ Deepsec (v2.2.1) คือคำตอบเชิงป้องกันสองแบบต่อปัญหาเดียวกัน: ความปลอดภัยในยุคการพัฒนาที่มี AI ช่วย หลักคิด จุดเริ่มต้น ระหว่างทาง และจุดจบของทั้งสอง รวมถึงวิธีที่แต่ละตัวนำเสนอตัวเองต่อผู้ใช้ แตกต่างกันโดยการออกแบบ แม้ในจุดที่กลไกทับซ้อนกัน
Lagune ได้แรงบันดาลใจจาก Deepsec หรือเปล่า คำตอบคือไม่ Lagune เขียนขึ้นใหม่ทั้งหมดและได้แรงบันดาลใจจาก Spec-Driven Development และ Security Hardening ทั้งสองโปรเจกต์พัฒนาแยกจากกัน และการเปรียบเทียบนี้มีไว้ช่วยให้ผู้ใช้เข้าใจความแตกต่างของทั้งสอง
ภาพรวม
| ด้าน | Lagune | Deepsec |
|---|---|---|
| ประเภท | ระเบียบวิธี (SDH) พร้อมต้นแบบอ้างอิง | ผลิตภัณฑ์: เครื่องมือสแกนช่องโหว่ที่ขับเคลื่อนด้วยเอเจนต์ |
| จุดศูนย์ถ่วง | หลักการด้านความปลอดภัยและความรู้ที่โหลดเฉพาะเมื่อจำเป็นเป็นตัวนำเอเจนต์ โดยมี hook แบบ deterministic เป็นหลักยึด | regex ที่หว่านแหกว้างป้อนงานให้การสืบสวนด้วย AI ที่ต้องทำทุกครั้ง |
| สิ่งที่ได้ | โค้ดที่เสริมความปลอดภัยแล้ว การพิสูจน์ และห่วงโซ่ข้อตรวจพบที่ติดตามไว้ | รายงานข้อตรวจพบที่คัดกรองแล้วและจัดอันดับตามระดับความรุนแรง |
| แตะโค้ดของคุณ | ใช่: harden แก้ไขโค้ดของคุณ | ไม่: ทำ static analysis อย่างเดียว และให้ข้อตรวจพบกับข้อความคำแนะนำ |
| Runtime | รันบนเอเจนต์และโมเดลที่คุณใช้อยู่แล้ว ระดับใดก็ได้ | รัน pipeline โมเดลของตัวเอง โดยใช้โมเดลระดับ frontier เป็นค่าเริ่มต้น |
| เริ่มต้นใช้งาน | ติดตั้งปลั๊กอินครั้งเดียวหรือ npx skills add แล้วสั่งงานด้วยภาษาธรรมดา ไม่ต้องตั้งเครื่องมือใหม่ | ตั้ง workspace .deepsec/ ติดตั้ง dependency และเพิ่มคีย์ของโมเดล |
หลักการทำงาน
Lagune เน้นเอเจนต์เป็นหลัก (agent-first): เอเจนต์เป็นผู้ขับเคลื่อน ดึงความรู้เข้ามาเฉพาะเมื่อจำเป็นตามสิ่งที่โค้ดเป็น และมอบส่วนที่ตัดสินได้แน่นอนให้ hook แบบ deterministic
Deepsec เน้น deterministic เป็นหลัก (deterministic-first): การสแกนแบบกว้างทำเครื่องหมายตัวเลือก (candidate) ที่ชี้ให้โมเดลซึ่งต้องใช้ทุกครั้งรู้ว่าควรสืบสวนและตัดสินอะไร
| ด้าน | Lagune | Deepsec |
|---|---|---|
| ลำดับ | หลักการด้านความปลอดภัยและความรู้ที่จับคู่แล้วนำทางเอเจนต์ ซึ่งมอบงานให้ hook และตัดสินส่วนที่เหลือเอง | matcher ทำเครื่องหมายตัวเลือก แล้วโมเดลสืบสวนและตัดสินทีละรายการ |
| บทบาทของส่วน deterministic | hook หลายภาษาที่ให้ผลตัดสินหรือชี้เป้าให้เอเจนต์ ทำงานร่วมกับความรู้ของหมวดหมู่ | matcher ที่ทำเครื่องหมายตัวเลือกให้โมเดลที่ต้องใช้ทุกครั้งตัดสิน |
| ขั้นตอนการพัฒนา | /lagune สร้างงานอย่างปลอดภัยไปพร้อมกับที่คุณเขียนโค้ด | ตรวจทานโค้ด แต่ไม่ได้เขียนโค้ด |
| ขั้นตอนการตรวจสอบ | charter → detect → plan → harden → verify | scan → process → triage → revalidate → report |
| หน้าที่ของ AI | ให้เหตุผลจากความรู้ นำการแก้ไขไปใช้ และพิสูจน์ว่าใช้ได้จริง | สืบสวนตัวเลือกทุกรายการและรายงานข้อตรวจพบ |
วงจรชีวิต
Lagune ทำงานทั้งก่อน ระหว่าง และหลังเขียนโค้ด ส่วน Deepsec ตรวจทาน repository เมื่อมีโค้ดอยู่แล้ว
| ช่วงเวลา | Lagune | Deepsec |
|---|---|---|
| ก่อนมีโค้ด | charter สร้างนโยบายความปลอดภัยจากเจตนาที่ระบุไว้ | เริ่มจากโค้ดที่มีอยู่: init ต้องมีไดเรกทอรี |
| ระหว่างสร้าง | /lagune สร้างงานที่ปลอดภัยตั้งแต่ค่าเริ่มต้นไปพร้อมกัน โดยไม่ทิ้งอาร์ติแฟกต์ไว้ | ตรวจทานหลังสร้างเสร็จ ไม่ใช่ระหว่างสร้าง |
| กับโค้ดที่มีอยู่ | detect → plan → harden → verify | scan → process ซึ่งเป็นขั้นตอนหลัก |
| การตรวจทานต่อเนื่อง | รันเฟสซ้ำตามขอบเขต ไม่มี CI gate สำเร็จรูป | สแกนซ้ำแบบเพิ่มส่วน และใช้ process --diff เป็น exit gate ใน CI |
ชั้นการตรวจจับ
ชั้น deterministic ของทั้งสองมีธรรมชาติตรงข้ามกัน: ฝั่งหนึ่งตัดสิน อีกฝั่งทำเครื่องหมาย
| ด้าน | Lagune | Deepsec |
|---|---|---|
| การจัดกลุ่ม | hook และความรู้เฉพาะทาง จัดกลุ่มเป็นหมวดหมู่ | matcher แยกตามรูปแบบหรือเฟรมเวิร์ก |
| ผลลัพธ์ | ผลตัดสินที่ระบุตรงตัว (finding / review / advisory) พร้อมป้ายจัดประเภท | ตัวเลือกที่ไม่มีผลตัดสิน (slug บรรทัด โค้ดตัวอย่าง และรูปแบบที่ตรงกัน) |
| การปรับจูน | ความแม่นยำ (precision): รู้จักคอมเมนต์ และมีตัวกันสำหรับ placeholder และช่วงหน้าต่าง | ความครอบคลุม (recall): หว่านแหกว้าง แล้วให้ AI ตัดผลบวกลวงทีหลัง |
| ความลึก | ลึกกว่าในประเภทที่ทั้งสองครอบคลุมร่วมกัน | กว้างกว่า แต่ลึกน้อยกว่าในประเภทที่ครอบคลุมร่วมกัน |
| ผลบวกลวง | กดให้ต่ำตั้งแต่ต้นทาง แล้วตัดสินตามบริบท | ตั้งใจสร้างออกมามากเกิน แล้วตัดลงด้วยรอบ revalidate |
ความรู้และการตัดสิน
ทั้งสองมีความรู้ด้านความปลอดภัยที่ regex ให้ไม่ได้ ความต่างอยู่ที่ความรู้นั้นอยู่ที่ไหนและใครปรับแต่งได้
| ด้าน | Lagune | Deepsec |
|---|---|---|
| รูปแบบ | โมดูล markdown ที่แก้ไขได้ บางโมดูลมี hook แบบ deterministic รองรับ | prompt สั้น ๆ และจุดเน้นรายเทคโนโลยี โดยอาศัยความรู้ของโมเดลเอง |
| การเลือก | จับคู่กับโค้ด และโหลดเฉพาะเมื่อบริบทของโมดูลปรากฏ | ใส่เข้าไปในทุก batch ของ AI พร้อมจุดเน้นสำหรับเทคโนโลยีที่ตรวจพบ |
| ใครเป็นผู้เขียน | ผู้ใช้แก้ไขโมดูลและเพิ่มโมดูลใหม่ด้วย specialize | ผู้ดูแลเป็นเจ้าของ prompt และผู้ใช้เติม INFO.md |
| การตัดสินอยู่ที่ไหน | hook ตัดสินในระดับพื้นฐานของตัวเอง แล้วเอเจนต์ตัดสินส่วนที่เหลือจากความรู้ | รวมศูนย์: ตัวประมวลผล AI ตัวเดียวตัดสินทุกตัวเลือก |
| การใช้ซ้ำ | โมดูลเดียวนำทางทั้ง detect และ verify | prompt เดียวขับเคลื่อนขั้น process ซึ่งมีอยู่ขั้นเดียว |
ข้อตรวจพบและการปิด
ทั้งสองต่างกันมากที่สุดตรงที่ข้อตรวจพบจะกลายเป็นอะไรเมื่อแก้ไขแล้ว
| ด้าน | Lagune | Deepsec |
|---|---|---|
| ระดับความรุนแรง | คะแนน CVSS v4.0 ที่ปรับตามโอกาสถูกโจมตีและสิ่งที่อาจเสียหาย | ระดับความรุนแรงจาก AI พร้อมการคัดกรอง P0 / P1 / P2 ตามความเป็นไปได้ในการ exploit และผลกระทบ |
| ผลตัดสิน | Risk closed, Risk not closed หรือ Cannot tell from the code | true-positive, false-positive, fixed, uncertain, accepted-risk, duplicate |
| การเก็บรักษา | ห่วงโซ่การทำงานปรับให้ตรงกับสภาพปัจจุบัน และข้อตรวจพบที่ปิดแล้วกลั่นกรองเป็นประวัติ | บันทึกรายไฟล์แบบต่อท้ายอย่างเดียว ไม่ลบอะไรออก |
| สถานะสุดท้าย | ปิดให้จบได้: ข้อตรวจพบที่พิสูจน์แล้วปิดออก และห่วงโซ่สิ้นสุดได้ | เก็บข้อตรวจพบทุกรายการไว้ถาวร และซ่อนจากมุมมองเมื่อแก้ไขแล้ว |
| รายละเอียดประวัติ | สรุปสั้น ๆ ว่าความเสี่ยงคืออะไร | ร่องรอยผลตัดสินฉบับเต็ม รวมถึงวิธีแก้ |
ค่าใช้จ่าย
| ด้าน | Lagune | Deepsec |
|---|---|---|
| ชั้นพื้นฐานแบบ deterministic | ฟรี: hook รันโดยไม่ใช้ AI และไม่ต้องมีคีย์ และให้ผลตัดสินได้ทันที | ฟรี: scan รันโดยไม่ใช้ AI แต่ไม่ให้ผลตัดสินด้วยตัวเอง |
| ค่าใช้จ่ายทั่วไป | รวมอยู่ในเอเจนต์ที่คุณใช้อยู่แล้ว ต่ำได้ถึง $0 บนโมเดลที่รันในเครื่อง ตามราคาแพ็กเกจที่คุณใช้อยู่ หรือคิดตามรอบสำหรับการใช้งานผ่าน API | ประมาณ $25 ถึง $1,200 ต่อการรัน สำหรับ 100 ถึง 2,000 ไฟล์ และมากกว่านั้นเมื่อขนาดใหญ่ขึ้น |
| ทางที่ถูกที่สุด | โมเดลใดก็ได้ รวมถึงโมเดลฟรีที่รันในเครื่อง ปิดรอบการทำงานได้ | มีแพ็กเกจแบบเสียเงินที่ถูกกว่า แต่ข้อตรวจพบยังต้องใช้ขั้น AI ที่เสียเงิน |
การขยายความสามารถและธรรมาภิบาล
แต่ละตัวเปิดชั้นที่อีกตัวปิดไว้
| ด้าน | Lagune | Deepsec |
|---|---|---|
| สิ่งที่คุณขยายได้ | แก้ไขโมดูล หรือเพิ่มโมดูลใหม่ผ่าน specialize | เพิ่ม matcher เอเจนต์ notifier และความเป็นเจ้าของ |
| ชั้นนโยบาย | หลักการด้านความปลอดภัยกำกับทุกเฟสและมีการควบคุมเวอร์ชัน | การตั้งค่าเป็นเรื่องปฏิบัติการ (matcher โมเดล และ path) |
| แทนที่ด้วยชื่อ | โมดูลที่ปรับปรุงแล้วแทนที่โมดูลในตัว | เมื่อ slug ของ matcher ชนกัน matcher ของคุณจะชนะ |
อินเทอร์เฟซ
Deepsec สร้างสิ่งส่งมอบสำหรับองค์กรด้านความปลอดภัย ส่วน Lagune แสดงมุมมองแบบเรียลไทม์ให้ผู้ที่รัน
| ด้าน | Lagune | Deepsec |
|---|---|---|
| ส่วนที่คนใช้งาน | แดชบอร์ดแบบเรียลไทม์ในเครื่องของทั้งห่วงโซ่ ด้วยภาษาที่เข้าใจง่าย | ไฟล์รายงาน export เมตริก และคอมเมนต์ PR พร้อมเว็บไซต์เอกสาร |
| ความรับผิดชอบ | แสดงไฟล์และความรู้เฉพาะทางที่นำไปใช้ | ส่งต่อให้ผู้รับผิดชอบที่แนะนำ: เวร on-call ผู้จัดการ หรือผู้ commit |
| การพิสูจน์ที่ทำซ้ำได้ | prove เขียนการทดสอบที่รันได้และประกาศแจ้งเตือนด้านความปลอดภัยสำหรับการเปิดเผยช่องโหว่ | คงความเป็น static โดยการออกแบบ และไม่เคยรันเป้าหมาย |
| การป้องกันตัวเองของเครื่องมือ | เสริมความปลอดภัยให้ API สำหรับเขียนข้อมูลในเครื่องบนแดชบอร์ด | เสริมความปลอดภัยให้การรัน AI ของตัวเองจากโค้ดเป้าหมายที่ไม่น่าเชื่อถือ |
ขนาดและการดีพลอย
| ด้าน | Lagune | Deepsec |
|---|---|---|
| การติดตั้ง | 9 คำสั่งจากปลั๊กอินของเอเจนต์หรือ skills CLI โดยไม่สร้างไฟล์ใดในโปรเจกต์ | workspace .deepsec/ ที่มีแพ็กเกจและ dependency ของตัวเอง |
| ทิศทางการขยาย | จำกัดขอบเขตได้ทุกส่วน ตั้งแต่บริบทหนึ่ง ไฟล์เดียว ไปจนถึงทั้งโปรเจกต์ | สแกนทั้ง repository ไปจนถึง monorepo ขนาดใหญ่ |
| การกระจายงาน | ทำงานในเครื่องเท่านั้น และเซิร์ฟเวอร์ตัวเดียวผูกกับ loopback | กระจายงานไปยัง VM worker ของ Vercel Sandbox ได้ (ไม่บังคับ) |
ประสบการณ์ผู้ใช้
วิธีที่แต่ละตัวพบกับผู้ที่รัน: การรันครั้งแรกต้องใช้อะไร และผู้ใช้กำหนดเป้าหมายได้อย่างไร
การเริ่มต้น
Lagune รันผ่านเอเจนต์ที่เปิดอยู่แล้ว ส่วน Deepsec ต้องเตรียม workspace และสิทธิ์เข้าถึงโมเดลของตัวเองก่อน
| ด้าน | Lagune | Deepsec |
|---|---|---|
| คำสั่งแรก | ติดตั้งปลั๊กอินหรือ npx skills add wellwelwel/lagune แล้วใช้ /lagune-* ในเอเจนต์ | npx deepsec init แล้วตามด้วย cd .deepsec, pnpm install, scan, process |
| ข้อมูลรับรองที่ต้องใช้ | ไม่ต้องมีคีย์แยก เพราะใช้เอเจนต์ปัจจุบันของคุณ | คีย์ของโมเดล (เช่น AI Gateway, โทเค็น Vercel OIDC อายุ 12 ชั่วโมง หรือโทเค็น Anthropic) |
การกำหนดทิศทาง
ทั้งสองรับการกำหนดทิศทางได้ Lagune อ่านรูปแบบของอินพุตในแต่ละเฟส ส่วน Deepsec จำกัดชุดไฟล์ที่การสืบสวนแบบเดียวกันจะรัน
| ด้าน | Lagune | Deepsec |
|---|---|---|
| ทั้งโปรเจกต์ | เฟสที่ไม่มีอินพุตจะสแกนทั้งขอบเขต | scan และ process สแกนทั้ง repository |
| บางส่วน | ทุกเฟสจำกัดขอบเขตเฉพาะไฟล์หรือไดเรกทอรีที่ระบุได้ | --files, --files-from หรือ --diff จำกัดขอบเขตการรัน |
| ข้อกังวล | เฟสจำกัดขอบเขตไว้ที่ข้อกังวลที่คุณอธิบาย | prompt สำหรับการสืบสวนตายตัว |
| ระดับความสำคัญ | harden และ verify จำกัดขอบเขตได้เฉพาะระดับวิกฤต สูง ปานกลาง หรือต่ำ | ข้อตรวจพบได้ป้ายกำกับหลังการรัน |
| ค่าเดียว | hook ให้คะแนนโค้ดตัวอย่าง รูปแบบ หรือ URL หนึ่งรายการได้โดยตรง (--pattern, --url) | หน่วยของงานคือไฟล์ |
คำถามที่พบบ่อย
Lagune เน้นเอเจนต์เป็นหลักและทำงานทั้งก่อน ระหว่าง และหลังเขียนโค้ด: กำหนดนโยบายก่อนมีโค้ด เสริมความปลอดภัยไปพร้อมกับการสร้างงาน และตรวจสอบ เสริมความปลอดภัย และตรวจยืนยันโค้ดที่เขียนไว้แล้ว Deepsec เน้น deterministic เป็นหลัก: การสแกนด้วย regex แบบกว้างป้อนงานให้การสืบสวนด้วยโมเดลระดับ frontier ที่ต้องทำทุกครั้ง ซึ่งตรวจทานโค้ดที่มีอยู่และรายงานข้อตรวจพบโดยไม่แก้โค้ด
ขั้นตอนทั้งหมดของ Lagune รันได้ในราคา $0 บนโมเดลฟรีที่รันในเครื่อง และ hook แบบ deterministic ให้ผลตัดสินได้โดยไม่ใช้ AI เลย การสแกนของ Deepsec ฟรีแต่ไม่ให้ผลตัดสิน ข้อตรวจพบใด ๆ จึงต้องใช้ขั้น AI แบบเสียเงิน
Lagune แก้: harden นำการแก้ไขไปใช้กับโค้ดของคุณ Deepsec ไม่แก้: Deepsec ทำ static analysis อย่างเดียว โดยให้ข้อตรวจพบและข้อความคำแนะนำที่คนหรือเอเจนต์ต้องนำไปใช้เองแยกต่างหาก
