เอกสารอ้างอิงและแหล่งที่มา

Lagune vs. Deepsec: เปรียบเทียบแนวทางความปลอดภัยที่ขับเคลื่อนด้วย AI สองแบบ

เอกสารอ้างอิงที่เปรียบเทียบ Lagune กับ Deepsec ของ Vercel ทั้งด้านหลักการทำงาน วงจรชีวิต การตรวจจับ ค่าใช้จ่าย ข้อตรวจพบ และการปิดข้อตรวจพบ

Lagune และ Deepsec (v2.2.1) คือคำตอบเชิงป้องกันสองแบบต่อปัญหาเดียวกัน: ความปลอดภัยในยุคการพัฒนาที่มี AI ช่วย หลักคิด จุดเริ่มต้น ระหว่างทาง และจุดจบของทั้งสอง รวมถึงวิธีที่แต่ละตัวนำเสนอตัวเองต่อผู้ใช้ แตกต่างกันโดยการออกแบบ แม้ในจุดที่กลไกทับซ้อนกัน

tip

Lagune ได้แรงบันดาลใจจาก Deepsec หรือเปล่า คำตอบคือไม่ Lagune เขียนขึ้นใหม่ทั้งหมดและได้แรงบันดาลใจจาก Spec-Driven Development และ Security Hardening ทั้งสองโปรเจกต์พัฒนาแยกจากกัน และการเปรียบเทียบนี้มีไว้ช่วยให้ผู้ใช้เข้าใจความแตกต่างของทั้งสอง

ภาพรวม​

ด้านLaguneDeepsec
ประเภทระเบียบวิธี (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) ที่ชี้ให้โมเดลซึ่งต้องใช้ทุกครั้งรู้ว่าควรสืบสวนและตัดสินอะไร

ด้านLaguneDeepsec
ลำดับหลักการด้านความปลอดภัยและความรู้ที่จับคู่แล้วนำทางเอเจนต์ ซึ่งมอบงานให้ hook และตัดสินส่วนที่เหลือเองmatcher ทำเครื่องหมายตัวเลือก แล้วโมเดลสืบสวนและตัดสินทีละรายการ
บทบาทของส่วน deterministichook หลายภาษาที่ให้ผลตัดสินหรือชี้เป้าให้เอเจนต์ ทำงานร่วมกับความรู้ของหมวดหมู่matcher ที่ทำเครื่องหมายตัวเลือกให้โมเดลที่ต้องใช้ทุกครั้งตัดสิน
ขั้นตอนการพัฒนา/lagune สร้างงานอย่างปลอดภัยไปพร้อมกับที่คุณเขียนโค้ดตรวจทานโค้ด แต่ไม่ได้เขียนโค้ด
ขั้นตอนการตรวจสอบcharter → detect → plan → harden → verifyscan → process → triage → revalidate → report
หน้าที่ของ AIให้เหตุผลจากความรู้ นำการแก้ไขไปใช้ และพิสูจน์ว่าใช้ได้จริงสืบสวนตัวเลือกทุกรายการและรายงานข้อตรวจพบ

วงจรชีวิต​

Lagune ทำงานทั้งก่อน ระหว่าง และหลังเขียนโค้ด ส่วน Deepsec ตรวจทาน repository เมื่อมีโค้ดอยู่แล้ว

ช่วงเวลาLaguneDeepsec
ก่อนมีโค้ดcharter สร้างนโยบายความปลอดภัยจากเจตนาที่ระบุไว้เริ่มจากโค้ดที่มีอยู่: init ต้องมีไดเรกทอรี
ระหว่างสร้าง/lagune สร้างงานที่ปลอดภัยตั้งแต่ค่าเริ่มต้นไปพร้อมกัน โดยไม่ทิ้งอาร์ติแฟกต์ไว้ตรวจทานหลังสร้างเสร็จ ไม่ใช่ระหว่างสร้าง
กับโค้ดที่มีอยู่detect → plan → harden → verifyscan → process ซึ่งเป็นขั้นตอนหลัก
การตรวจทานต่อเนื่องรันเฟสซ้ำตามขอบเขต ไม่มี CI gate สำเร็จรูปสแกนซ้ำแบบเพิ่มส่วน และใช้ process --diff เป็น exit gate ใน CI

ชั้นการตรวจจับ​

ชั้น deterministic ของทั้งสองมีธรรมชาติตรงข้ามกัน: ฝั่งหนึ่งตัดสิน อีกฝั่งทำเครื่องหมาย

