🧠 ความรู้เฉพาะทางของ Lagune คือโมดูลความรู้ด้านความปลอดภัยที่เจาะจงเป็นเรื่อง ๆ และไม่ผูกกับภาษาโปรแกรมใด โหลดเฉพาะเมื่อจำเป็นและไม่เคยโหลดเป็นค่าเริ่มต้น ความรู้เฉพาะทางไม่ใช่คำสั่ง แคตตาล็อกของโปรเจกต์คือชุดความรู้เฉพาะทางที่โปรเจกต์ใช้: ความรู้เฉพาะทางในตัวของ หมวดหมู่ ของโปรเจกต์ รวมกับความรู้เฉพาะทางของโปรเจกต์เอง เฟส detect และ verify หยิบมาใช้ระหว่างที่รัน และคุณโหลดตัวใดก็ได้โดยตรงทุกเมื่อ
- ภาพรวม
- หลักการทำงาน
การควบคุมการเข้าถึง
ทำให้แต่ละคนเห็นและทำได้เฉพาะสิ่งที่ได้รับอนุญาต จึงไม่มีใครเข้าถึงข้อมูลของผู้ใช้คนอื่นหรือการทำงานที่สงวนไว้สำหรับแอดมินได้เพียงแค่เปลี่ยนลิงก์หรือ ID
npx lagune read catalog access-controlAPI Endpoint
ตรวจสอบประตูที่แอปของคุณเปิดสู่โลกภายนอก เพื่อไม่ให้คำขอจากคนแปลกหน้าดึงข้อมูลส่วนตัวหรือสั่งให้เกิดการทำงานที่ไม่ควรเกิดได้
npx lagune read catalog api-endpointเบราว์เซอร์
ปกป้องสิ่งที่ทำงานบนเบราว์เซอร์ของผู้เข้าชม เพื่อไม่ให้ผู้โจมตีแทรกโค้ดที่ขโมยข้อมูลล็อกอินหรือควบคุมสิ่งที่ผู้ใช้ของคุณเห็นและคลิกได้
npx lagune read catalog browserC / C++
จับข้อผิดพลาดด้านหน่วยความจำระดับล่างที่เปิดทางให้ผู้โจมตีทำให้โปรแกรมล่มหรือรันโค้ดของตัวเองบนเซิร์ฟเวอร์ของคุณ
npx lagune read catalog c-cppคอนเทนเนอร์
ตรวจสอบวิธีแพ็กเกจและดีพลอยแอปของคุณ เพื่อให้การเจาะระบบจำกัดวงอยู่ในที่เดียว แทนที่จะยกทั้งเครื่องให้ผู้โจมตี
npx lagune read catalog containerEndpoint ข้อมูลรับรอง
ปกป้องขั้นตอนการล็อกอิน การสมัครสมาชิก และการรีเซ็ตรหัสผ่าน เพื่อไม่ให้ผู้โจมตีเดารหัสผ่าน ยึดบัญชี หรือรีเซ็ตรหัสผ่านของคนอื่นได้
npx lagune read catalog credential-endpointการเข้ารหัส
ทำให้มั่นใจว่าข้อมูลสำคัญเข้ารหัสอย่างถูกวิธี เพื่อให้รหัสผ่าน token และข้อมูลส่วนตัวไม่มีใครอ่านออกแม้จะรั่วไหล
npx lagune read catalog cryptoCSV
เสริมความปลอดภัยให้สเปรดชีตที่ส่งออก เพื่อให้การเปิดไฟล์ที่ดาวน์โหลดมามีโอกาสน้อยลงมากที่จะแอบรันคำสั่งอันตรายบนคอมพิวเตอร์ของใครบางคน
npx lagune read catalog csv.NET
ครอบคลุมหลุมพรางด้านความปลอดภัยเฉพาะของแอป .NET ที่อาจเปิดทางให้ผู้โจมตีรันโค้ดของตัวเองบนเซิร์ฟเวอร์ของคุณ
npx lagune read catalog dotnetFederation
เสริมความปลอดภัยให้ระบบ "ลงชื่อเข้าใช้ด้วย Google, Microsoft และอื่น ๆ" เพื่อให้ผู้โจมตีปลอมตัวเป็นผู้ใช้หรือแอบเข้าบัญชีที่ไม่ใช่ของตัวเองได้ยากขึ้นมาก
npx lagune read catalog federationGo
ครอบคลุมหลุมพรางด้านความปลอดภัยเฉพาะของแอป Go โดยเน้นบั๊กที่สังเกตยากซึ่งโผล่ขึ้นมาเมื่อเจอทราฟฟิกจริง
npx lagune read catalog goคำขอ HTTP
ตรวจสอบข้อมูลที่มากับคำขอเว็บแต่ละครั้ง เพื่อไม่ให้ข้อมูลที่แอบแฝงหรือเป็นอันตรายบิดให้แอปของคุณทำงานผิดไปจากที่ควร
npx lagune read catalog http-requestโครงสร้างพื้นฐาน
ตรวจสอบไฟล์ที่ใช้ build และดีพลอยแอปของคุณ เช่น Dockerfile, Terraform และเวิร์กโฟลว์ CI เพื่อไม่ให้การตั้งค่าที่หละหลวมเพียงจุดเดียวเปิดเผยทั้งสภาพแวดล้อม
npx lagune read catalog infraInterpreter
ป้องกันไม่ให้ระบบรันข้อมูลที่ผู้ใช้ป้อนเป็นคำสั่ง เพื่อไม่ให้ช่องในฟอร์มหรือไฟล์ที่อัปโหลดสั่งให้เซิร์ฟเวอร์ของคุณทำตามคำสั่งของผู้โจมตีได้
npx lagune read catalog interpreterJava
ครอบคลุมหลุมพรางด้านความปลอดภัยเฉพาะของแอป Java ที่อาจเปิดทางให้ผู้โจมตีรันโค้ดของตัวเองบนเซิร์ฟเวอร์ของคุณ
npx lagune read catalog javaJavaScript
ครอบคลุมหลุมพรางด้านความปลอดภัยเฉพาะของแอป JavaScript และ Node ตั้งแต่การรันโค้ดที่ไม่น่าเชื่อถือไปจนถึงการอ่านไฟล์ที่ไม่ควรอ่าน
npx lagune read catalog javascriptLLM
ปกป้องฟีเจอร์ที่สร้างบนโมเดล AI เพื่อไม่ให้ข้อความที่เรียบเรียงอย่างแยบยลหลอกให้ AI ทำข้อมูลรั่วไหลหรือใช้ tool ที่เชื่อมต่ออยู่ในทางที่ผิด
npx lagune read catalog llmเครือข่าย
ตรวจสอบวิธีที่แอปของคุณสื่อสารกับบริการอื่น เพื่อไม่ให้แอปถูกหลอกให้ดึงหรือเชื่อถือสิ่งที่ผู้โจมตีควบคุมอยู่
npx lagune read catalog networkPath
ป้องกันไม่ให้ผู้โจมตีท่องไปทั่วไฟล์บนเซิร์ฟเวอร์ของคุณ เพื่อไม่ให้อ่านไฟล์ส่วนตัวหรือเขียนทับไฟล์สำคัญได้ด้วยการดัดแปลงชื่อไฟล์
npx lagune read catalog pathการชำระเงิน
เสริมความปลอดภัยให้ขั้นตอนชำระเงินและการเรียกเก็บเงิน ทำให้การแก้ไขราคา การเลี่ยงการจ่ายเงิน หรือการส่งรายการเรียกเก็บเงินซ้ำทำได้ยากขึ้นมาก
npx lagune read catalog paymentPHP
ครอบคลุมหลุมพรางด้านความปลอดภัยเฉพาะของแอป PHP ที่อาจเปิดทางให้ผู้โจมตีรันโค้ดของตัวเองหรือข้ามการล็อกอินได้
npx lagune read catalog phpPython
ครอบคลุมหลุมพรางด้านความปลอดภัยเฉพาะของแอป Python โดยเน้นการโหลดข้อมูลที่ไม่น่าเชื่อถือซึ่งอาจรันโค้ดของผู้โจมตีได้
npx lagune read catalog pythonRegex
เสริมความปลอดภัยให้การตรวจสอบข้อความยังทำงานได้อย่างมีประสิทธิภาพ เพื่อให้ข้อมูลที่เป็นอันตรายสร้างภาระจนแอปของคุณค้างได้ยากขึ้นมาก
npx lagune read catalog regexRuby
ครอบคลุมหลุมพรางด้านความปลอดภัยเฉพาะของแอป Ruby โดยเน้นการโหลดข้อมูลที่ไม่น่าเชื่อถือซึ่งอาจรันโค้ดของผู้โจมตีได้
npx lagune read catalog rubyRust
ครอบคลุมหลุมพรางด้านความปลอดภัยเฉพาะของแอป Rust โดยเน้นโค้ด unsafe ที่อาจทำให้หน่วยความจำเสียหายหรือทำให้โปรแกรมล่ม
npx lagune read catalog rustSecret
เก็บรหัสผ่าน คีย์ API และ token ให้พ้นจากซอร์สโค้ดของคุณ เพื่อไม่ให้ repository ที่แชร์หรือ build ที่หลุดออกไปส่งต่อสิ่งเหล่านี้ให้ผู้โจมตี
npx lagune read catalog secretsServerless
ตรวจสอบฟังก์ชันบนคลาวด์และสิทธิ์ของฟังก์ชันเหล่านั้น เพื่อไม่ให้ฟังก์ชันเดียวถูกใช้ในทางที่ผิดจนเข้าถึงได้กว้างเกินกว่าที่ควร
npx lagune read catalog serverlessSQL
ปกป้องวิธีที่แอปของคุณสื่อสารกับฐานข้อมูล เพื่อไม่ให้ข้อมูลที่จงใจสร้างขึ้นอ่าน แก้ไข หรือลบข้อมูลที่ไม่ควรแตะต้องเลย
npx lagune read catalog sqlSupabase
ล็อกความปลอดภัยของแบ็กเอนด์ Supabase เพื่อให้กฎของฐานข้อมูลใช้ได้จริง และ secret key ไม่หลุดออกสู่สาธารณะ
npx lagune read catalog supabaseการรับส่งข้อมูล
เสริมความปลอดภัยของการรับส่งข้อมูลให้ข้อมูลเดินทางผ่านการเชื่อมต่อที่เข้ารหัส ทำให้การอ่านหรือแก้ไขข้อมูลระหว่างทางจากผู้ใช้ถึงแอปของคุณทำได้ยากขึ้นมาก
npx lagune read catalog transportการอัปโหลด
เสริมความปลอดภัยให้การอัปโหลดไฟล์ ทำให้การอัปโหลดไฟล์ปลอมตัวที่รันโค้ด เขียนทับข้อมูล หรือใช้พื้นที่จัดเก็บจนเต็มทำได้ยากขึ้นมาก
npx lagune read catalog uploadXML
เสริมความปลอดภัยให้วิธีที่แอปของคุณอ่านข้อมูล XML เพื่อให้ไฟล์ที่จงใจสร้างขึ้นมีโอกาสน้อยลงมากที่จะทำให้ไฟล์บนเซิร์ฟเวอร์รั่วไหลหรือทำให้แอปของคุณล่ม
npx lagune read catalog xmlใช้งานด้วยตัวเอง
หากต้องการใช้ความรู้เฉพาะทางโดยตรง ให้สั่งเอเจนต์โหลดด้วย read catalog <name> และเขียนงานที่ต้องการไว้ใน prompt เดียวกัน ความรู้นั้นจะทำงานกับสิ่งที่คุณขอ วิธีนี้ใช้ได้กับทุก prompt แม้แต่ prompt ที่ไม่เกี่ยวกับขั้นตอนของ Lagune
ตัวอย่างเช่น prompt อิสระที่สั่งตรง ๆ ให้สร้างชุด RegExp ที่ปลอดภัยด้วย Python:
โหลดความรู้เฉพาะทาง regex ด้วย `npx lagune read catalog regex` แล้วสร้างชุด regular expression ใน @src/utils/regex.py สำหรับตรวจสอบอีเมลและชื่อผู้ใช้
prompt นี้ใช้ hook แบบ deterministic ทดสอบ RegExp แต่ละตัวว่าเสี่ยงต่อ ReDoS หรือไม่ เก็บเฉพาะตัวที่ปลอดภัย และได้ผลลัพธ์ประมาณนี้:
import re
EMAIL = re.compile(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")
USERNAME = re.compile(r"^[a-zA-Z0-9_]{3,20}$")
def is_email(value: str) -> bool:
return EMAIL.match(value) is not None
def is_username(value: str) -> bool:
return USERNAME.match(value) is not None
ทดสอบรูปแบบด้วยตัวเองได้ที่ devina.io/redos-checker
ความรู้เฉพาะทางในตัว
ความรู้เฉพาะทางในตัวจัดกลุ่มเป็น หมวดหมู่ และนี่คือชุดที่มาพร้อมกับ Lagune:
| ความรู้เฉพาะทาง | หมวดหมู่ | จุดเน้น |
|---|---|---|
regex | owasp | ReDoS: รูปแบบที่ทำงานช้าแบบทวีคูณเมื่อเจออินพุตที่จงใจสร้างขึ้น |
network | owasp | SSRF และ redirect: ปลายทางของการ fetch หรือ redirect ที่ผู้ใช้กำหนด |
interpreter | owasp, lovable | Code injection: eval, include แบบไดนามิก และการเรียกฟังก์ชันตามชื่อ |
sql | owasp | ฐานข้อมูลเชิงสัมพันธ์: injection การเรียก ORM แบบ raw สิทธิ์ และสิ่งที่เอนจินฐานข้อมูลเข้าถึงได้ |
path | owasp | path ในระบบไฟล์: traversal, null-byte, NTFS stream และการฝังไฟล์ |
upload | owasp | การอัปโหลดไฟล์: ชนิดและ signature ของไฟล์ เนื้อหาอันตราย การจัดเก็บ และขีดจำกัด |
access-control | owasp, lovable | การยืนยันตัวตน การตรวจสอบสิทธิ์ และเซสชัน: IDOR, mass assignment, tenant และเซสชัน |
credential-endpoint | owasp, lovable | การเดารหัสผ่านและบอต: brute force, spraying, stuffing และ throttling |
federation | owasp | ความน่าเชื่อถือของโทเค็น: OAuth, OIDC, SAML, การตรวจสอบ JWT และการล็อกอินด้วย QR |
http-request | owasp | ที่มาของ request: CSRF, การตั้งค่า CORS ผิดพลาด และ IP ของไคลเอนต์ที่ถูกปลอม |
transport | owasp | ความปลอดภัยของช่องทางสื่อสาร: การตั้งค่า TLS การใช้ HTTPS แทนข้อความธรรมดา HSTS และ pinning |
crypto | owasp, lovable | การเข้ารหัสข้อมูลที่จัดเก็บ: อัลกอริทึมที่อ่อนหรือคิดขึ้นเอง CSPRNG และการจัดการคีย์ |
secrets | owasp, lovable | ข้อมูลรับรองที่ฮาร์ดโค้ด: คีย์ โทเค็น และรหัสผ่านที่เขียนตรง ๆ ในซอร์สโค้ด |
api-endpoint | owasp | พื้นผิวที่ไม่ใช่ REST: GraphQL, gRPC, การตรวจสอบสิทธิ์ของ WebSocket, DoS และ schema |
payment | owasp, lovable | ขั้นตอน checkout: ตรวจสอบกับ gateway ฝั่งเซิร์ฟเวอร์ callback ที่มีลายเซ็น และ idempotency |
xml | owasp | การ parse XML: XXE, external entity และการขยายแบบ billion laughs |
csv | owasp | Formula injection: เซลล์ในสเปรดชีตที่ขึ้นต้นด้วย =/+/-/@ |
container | owasp, infra | การตั้งค่า container: การรันเป็น root, capabilities, การ mount socket และ hardening ของ image |
infra | infra | Infrastructure as code: Terraform, Dockerfile และ GitHub Actions |
serverless | owasp, infra, lovable | ฟังก์ชัน FaaS: IAM แบบสิทธิ์น้อยที่สุด อินพุตจาก event บริบท และ secret |
llm | ai, lovable | ความเสี่ยงของ AI และ LLM: prompt injection, agency, RAG, MCP และเอาต์พุต |
supabase | lovable | แบ็กเอนด์ Supabase: RLS ที่ปิดไว้เป็นค่าเริ่มต้น policy ที่ AI สร้างผิด และโมเดลของคีย์ |
browser | javascript, lovable | ความเสี่ยงฝั่งไคลเอนต์: XSS, CSP, framing, storage และอื่น ๆ |
javascript | javascript | ความเสี่ยงระดับภาษา: RCE, prototype pollution และอื่น ๆ |
python | python | ความเสี่ยงระดับภาษา: RCE ผ่าน pickle, class pollution, -O และอื่น ๆ |
rust | rust | ความถูกต้องของ unsafe: UB ที่เกิดจากโค้ดเรียกแบบ safe, transmute และ overflow |
java | java | Deserialization และ mobile code: chain ของ readObject และการยึดอ็อบเจกต์ |
ruby | ruby | Deserialization และ open: การฟื้นอ็อบเจกต์ผ่าน Marshal/YAML และพฤติกรรมแปลกของ pipe |
php | php | Type juggling และ unserialize: magic hash และ POP chain |
go | go | Typed-nil และ data races: nil != nil และ goroutine ที่ใช้หน่วยความจำร่วมกัน |
c-cpp | c-cpp | Format string: printf(user_input) และการเขียนแบบ write-what-where ผ่าน %n |
dotnet | dotnet | ความเสี่ยงระดับแพลตฟอร์ม: RCE ผ่าน BinaryFormatter, @Html.Raw และช่องโหว่จาก enum |
ความรู้ในตัวส่วนใหญ่กลั่นกรองมาจาก OWASP ดู แหล่งข้อมูล OWASP สำหรับการจับคู่ความรู้เฉพาะทางแต่ละตัวกับหน้าการโจมตีและ Cheat Sheet ต้นฉบับของ OWASP อย่างครบถ้วน มีโมดูลเฉพาะ stack ไม่กี่ตัวที่อิงแนวทางของผู้ให้บริการเองแทน เช่น supabase มาจากเอกสารของ Supabase และ CVE-2025-48757
ความรู้เฉพาะทางของคุณเอง
ความรู้เฉพาะทางในตัวเพิ่มขึ้นด้วยไฟล์ความรู้ 1 ไฟล์และแถวในดัชนี 1 แถว ไม่เคยเพิ่มเป็นคำสั่งใหม่ คุณเพิ่มของคุณเองได้ด้วยวิธีเดียวกันผ่านคำสั่ง /lagune-specialize: ชี้ไปที่บทความหรือหัวข้อ แล้วคำสั่งจะกลั่นกรองเป็นความรู้เฉพาะทางใหม่ลงในโปรเจกต์ของคุณ ได้แก่ไฟล์ใน .lagune/catalog/ และรายการของไฟล์นั้นใน .lagune/configs.json ความรู้เฉพาะทางของคุณเองอยู่ในแคตตาล็อกเสมอไม่ว่าหมวดหมู่จะเป็นอะไร และหากตัวใดชื่อเดียวกับความรู้เฉพาะทางในตัว ตัวของคุณจะแทนที่ความรู้เฉพาะทางในตัวนั้น
เมื่อเฟส detect หรือ verify เจอบริบทที่ความรู้เฉพาะทางตัวหนึ่งครอบคลุม เฟสนั้นจะโหลดความรู้เฉพาะทางตัวนั้นเองด้วย read catalog <name> ซึ่งเกิดขึ้นอัตโนมัติเป็นส่วนหนึ่งของเฟส คุณไม่ต้องทำเองเพื่อให้ทำงาน
ดูว่ามีอะไรให้ใช้บ้าง
หากต้องการแสดงแคตตาล็อกของโปรเจกต์จากเทอร์มินัล โดยแสดงความรู้เฉพาะทางบรรทัดละตัวพร้อม tag:
npx lagune read catalog
# regex: Regular Expression [required]
# network: Requests, Webhook, URL Fetch, Socket, IMDS, Redirect
# interpreter: Evaluator, Sink, Shell, Dynamic Execution
# ...
ความรู้เฉพาะทางที่มี [required] ใช้เสมอไม่ว่างานจะเป็นอะไร ส่วนความรู้เฉพาะทางในตัวที่อยู่ในรายการขึ้นอยู่กับ หมวดหมู่ ของโปรเจกต์
ความรู้ที่เกี่ยวข้องจะถูกดึงมาใช้ตามสิ่งที่โปรเจกต์เป็นจริง ๆ แทนที่จะรันการตรวจทุกอย่างเป็นค่าเริ่มต้น
คำถามที่พบบ่อย
โมดูลความรู้ด้านความปลอดภัยที่เจาะจงเป็นเรื่อง ๆ และไม่ผูกกับภาษาโปรแกรมใด โหลดเฉพาะเมื่อจำเป็นและไม่เคยโหลดเป็นค่าเริ่มต้น ความรู้เฉพาะทางไม่ใช่คำสั่งแบบ skill ของเอเจนต์
ชุดความรู้เฉพาะทางที่โปรเจกต์ใช้: ความรู้เฉพาะทางในตัวของหมวดหมู่ของโปรเจกต์ รวมกับความรู้เฉพาะทางของโปรเจกต์เอง ระหว่างที่ยังไม่มีหมวดหมู่ใดถูกบันทึก โปรเจกต์จะใช้ OWASP อย่างเดียว
ไม่ ความรู้เฉพาะทางโหลดเฉพาะเมื่อจำเป็น ตามสิ่งที่โปรเจกต์เป็นจริง ๆ
ใน prompt เดียวกับงานที่ต้องการ ให้สั่งเอเจนต์รัน npx lagune read catalog <name>
