0Pricing
Cyber Security Academy · บทเรียน

OWASP LLM Top 10

ความเสี่ยงสำคัญสำหรับแอปพลิเคชัน LLM

OWASP LLM Top 10 เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงมีรายการ 10 อันดับแรกสำหรับ LLM

รายการ 10 อันดับความเสี่ยงของ OWASP สำหรับแอปพลิเคชันโมเดลภาษาขนาดใหญ่ คือรายการความเสี่ยงด้านความปลอดภัยที่สำคัญที่สุดสำหรับระบบที่สร้างบน LLM ซึ่งขับเคลื่อนโดยชุมชน รายการนี้มีแนวคิดคล้ายกับรายการ 10 อันดับแรกด้านเว็บของ OWASP ที่เป็นที่รู้จักกันดี แต่เน้นภัยคุกคามที่รายการ AppSec แบบดั้งเดิมมองข้าม

รายการนี้มีอยู่เพราะแอปพลิเคชัน LLM สร้างพื้นผิวการโจมตีรูปแบบใหม่ ได้แก่ ลำดับการควบคุมด้วยภาษาธรรมชาติ ผลลัพธ์ที่ไม่กำหนดแน่นอน ห่วงโซ่อุปทานของโมเดล และตัวแทนอิสระ รายการนี้ช่วยให้ทีมรักษาความปลอดภัยมีศัพท์กลางร่วมกันและมีรายการตรวจสอบสำหรับการสร้างแบบจำลองภัยคุกคาม

รหัสด้านล่างใช้หมายเลข LLM01-LLM10 จากฉบับปี 2025

LLM01 การฉีดคำสั่ง

LLM01: การฉีดคำสั่ง เป็นความเสี่ยงอันดับหนึ่งอย่างสม่ำเสมอ ข้อความที่ผู้โจมตีควบคุมสามารถลบล้างคำสั่งของนักพัฒนาได้ เพราะโมเดลไม่สามารถแยกคำสั่งที่เชื่อถือได้ออกจากข้อมูลที่ไม่น่าเชื่อถือ

  • โดยตรง: ผู้ใช้พิมพ์คำสั่งลบล้าง
  • โดยอ้อม: คำสั่งซ่อนอยู่ในหน้าเว็บ ไฟล์ หรือผลลัพธ์จากเครื่องมือที่ดึงมา

มาตรการลดความเสี่ยง: บังคับใช้สิทธิ์น้อยที่สุดกับเครื่องมือ ปฏิบัติต่อเนื้อหาที่ดึงมาทั้งหมดเป็นข้อมูล เพิ่มจุดตรวจสอบโดยมนุษย์สำหรับการกระทำที่ละเอียดอ่อน และตัดเส้นทางการดึงข้อมูลออก

LLM02 การเปิดเผยข้อมูลที่ละเอียดอ่อน

LLM02: การเปิดเผยข้อมูลที่ละเอียดอ่อน ครอบคลุมกรณีที่โมเดลเปิดเผยข้อมูลที่ไม่ควรเปิดเผย เช่น PII ข้อมูลลับ ข้อมูลฝึกโมเดลที่เป็นกรรมสิทธิ์ หรือข้อมูลของผู้เช่ารายอื่น

การรั่วไหลอาจเกิดจากข้อมูลฝึกสอนที่โมเดลจดจำไว้ การฉีดข้อมูลเข้าสู่บริบทในวงกว้างเกินไป หรือพรอมต์ system ที่มีข้อมูลรับรอง

  • ทำความสะอาดและลดปริมาณข้อมูลที่ใส่ไว้ในบริบทให้เหลือน้อยที่สุด
  • อย่าใส่ข้อมูลลับที่ใช้งานอยู่ลงในพรอมต์ ใช้โทเค็นที่จำกัดขอบเขตและมีอายุสั้นผ่านช่องทางนอกระบบ
  • ใช้การกรองผลลัพธ์และการตรวจสอบ DLP ก่อนส่งคำตอบกลับ