ด้านLaguneDeepsec
การจัดกลุ่มhook และความรู้เฉพาะทาง จัดกลุ่มเป็นหมวดหมู่matcher แยกตามรูปแบบหรือเฟรมเวิร์ก
ผลลัพธ์ผลตัดสินที่ระบุตรงตัว (finding / review / advisory) พร้อมป้ายจัดประเภทตัวเลือกที่ไม่มีผลตัดสิน (slug บรรทัด โค้ดตัวอย่าง และรูปแบบที่ตรงกัน)
การปรับจูนความแม่นยำ (precision): รู้จักคอมเมนต์ และมีตัวกันสำหรับ placeholder และช่วงหน้าต่างความครอบคลุม (recall): หว่านแหกว้าง แล้วให้ AI ตัดผลบวกลวงทีหลัง
ความลึกลึกกว่าในประเภทที่ทั้งสองครอบคลุมร่วมกันกว้างกว่า แต่ลึกน้อยกว่าในประเภทที่ครอบคลุมร่วมกัน
ผลบวกลวงกดให้ต่ำตั้งแต่ต้นทาง แล้วตัดสินตามบริบทตั้งใจสร้างออกมามากเกิน แล้วตัดลงด้วยรอบ revalidate

ความรู้และการตัดสิน​

ทั้งสองมีความรู้ด้านความปลอดภัยที่ regex ให้ไม่ได้ ความต่างอยู่ที่ความรู้นั้นอยู่ที่ไหนและใครปรับแต่งได้

ด้านLaguneDeepsec
รูปแบบโมดูล markdown ที่แก้ไขได้ บางโมดูลมี hook แบบ deterministic รองรับprompt สั้น ๆ และจุดเน้นรายเทคโนโลยี โดยอาศัยความรู้ของโมเดลเอง
การเลือกจับคู่กับโค้ด และโหลดเฉพาะเมื่อบริบทของโมดูลปรากฏใส่เข้าไปในทุก batch ของ AI พร้อมจุดเน้นสำหรับเทคโนโลยีที่ตรวจพบ
ใครเป็นผู้เขียนผู้ใช้แก้ไขโมดูลและเพิ่มโมดูลใหม่ด้วย specializeผู้ดูแลเป็นเจ้าของ prompt และผู้ใช้เติม INFO.md
การตัดสินอยู่ที่ไหนhook ตัดสินในระดับพื้นฐานของตัวเอง แล้วเอเจนต์ตัดสินส่วนที่เหลือจากความรู้รวมศูนย์: ตัวประมวลผล AI ตัวเดียวตัดสินทุกตัวเลือก
การใช้ซ้ำโมดูลเดียวนำทางทั้ง detect และ verifyprompt เดียวขับเคลื่อนขั้น process ซึ่งมีอยู่ขั้นเดียว

ข้อตรวจพบและการปิด​

ทั้งสองต่างกันมากที่สุดตรงที่ข้อตรวจพบจะกลายเป็นอะไรเมื่อแก้ไขแล้ว

ด้านLaguneDeepsec
ระดับความรุนแรงคะแนน CVSS v4.0 ที่ปรับตามโอกาสถูกโจมตีและสิ่งที่อาจเสียหายระดับความรุนแรงจาก AI พร้อมการคัดกรอง P0 / P1 / P2 ตามความเป็นไปได้ในการ exploit และผลกระทบ
ผลตัดสินRisk closed, Risk not closed หรือ Cannot tell from the codetrue-positive, false-positive, fixed, uncertain, accepted-risk, duplicate
การเก็บรักษาห่วงโซ่การทำงานปรับให้ตรงกับสภาพปัจจุบัน และข้อตรวจพบที่ปิดแล้วกลั่นกรองเป็นประวัติบันทึกรายไฟล์แบบต่อท้ายอย่างเดียว ไม่ลบอะไรออก
สถานะสุดท้ายปิดให้จบได้: ข้อตรวจพบที่พิสูจน์แล้วปิดออก และห่วงโซ่สิ้นสุดได้เก็บข้อตรวจพบทุกรายการไว้ถาวร และซ่อนจากมุมมองเมื่อแก้ไขแล้ว
รายละเอียดประวัติสรุปสั้น ๆ ว่าความเสี่ยงคืออะไรร่องรอยผลตัดสินฉบับเต็ม รวมถึงวิธีแก้

ค่าใช้จ่าย​

ด้านLaguneDeepsec
ชั้นพื้นฐานแบบ deterministicฟรี: hook รันโดยไม่ใช้ AI และไม่ต้องมีคีย์ และให้ผลตัดสินได้ทันทีฟรี: scan รันโดยไม่ใช้ AI แต่ไม่ให้ผลตัดสินด้วยตัวเอง
ค่าใช้จ่ายทั่วไปรวมอยู่ในเอเจนต์ที่คุณใช้อยู่แล้ว ต่ำได้ถึง $0 บนโมเดลที่รันในเครื่อง ตามราคาแพ็กเกจที่คุณใช้อยู่ หรือคิดตามรอบสำหรับการใช้งานผ่าน APIประมาณ $25 ถึง $1,200 ต่อการรัน สำหรับ 100 ถึง 2,000 ไฟล์ และมากกว่านั้นเมื่อขนาดใหญ่ขึ้น
ทางที่ถูกที่สุดโมเดลใดก็ได้ รวมถึงโมเดลฟรีที่รันในเครื่อง ปิดรอบการทำงานได้มีแพ็กเกจแบบเสียเงินที่ถูกกว่า แต่ข้อตรวจพบยังต้องใช้ขั้น AI ที่เสียเงิน

