← กลับหน้าภาพรวม
🛡️ OWASP LLM Top 10 · SECURITY

OWASP Top 10 for LLM Applications 2025: อธิบายพร้อมแนวป้องกันครบทุกหมวด

หน้านี้เจาะลึก OWASP Top 10 for LLM Applications 2025 (v2.0 เผยแพร่ 18 พ.ย. 2024 โดย OWASP Gen AI Security Project, รหัส LLM01:2025 ถึง LLM10:2025) ซึ่งเราใช้เป็นแกนหลัก (anchor) ของหลักสูตร ทุกหมวดในหน้านี้อธิบายในมุมของการป้องกันเป็นหลัก ส่วนมุมของคนที่คิดจะโจมตี เราพูดถึงแค่พอให้เข้าใจเพื่อเอาไปตั้งการ์ดป้องกันได้ หมายเหตุ: บางหน้าของ OWASP แสดงวันที่ 12 มี.ค. 2025 ซึ่งเป็นการแปล/เผยแพร่ซ้ำ ให้ยึดรุ่น 2025 เผยแพร่ พ.ย. 2024 เป็นหลัก

🛠 OWASP Top 10 for LLM Applications 2025

LLM01:2025 Prompt Injection

การแอบยัดคำสั่ง (prompt injection) คือเวลาที่ผู้ใช้หรือคนภายนอกแอบเขียนคำสั่งแฝงเข้ามาในข้อความที่ป้อนให้ AI จนไปกลบคำสั่งที่เราตั้งใจไว้ พูดง่าย ๆ คือหลอกให้ AI หันไปทำตามคนร้ายแทน วิธีป้องกันคือ วางระบบคัดกรองทั้งข้อมูลที่ป้อนเข้าและสิ่งที่ AI ตอบออกมา (input/output guardrails), แยกสิทธิ์การเข้าถึงให้ชัดเจน (privilege separation), ออกแบบให้ AI มีอำนาจตัดสินใจน้อยที่สุดเท่าที่จำเป็น (least-agency) และตั้งสมมติฐานไว้เสมอว่าทุกอย่างที่โมเดลตอบออกมานั้นยังเชื่อไม่ได้จนกว่าจะตรวจสอบก่อน (untrusted)

ตัวอย่าง PROMPT
ช่วยระบุมาตรการป้องกัน LLM01 สำหรับ chatbot ที่รับ input จากผู้ใช้ภายนอกและดึงเนื้อหาจากเว็บมาประกอบคำตอบ

LLM02:2025 Sensitive Information Disclosure (การเผยข้อมูลอ่อนไหว)

คือกรณีที่โมเดลเผลอปล่อยข้อมูลส่วนตัวของคน (PII), ความลับ หรือข้อมูลทางธุรกิจรั่วไหลออกไป วิธีป้องกันคือ เก็บและใช้ข้อมูลเท่าที่จำเป็นจริง ๆ (data minimization), กรองสิ่งที่ AI ตอบออกมาและปิดบังข้อมูลส่วนตัวก่อนส่งถึงผู้ใช้ (output filtering / PII redaction) และคอยทำความสะอาดข้อมูลที่เอาไปใช้ฝึกโมเดล รวมถึงข้อมูลในคลังที่ AI ใช้ค้นมาตอบ (RAG)

ตัวอย่าง PROMPT
ออกแบบ output filter เพื่อ redaction PII ก่อนส่งคำตอบถึงผู้ใช้ สำหรับผู้ช่วย AI ที่เข้าถึงข้อมูลพนักงาน

LLM03:2025 Supply Chain (ห่วงโซ่อุปทาน)

คือความเสี่ยงจากตัวโมเดล ชุดข้อมูล ปลั๊กอิน หรือไลบรารีภายนอกที่เราหยิบมาใช้ (dependency) แต่ดันถูกคนร้ายแอบดัดแปลงมาก่อน วิธีป้องกันคือ ตรวจสอบที่มาที่ไปของโมเดลให้ชัด (model provenance), ทำบัญชีรายการส่วนประกอบทั้งหมดของระบบ AI ไว้ (AI-BOM), สแกนหาสิ่งผิดปกติในตัวโมเดล (model scanning) และใช้เฉพาะไฟล์ที่มีลายเซ็นรับรองว่าของแท้ไม่ถูกแก้ (signed artifacts)

ตัวอย่าง PROMPT
ช่วยจัดทำ checklist ตรวจ supply chain ก่อนนำโมเดล open-weight เข้าใช้ในผลิตภัณฑ์

LLM04:2025 Data and Model Poisoning (การวางยาข้อมูลและโมเดล)

คือการที่คนร้ายแอบใส่ข้อมูลปนเปื้อนเข้ามา จนไปทำให้ข้อมูลที่ใช้ฝึกโมเดลตั้งแต่ต้น (pre-training), ข้อมูลที่ใช้ปรับจูนโมเดลให้เก่งเฉพาะทาง (fine-tuning) หรือข้อมูลที่แปลงเป็นเวกเตอร์ให้ AI ค้นหา (embeddings) เพี้ยนไป วิธีป้องกันคือ ตรวจสอบความถูกต้องของข้อมูลก่อนใช้ (data validation), ติดตามที่มาของข้อมูลทุกชิ้น (provenance tracking) และคอยจับความผิดปกติที่โผล่ขึ้นมา (anomaly detection)

ตัวอย่าง PROMPT
อธิบายมาตรการ data validation และ anomaly detection ที่ช่วยลดความเสี่ยง poisoning ในขั้น fine-tuning

LLM05:2025 Improper Output Handling (การจัดการคำตอบของ AI อย่างไม่ระวัง)