LLM03 ห่วงโซ่อุปทาน

LLM03: ห่วงโซ่อุปทาน มีความเสี่ยงจากโมเดล ชุดข้อมูล ปลั๊กอิน และไลบรารีจากบุคคลที่สาม โมเดลฐานที่ถูกวางยา การปรับแต่งเฉพาะทางที่ฝังช่องทางลับจากศูนย์รวมโมเดล หรือส่วนประกอบพึ่งพาไพธอนที่เป็นอันตราย อาจทำให้แอปทั้งระบบตกอยู่ในความเสี่ยง

  • ตรวจสอบแหล่งที่มาของโมเดลและค่าตรวจสอบ
  • ตรึงรุ่นและตรวจสอบใบอนุญาต
  • สแกนไฟล์โมเดลที่ใช้รูปแบบ pickle (pickle สามารถเรียกใช้โค้ดขณะโหลดได้) และเลือกรูปแบบที่ปลอดภัย เช่น safetensors
# Pickle deserialization can run arbitrary code on load.
# Prefer safetensors for untrusted model weights:
from safetensors.torch import load_file
state = load_file("model.safetensors")

LLM04 การวางยาข้อมูลและโมเดล

LLM04: การวางยาข้อมูลและโมเดล มุ่งโจมตีไปที่ไปป์ไลน์การฝึกสอนหรือการปรับแต่งเฉพาะทาง ผู้โจมตีที่มีอิทธิพลต่อข้อมูลฝึกสอนได้สามารถฝังช่องทางลับ (ตัวกระตุ้นที่ซ่อนอยู่) ทำให้ผลลัพธ์มีอคติ หรือลดคุณภาพลงได้

ไปป์ไลน์ RAG ที่นำเข้าเอกสารจากผู้ใช้เป็นจุดเสี่ยงต่อการวางยาแบบต่อเนื่อง แม้หลังจากนำไปใช้งานแล้วก็ตาม

  • ตรวจคัดกรองและลงนามรับรองแหล่งข้อมูลฝึกสอน
  • ใช้การตรวจจับความผิดปกติกับชุดข้อมูล
  • แยกและตรวจสอบเนื้อหาที่ผู้ใช้ส่งมาก่อนทำดัชนี

LLM05 การจัดการผลลัพธ์ที่ไม่เหมาะสม

LLM05: การจัดการผลลัพธ์ที่ไม่เหมาะสม เกิดขึ้นเมื่อองค์ประกอบปลายทางเชื่อถือผลลัพธ์ของโมเดลโดยไม่ตรวจสอบ เนื่องจากผู้โจมตีสามารถชักนำผลลัพธ์ผ่านการฉีดคำสั่งได้ การส่งผลลัพธ์ที่ยังไม่ผ่านการตรวจสอบเข้าสู่เชลล์ คำสั่งเอสคิวแอล query เบราว์เซอร์ หรือตัวประเมิน จึงเป็นเส้นทางโดยตรงไปสู่ XSS, SSRF หรือ RCE

กฎ: ปฏิบัติต่อผลลัพธ์จาก LLM เหมือนกับข้อมูลป้อนเข้าจากผู้ใช้ที่ไม่น่าเชื่อถือทุกประการ เข้ารหัส ตรวจสอบ และแยกไว้ในแซนด์บ็อกซ์ก่อนส่งต่อให้ตัวแปลคำสั่งใด ๆ

# DANGEROUS: model output flows straight into a shell
os.system(model_output)        # never do this

# SAFER: validate against an allowlist, no shell
if action in ALLOWED_ACTIONS:
    run_safe(action, args)

LLM06 การมอบอำนาจมากเกินไป