การขยายความสามารถและธรรมาภิบาล​

แต่ละตัวเปิดชั้นที่อีกตัวปิดไว้

ด้านLaguneDeepsec
สิ่งที่คุณขยายได้แก้ไขโมดูล หรือเพิ่มโมดูลใหม่ผ่าน specializeเพิ่ม matcher เอเจนต์ notifier และความเป็นเจ้าของ
ชั้นนโยบายหลักการด้านความปลอดภัยกำกับทุกเฟสและมีการควบคุมเวอร์ชันการตั้งค่าเป็นเรื่องปฏิบัติการ (matcher โมเดล และ path)
แทนที่ด้วยชื่อโมดูลที่ปรับปรุงแล้วแทนที่โมดูลในตัวเมื่อ slug ของ matcher ชนกัน matcher ของคุณจะชนะ

อินเทอร์เฟซ​

Deepsec สร้างสิ่งส่งมอบสำหรับองค์กรด้านความปลอดภัย ส่วน Lagune แสดงมุมมองแบบเรียลไทม์ให้ผู้ที่รัน

ด้านLaguneDeepsec
ส่วนที่คนใช้งานแดชบอร์ดแบบเรียลไทม์ในเครื่องของทั้งห่วงโซ่ ด้วยภาษาที่เข้าใจง่ายไฟล์รายงาน export เมตริก และคอมเมนต์ PR พร้อมเว็บไซต์เอกสาร
ความรับผิดชอบแสดงไฟล์และความรู้เฉพาะทางที่นำไปใช้ส่งต่อให้ผู้รับผิดชอบที่แนะนำ: เวร on-call ผู้จัดการ หรือผู้ commit
การพิสูจน์ที่ทำซ้ำได้prove เขียนการทดสอบที่รันได้และประกาศแจ้งเตือนด้านความปลอดภัยสำหรับการเปิดเผยช่องโหว่คงความเป็น static โดยการออกแบบ และไม่เคยรันเป้าหมาย
การป้องกันตัวเองของเครื่องมือเสริมความปลอดภัยให้ API สำหรับเขียนข้อมูลในเครื่องบนแดชบอร์ดเสริมความปลอดภัยให้การรัน AI ของตัวเองจากโค้ดเป้าหมายที่ไม่น่าเชื่อถือ

ขนาดและการดีพลอย​

ด้านLaguneDeepsec
การติดตั้ง9 คำสั่งจากปลั๊กอินของเอเจนต์หรือ skills CLI โดยไม่สร้างไฟล์ใดในโปรเจกต์workspace .deepsec/ ที่มีแพ็กเกจและ dependency ของตัวเอง
ทิศทางการขยายจำกัดขอบเขตได้ทุกส่วน ตั้งแต่บริบทหนึ่ง ไฟล์เดียว ไปจนถึงทั้งโปรเจกต์สแกนทั้ง repository ไปจนถึง monorepo ขนาดใหญ่
การกระจายงานทำงานในเครื่องเท่านั้น และเซิร์ฟเวอร์ตัวเดียวผูกกับ loopbackกระจายงานไปยัง VM worker ของ Vercel Sandbox ได้ (ไม่บังคับ)

ประสบการณ์ผู้ใช้​

วิธีที่แต่ละตัวพบกับผู้ที่รัน: การรันครั้งแรกต้องใช้อะไร และผู้ใช้กำหนดเป้าหมายได้อย่างไร

การเริ่มต้น​

Lagune รันผ่านเอเจนต์ที่เปิดอยู่แล้ว ส่วน Deepsec ต้องเตรียม workspace และสิทธิ์เข้าถึงโมเดลของตัวเองก่อน

ด้านLaguneDeepsec
คำสั่งแรกติดตั้งปลั๊กอินหรือ npx skills add wellwelwel/lagune แล้วใช้ /lagune-* ในเอเจนต์npx deepsec init แล้วตามด้วย cd .deepsec, pnpm install, scan, process
ข้อมูลรับรองที่ต้องใช้ไม่ต้องมีคีย์แยก เพราะใช้เอเจนต์ปัจจุบันของคุณคีย์ของโมเดล (เช่น AI Gateway, โทเค็น Vercel OIDC อายุ 12 ชั่วโมง หรือโทเค็น Anthropic)

การกำหนดทิศทาง​

ทั้งสองรับการกำหนดทิศทางได้ Lagune อ่านรูปแบบของอินพุตในแต่ละเฟส ส่วน Deepsec จำกัดชุดไฟล์ที่การสืบสวนแบบเดียวกันจะรัน

ด้านLaguneDeepsec
ทั้งโปรเจกต์เฟสที่ไม่มีอินพุตจะสแกนทั้งขอบเขต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 อย่างเดียว โดยให้ข้อตรวจพบและข้อความคำแนะนำที่คนหรือเอเจนต์ต้องนำไปใช้เองแยกต่างหาก