คือเวลาที่ระบบปลายทางเชื่อสิ่งที่ AI ตอบออกมาทันทีโดยไม่ตรวจล้างให้ปลอดภัยก่อน (sanitize) ซึ่งอาจเปิดช่องให้ถูกโจมตีได้ เช่น ฝังสคริปต์อันตรายในหน้าเว็บ (XSS), หลอกให้เซิร์ฟเวอร์ยิงคำขอไปที่ที่ไม่ควร (SSRF) หรือถึงขั้นสั่งรันโค้ดในแอปได้ (code exec) วิธีป้องกันคือ ต้องแปลงและตรวจสอบสิ่งที่ AI ตอบออกมาให้ปลอดภัย (output encoding/validation) ทุกครั้งก่อนเอาไปใช้จริง

ตัวอย่าง PROMPT
ออกแบบ output validation pipeline สำหรับ LLM ที่คำตอบจะถูกนำไปแสดงในหน้าเว็บเพื่อป้องกัน XSS

LLM06:2025 Excessive Agency (การให้อำนาจ AI มากเกินไป)

คือเวลาที่เราให้ AI ผู้ช่วยอัตโนมัติ (agent) มีสิทธิ์ มีอิสระในการตัดสินใจ หรือมีเครื่องมือให้ใช้มากเกินความจำเป็น พอมีอะไรผิดพลาดจึงสร้างความเสียหายได้กว้าง วิธีป้องกันคือ ให้สิทธิ์น้อยที่สุดเท่าที่งานต้องใช้จริง (least privilege), ให้คนคอยกดอนุมัติก่อนในงานที่ผลกระทบสูง (human-in-the-loop) และจำกัดขอบเขตเครื่องมือที่ AI แตะได้ (scoped tool access)

ตัวอย่าง PROMPT
ประเมิน tool ที่ agent เชื่อมต่อ และระบุว่าอะไรควรมี human-in-the-loop ตามหลัก least-agency

LLM07:2025 System Prompt Leakage · การรั่วไหลของคำสั่งระบบ (ใหม่ปี 2025)

คือกรณีที่คำสั่งเบื้องหลังที่เราตั้งไว้ให้ AI (system prompt) หลุดออกไปจนคนภายนอกเห็นตรรกะการทำงานหรือความลับที่ซ่อนอยู่ในนั้น วิธีป้องกันคือ อย่าเอาความลับไปใส่ไว้ในคำสั่งเลยตั้งแต่แรก และย้ายการควบคุมความปลอดภัยไปไว้ภายนอกคำสั่ง (control) แทน

ตัวอย่าง PROMPT
ตรวจสอบ system prompt ตัวอย่างและระบุว่ามีอะไรที่ละเมิด LLM07 พร้อมเสนอวิธีเก็บความลับให้ถูกต้อง

LLM08:2025 Vector and Embedding Weaknesses · จุดอ่อนของเวกเตอร์และคลังข้อมูล (ใหม่ปี 2025)

คือช่องโหว่ในระบบที่แปลงข้อมูลเป็นเวกเตอร์และคลังเก็บเวกเตอร์ (embeddings / vector store) ที่ AI ใช้ค้นข้อมูลมาตอบ เช่น การแอบวางข้อมูลปนเปื้อนในคลังค้นหา (RAG poisoning) หรือข้อมูลของลูกค้ารายหนึ่งรั่วไปให้อีกรายเห็น (cross-tenant leakage) วิธีป้องกันคือ คุมสิทธิ์การเข้าถึงบนฐานข้อมูลเวกเตอร์ให้รัดกุม (access control บน vector DB) และแยกข้อมูลของแต่ละรายออกจากกันให้ชัด (data partitioning)

ตัวอย่าง PROMPT
ออกแบบ access control และ data partitioning สำหรับ vector DB ที่ให้บริการหลาย tenant เพื่อป้องกัน cross-tenant leakage

LLM09:2025 Misinformation (ข้อมูลผิดที่ AI สร้างขึ้น)

คือเวลาที่ AI มั่นใจตอบข้อมูลที่ฟังดูน่าเชื่อแต่จริง ๆ แล้วผิดหรือกุขึ้นมาเอง (hallucination / confabulation) ซึ่งอันตรายเมื่อมีคนเอาไปใช้จริง วิธีป้องกันคือ ให้ AI อ้างอิงจากแหล่งข้อมูลจริงเป็นฐานในการตอบ (grounding / RAG), แนบแหล่งอ้างอิงไปด้วย (citations), ให้คนช่วยตรวจทาน (human review) และให้ AI บอกด้วยเมื่อมันเองก็ไม่แน่ใจ

ตัวอย่าง PROMPT
ออกแบบมาตรการลด misinformation สำหรับ AI ที่ให้คำแนะนำเชิงเทคนิค โดยเพิ่ม grounding และ citations

LLM10:2025 Unbounded Consumption (การใช้ทรัพยากรแบบไม่มีขีดจำกัด)

คือการที่คนร้ายยิงคำขอถามเข้ามาไม่หยุด จนทำให้ทรัพยากรหมดและค่าใช้จ่ายบานปลาย (denial-of-wallet) หรือค่อย ๆ ถามซ้ำ ๆ เพื่อดูดลอกเลียนโมเดลของเราออกไป (model extraction) วิธีป้องกันคือ จำกัดจำนวนคำขอต่อช่วงเวลา (rate limiting), ตั้งโควตาการใช้งาน (quotas) และเฝ้าดูการใช้งานอย่างสม่ำเสมอ (monitoring)

ตัวอย่าง PROMPT
ออกแบบมาตรการ rate limiting, quota และ monitoring สำหรับ LLM API เพื่อป้องกัน LLM10
← กลับหน้าภาพรวมหลักสูตร AI Security