LLM06: การมอบอำนาจมากเกินไป คืออันตรายที่เกิดจากการให้โมเดลมีฟังก์ชันการทำงาน สิทธิ์ หรือความเป็นอิสระมากเกินไป เมื่อโมเดลสามารถเรียกใช้เครื่องมือได้ การฉีดคำสั่งจะกลายเป็นการกระทำ ไม่ใช่เพียงข้อความ

  • ฟังก์ชันการทำงานมากเกินไป: มีเครื่องมือที่แอปไม่จำเป็นต้องใช้จริง
  • สิทธิ์มากเกินไป: เครื่องมือมีสิทธิ์เขียนหรือลบ ทั้งที่การอ่านก็เพียงพอ
  • ความเป็นอิสระมากเกินไป: การกระทำที่มีผลกระทบสูงโดยไม่มีมนุษย์อนุมัติ

ใช้สิทธิ์น้อยที่สุดสำหรับแต่ละเครื่องมือ และกำหนดให้ยืนยันก่อนดำเนินการที่ย้อนกลับไม่ได้

LLM07 การรั่วไหลของพรอมต์ system

LLM07: การรั่วไหลของพรอมต์ system สะท้อนว่า พรอมต์ system ไม่ใช่ที่เก็บข้อมูลลับที่ปลอดภัย ผู้โจมตีมักดึงพรอมต์เหล่านี้ออกมาได้ และบางครั้งพรอมต์เหล่านั้นมีข้อมูลรับรอง ตรรกะทางธุรกิจที่ซ่อนอยู่ หรือกฎการกรอง ซึ่งช่วยให้โจมตีต่อได้

  • ถือว่าพรอมต์ system สามารถกู้คืนได้ อย่าใส่ข้อมูลลับหรือกุญแจลงในพรอมต์โดยเด็ดขาด
  • บังคับใช้การอนุญาตในส่วนแบ็กเอนด์ ไม่ใช่หวังว่ากฎในพรอมต์จะมีผล
  • ถือว่าการควบคุมความปลอดภัยใด ๆ ใช้การไม่ได้ หากมีอยู่เฉพาะในข้อความพรอมต์

LLM08, LLM09, LLM10

รายการที่เหลือมีดังนี้:

  • LLM08 จุดอ่อนของเวกเตอร์และการฝังข้อมูล: ความเสี่ยงในการฝังข้อมูลของ RAG เช่น การรั่วไหลข้ามผู้เช่า การย้อนกลับการฝังข้อมูล และการทำดัชนีเอกสารที่ถูกวางยา ให้บังคับใช้การควบคุมการเข้าถึงขณะดึงข้อมูล
  • LLM09 ข้อมูลบิดเบือน: ภาพหลอนที่นำเสนออย่างมั่นใจและการพึ่งพามากเกินไป เพิ่มการยึดโยงกับแหล่งข้อมูล การอ้างอิง และการตรวจสอบโดยมนุษย์สำหรับผลลัพธ์ที่มีความสำคัญสูง
  • LLM10 การใช้ทรัพยากรแบบไร้ขอบเขต: การโจมตีให้ค่าใช้จ่ายพุ่งและการปฏิเสธการให้บริการจากคำสั่ง query ที่มีค่าใช้จ่ายสูงหรือทำงานไม่หยุด ใช้ขีดจำกัดอัตรา งบประมาณโทเค็น ขีดจำกัดเวลา และการแจ้งเตือนค่าใช้จ่าย

การใช้รายการในการจำลองภัยคุกคาม

รายการ 10 อันดับแรกมีประโยชน์มากที่สุดเมื่อใช้เป็นรายการตรวจสอบแบบมีโครงสร้างระหว่างการทบทวนการออกแบบ:

  • จับคู่แต่ละองค์ประกอบ (ข้อมูลป้อนเข้า การดึงข้อมูล เครื่องมือ และผลลัพธ์) กับความเสี่ยงของ LLM ที่เกี่ยวข้อง
  • สำหรับความเสี่ยงแต่ละรายการ ให้ระบุมาตรการควบคุมที่เป็นรูปธรรมและผู้รับผิดชอบ
  • เขียนกรณีการใช้งานในทางมิชอบและเปลี่ยนกรณีเหล่านั้นเป็นการทดสอบอัตโนมัติ

ใช้ร่วมกับกรอบงานที่มีอยู่ เช่น OWASP Top 10 มาตรฐาน, MITRE ATLAS สำหรับกลยุทธ์เฉพาะด้านการเรียนรู้ของเครื่อง และ NIST กรอบการจัดการความเสี่ยงด้านปัญญาประดิษฐ์สำหรับการกำกับดูแล

จากรายการตรวจสอบสู่การป้องกันหลายชั้น

ไม่มีมาตรการควบคุมใดเพียงมาตรการเดียวที่ครอบคลุมความเสี่ยงเหล่านี้ได้ จึงควรจัดวางเป็นชั้น ๆ:

  • ชั้นข้อมูลป้อนเข้า: การตรวจสอบ การจำแนกประเภท และขีดจำกัดอัตรา
  • ชั้นโมเดล: เครื่องมือที่มีสิทธิ์น้อยที่สุด บริบทที่จำกัดขอบเขต และโมเดลป้องกัน
  • ชั้นผลลัพธ์: การตรวจสอบ การเข้ารหัส DLP และการอนุมัติโดยมนุษย์
  • ชั้นแพลตฟอร์ม: การบันทึกข้อมูล การติดตามตรวจสอบ การยืนยันห่วงโซ่อุปทาน และการควบคุมค่าใช้จ่าย

สมมติว่าชั้นใดชั้นหนึ่งอาจล้มเหลวได้ และออกแบบให้ความล้มเหลวเพียงครั้งเดียวไม่กลายเป็นการละเมิดความปลอดภัย

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจหมวดหมู่ LLM ของ OWASP

สรุปทบทวน

OWASP LLM 10 อันดับแรกโดยสรุป:

  • LLM01 การฉีดคำสั่ง, LLM02 การเปิดเผยข้อมูลที่ละเอียดอ่อน, LLM03 ห่วงโซ่อุปทาน, LLM04 การวางยาข้อมูลและโมเดล, LLM05 การจัดการผลลัพธ์ที่ไม่เหมาะสม
  • LLM06 การมอบอำนาจมากเกินไป, LLM07 การรั่วไหลของพรอมต์ system, LLM08 จุดอ่อนของเวกเตอร์และการฝังข้อมูล, LLM09 ข้อมูลบิดเบือน, LLM10 การใช้ทรัพยากรแบบไร้ขอบเขต
  • ปฏิบัติต่อผลลัพธ์ของโมเดลและพรอมต์ system ว่าไม่น่าเชื่อถือและไม่ใช่ข้อมูลลับ
  • ใช้รายการนี้เป็นรายการตรวจสอบสำหรับการจำลองภัยคุกคาม ใช้ร่วมกับ MITRE ATLAS และ RMF ของ NIST ด้านปัญญาประดิษฐ์ และบังคับใช้การป้องกันหลายชั้นในชั้นข้อมูลป้อนเข้า โมเดล ผลลัพธ์ และแพลตฟอร์ม

คำถามที่พบบ่อย

บทเรียน “OWASP LLM Top 10” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “OWASP LLM Top 10” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “OWASP LLM Top 10”

ความเสี่ยงสำคัญสำหรับแอปพลิเคชัน LLM คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “OWASP LLM Top 10” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การฉีดพรอมต์และการเจลเบรก
  2. OWASP LLM Top 10
  3. การรักษาความปลอดภัยตัวแทนปัญญาประดิษฐ์และการใช้เครื่องมือ
  4. ความเสี่ยงจากโมเดล ข้อมูล และห่วงโซ่อุปทาน
← กลับไปที่ Cyber Security Academy