เวอร์ชัน: 1.0-ฉบับร่าง | เฟรมเวิร์ก: MITRE ATLAS (ภูมิทัศน์ภัยคุกคามเชิงปฏิปักษ์สำหรับระบบ AI) + แผนภาพการไหลของข้อมูล
แบบจำลองภัยคุกคามนี้จัดทำเอกสารเกี่ยวกับภัยคุกคามเชิงปฏิปักษ์ต่อแพลตฟอร์มเอเจนต์ AI ของ OpenClaw และมาร์เก็ตเพลส Skills ของ ClawHub เอกสารนี้เป็นเอกสารที่ปรับปรุงอย่างต่อเนื่องและดูแลโดยชุมชน OpenClaw โปรดดูการมีส่วนร่วมในแบบจำลองภัยคุกคามเพื่อเรียนรู้วิธีรายงานภัยคุกคามใหม่ เสนอห่วงโซ่การโจมตี หรือแนะนำมาตรการบรรเทา
แหล่งข้อมูลสำคัญของ ATLAS: เทคนิค | ยุทธวิธี | กรณีศึกษา | GitHub ของ ATLAS | การมีส่วนร่วมใน ATLAS
1. ขอบเขต
| องค์ประกอบ |
รวมอยู่ในขอบเขต |
หมายเหตุ |
| รันไทม์เอเจนต์ OpenClaw |
ใช่ |
การทำงานหลักของเอเจนต์ การเรียกใช้เครื่องมือ และเซสชัน |
| Gateway |
ใช่ |
การยืนยันตัวตน การกำหนดเส้นทาง และการผสานรวมช่องทาง |
| การผสานรวมช่องทาง |
ใช่ |
WhatsApp, Telegram, Discord, Signal, Slack และอื่น ๆ |
| มาร์เก็ตเพลส ClawHub |
ใช่ |
การเผยแพร่ การกลั่นกรอง และการแจกจ่าย Skills |
| เซิร์ฟเวอร์ MCP |
ใช่ |
ผู้ให้บริการเครื่องมือภายนอก |
| อุปกรณ์ของผู้ใช้ |
บางส่วน |
แอปมือถือและไคลเอนต์เดสก์ท็อป |
รายงานที่อยู่นอกขอบเขตและรูปแบบผลบวกลวง (การเปิดให้เข้าถึงจากอินเทอร์เน็ตสาธารณะ ห่วงโซ่ที่มีเพียงการแทรกคำสั่งในพรอมป์โดยไม่มีการข้ามขอบเขต ผู้ดำเนินการที่ไม่ไว้วางใจกันและใช้โฮสต์ Gateway เดียวกันร่วมกัน และกรณีอื่น ๆ) ระบุไว้ใน SECURITY.md โดยไฟล์ดังกล่าวเป็นแหล่งข้อมูลปัจจุบันที่เชื่อถือได้สำหรับขอบเขตการรายงานช่องโหว่ ไม่ใช่หน้านี้
2. สถาปัตยกรรมระบบ
2.1 ขอบเขตความไว้วางใจ
text┌─────────────────────────────────────────────────────────────────┐│ UNTRUSTED ZONE ││ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ││ │ WhatsApp │ │ Telegram │ │ Discord │ ... ││ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ ││ │ │ │ │└─────────┼────────────────┼────────────────┼──────────────────────┘ │ │ │ ▼ ▼ ▼┌─────────────────────────────────────────────────────────────────┐│ TRUST BOUNDARY 1: Channel Access ││ ┌──────────────────────────────────────────────────────────┐ ││ │ GATEWAY │ ││ │ • Device pairing (1h DM pairing / 5m node pairing TTL) │ ││ │ • AllowFrom / allowlist validation │ ││ │ • Token / password / Tailscale auth │ ││ └──────────────────────────────────────────────────────────┘ │└─────────────────────────────────────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────────────────┐│ TRUST BOUNDARY 2: Session Isolation ││ ┌──────────────────────────────────────────────────────────┐ ││ │ AGENT SESSIONS │ ││ │ • Session key = agent:channel:peer │ ││ │ • Tool policies per agent │ ││ │ • Transcript logging │ ││ └──────────────────────────────────────────────────────────┘ │└─────────────────────────────────────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────────────────┐│ TRUST BOUNDARY 3: Tool Execution ││ ┌──────────────────────────────────────────────────────────┐ ││ │ EXECUTION SANDBOX │ ││ │ • Docker sandbox (default) or host (exec approvals) │ ││ │ • Node remote execution │ ││ │ • SSRF protection (DNS pinning + IP blocking) │ ││ └──────────────────────────────────────────────────────────┘ │└─────────────────────────────────────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────────────────┐│ TRUST BOUNDARY 4: External Content ││ ┌──────────────────────────────────────────────────────────┐ ││ │ FETCHED URLs / EMAILS / WEBHOOKS │ ││ │ • External content wrapping (random-boundary XML tags) │ ││ │ • Security notice injection │ ││ └──────────────────────────────────────────────────────────┘ │└─────────────────────────────────────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────────────────┐│ TRUST BOUNDARY 5: Supply Chain ││ ┌──────────────────────────────────────────────────────────┐ ││ │ CLAWHUB │ ││ │ • Skill publishing (semver, SKILL.md required) │ ││ │ • Static pattern + AST-adjacent moderation scanning │ ││ │ • LLM-based agentic risk review + VirusTotal scanning │ ││ │ • GitHub account age verification (14 days) │ ││ └──────────────────────────────────────────────────────────┘ │└─────────────────────────────────────────────────────────────────┘
2.2 การไหลของข้อมูล
| โฟลว์ |
ต้นทาง |
ปลายทาง |
ข้อมูล |
การป้องกัน |
| F1 |
ช่องทาง |
Gateway |
ข้อความของผู้ใช้ |
TLS, AllowFrom |
| F2 |
Gateway |
เอเจนต์ |
ข้อความที่กำหนดเส้นทางแล้ว |
การแยกเซสชัน |
| F3 |
เอเจนต์ |
เครื่องมือ |
การเรียกใช้เครื่องมือ |
การบังคับใช้นโยบาย |
| F4 |
เอเจนต์ |
ภายนอก |
คำขอ web_fetch |
การป้องกัน SSRF |
| F5 |
ClawHub |
เอเจนต์ |
โค้ด Skills |
การกลั่นกรองและการสแกน |
| F6 |
เอเจนต์ |
ช่องทาง |
การตอบกลับ |
การกรองเอาต์พุต |
3. การวิเคราะห์ภัยคุกคามตามยุทธวิธีของ ATLAS
3.1 การลาดตระเวน (AML.TA0002)
T-RECON-001: การค้นหาปลายทางของเอเจนต์
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0006 - การสแกนเชิงรุก |
| คำอธิบาย |
ผู้โจมตีสแกนหาปลายทาง Gateway ของ OpenClaw ที่เปิดเผยต่อภายนอก |
| เวกเตอร์การโจมตี |
การสแกนเครือข่าย การค้นหาผ่าน Shodan และการไล่ระเบียน DNS |
| องค์ประกอบที่ได้รับผลกระทบ |
Gateway และปลายทาง API ที่เปิดเผยต่อภายนอก |
| มาตรการบรรเทาปัจจุบัน |
ตัวเลือกการยืนยันตัวตนด้วย Tailscale และผูกกับ local loopback โดยค่าเริ่มต้น |
| ความเสี่ยงคงเหลือ |
ปานกลาง - สามารถค้นพบ Gateway สาธารณะได้ |
| คำแนะนำ |
จัดทำเอกสารการติดตั้งใช้งานอย่างปลอดภัย และเพิ่มการจำกัดอัตราบนปลายทางสำหรับการค้นหา |
T-RECON-002: การตรวจสอบการผสานรวมช่องทาง
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0006 - การสแกนเชิงรุก |
| คำอธิบาย |
ผู้โจมตีตรวจสอบช่องทางรับส่งข้อความเพื่อระบุบัญชีที่บริหารจัดการโดย AI |
| เวกเตอร์การโจมตี |
การส่งข้อความทดสอบและการสังเกตรูปแบบการตอบกลับ |
| องค์ประกอบที่ได้รับผลกระทบ |
การผสานรวมช่องทางทั้งหมด |
| มาตรการบรรเทาปัจจุบัน |
ไม่มีมาตรการเฉพาะ |
| ความเสี่ยงคงเหลือ |
ต่ำ - การค้นพบเพียงอย่างเดียวมีประโยชน์จำกัด |
| คำแนะนำ |
พิจารณาสุ่มระยะเวลาการตอบกลับ |
3.2 การเข้าถึงเริ่มต้น (AML.TA0004)
T-ACCESS-001: การดักรับรหัสจับคู่
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0040 - การเข้าถึง API การอนุมานของโมเดล AI |
| คำอธิบาย |
ผู้โจมตีดักรับรหัสจับคู่ระหว่างช่วงเวลาจับคู่ (1 ชม. สำหรับการจับคู่ผ่าน DM/ทั่วไป, 5 นาทีสำหรับการจับคู่ Node) |
| เวกเตอร์การโจมตี |
การแอบมองหน้าจอ การดักฟังเครือข่าย วิศวกรรมสังคม |
| องค์ประกอบที่ได้รับผลกระทบ |
ระบบจับคู่อุปกรณ์ |
| มาตรการบรรเทาปัจจุบัน |
TTL 1 ชม. (การจับคู่ผ่าน DM/ทั่วไป), TTL 5 นาที (การจับคู่ Node); ส่งรหัสผ่านช่องทางที่มีอยู่ |
| ความเสี่ยงคงเหลือ |
ปานกลาง - ช่วงเวลาจับคู่สามารถถูกใช้ประโยชน์ได้ |
| คำแนะนำ |
ลดช่วงเวลาจับคู่ เพิ่มขั้นตอนการยืนยัน |
T-ACCESS-002: การปลอมแปลง AllowFrom
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0040 - การเข้าถึง API การอนุมานของโมเดล AI |
| คำอธิบาย |
ผู้โจมตีปลอมแปลงข้อมูลระบุตัวตนของผู้ส่งที่ได้รับอนุญาตในช่องทาง |
| เวกเตอร์การโจมตี |
ขึ้นอยู่กับช่องทาง - การปลอมแปลงหมายเลขโทรศัพท์ การแอบอ้างชื่อผู้ใช้ |
| องค์ประกอบที่ได้รับผลกระทบ |
การตรวจสอบ AllowFrom ของแต่ละช่องทาง |
| มาตรการบรรเทาปัจจุบัน |
การยืนยันตัวตนเฉพาะช่องทาง |
| ความเสี่ยงคงเหลือ |
ปานกลาง - บางช่องทางยังคงเสี่ยงต่อการปลอมแปลง |
| คำแนะนำ |
จัดทำเอกสารความเสี่ยงเฉพาะช่องทาง และเพิ่มการยืนยันด้วยการเข้ารหัสลับเมื่อทำได้ |
T-ACCESS-003: การขโมยโทเค็น
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0040 - การเข้าถึง API การอนุมานของโมเดล AI |
| คำอธิบาย |
ผู้โจมตีขโมยโทเค็นการยืนยันตัวตนจากไฟล์การกำหนดค่า/ข้อมูลประจำตัว |
| เวกเตอร์การโจมตี |
มัลแวร์ การเข้าถึงอุปกรณ์โดยไม่ได้รับอนุญาต การเปิดเผยข้อมูลสำรองการกำหนดค่า |
| องค์ประกอบที่ได้รับผลกระทบ |
ที่เก็บข้อมูลประจำตัวของช่องทาง/ผู้ให้บริการ และที่เก็บการกำหนดค่า |
| มาตรการบรรเทาปัจจุบัน |
สิทธิ์ของไฟล์ |
| ความเสี่ยงคงเหลือ |
สูง - โทเค็นถูกจัดเก็บเป็นข้อความธรรมดาบนดิสก์ |
| คำแนะนำ |
ใช้การเข้ารหัสโทเค็นขณะจัดเก็บ และเพิ่มการหมุนเวียนโทเค็น |
3.3 การดำเนินการ (AML.TA0005)
T-EXEC-001: การแทรกคำสั่งพรอมต์โดยตรง
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0051.000 - การแทรกคำสั่งพรอมต์ใน LLM: โดยตรง |
| คำอธิบาย |
ผู้โจมตีส่งพรอมต์ที่สร้างขึ้นเป็นพิเศษเพื่อควบคุมพฤติกรรมของเอเจนต์ |
| เวกเตอร์การโจมตี |
ข้อความในช่องทางที่มีคำสั่งประสงค์ร้าย |
| องค์ประกอบที่ได้รับผลกระทบ |
LLM ของเอเจนต์ และพื้นผิวรับข้อมูลทั้งหมด |
| มาตรการบรรเทาปัจจุบัน |
การตรวจจับรูปแบบ การห่อหุ้มเนื้อหาภายนอก; ถือว่าอยู่นอกขอบเขตของรายงานช่องโหว่หากไม่มีการข้ามขอบเขตความปลอดภัย (ดู SECURITY.md) |
| ความเสี่ยงคงเหลือ |
วิกฤต - มีเพียงการตรวจจับ ไม่มีการบล็อก; การโจมตีที่ซับซ้อนสามารถหลบเลี่ยงได้ |
| คำแนะนำ |
ตรวจสอบความถูกต้องของผลลัพธ์และให้ผู้ใช้ยืนยันการดำเนินการที่ละเอียดอ่อน โดยเพิ่มเป็นชั้นเหนือการตรวจจับที่มีอยู่ |
T-EXEC-002: การแทรกคำสั่งพรอมต์ทางอ้อม
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0051.001 - การแทรกคำสั่งพรอมต์ใน LLM: ทางอ้อม |
| คำอธิบาย |
ผู้โจมตีฝังคำสั่งประสงค์ร้ายไว้ในเนื้อหาที่ดึงมา |
| เวกเตอร์การโจมตี |
URL ที่เป็นอันตราย อีเมลที่ถูกวางยาพิษ Webhook ที่ถูกเจาะระบบ |
| องค์ประกอบที่ได้รับผลกระทบ |
web_fetch, การนำเข้าอีเมล และแหล่งข้อมูลภายนอก |
| มาตรการบรรเทาปัจจุบัน |
การห่อหุ้มเนื้อหาด้วยเครื่องหมายรูปแบบ XML ที่มีขอบเขตแบบสุ่ม การทำให้อักขระคล้ายกัน/โทเค็นพิเศษเป็นรูปแบบมาตรฐาน และประกาศด้านความปลอดภัย |
| ความเสี่ยงคงเหลือ |
สูง - LLM อาจยังคงเพิกเฉยต่อคำสั่งของตัวห่อหุ้ม |
| คำแนะนำ |
แยกบริบทการดำเนินการสำหรับเนื้อหาที่ถูกห่อหุ้ม |
T-EXEC-003: การแทรกอาร์กิวเมนต์ของเครื่องมือ
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0051.000 - การแทรกคำสั่งพรอมต์ใน LLM: โดยตรง |
| คำอธิบาย |
ผู้โจมตีควบคุมอาร์กิวเมนต์ของเครื่องมือผ่านการแทรกคำสั่งพรอมต์ |
| เวกเตอร์การโจมตี |
พรอมต์ที่สร้างขึ้นเป็นพิเศษซึ่งมีอิทธิพลต่อค่าพารามิเตอร์ของเครื่องมือ |
| องค์ประกอบที่ได้รับผลกระทบ |
การเรียกใช้เครื่องมือทั้งหมด |
| มาตรการบรรเทาปัจจุบัน |
การอนุมัติ Exec สำหรับคำสั่งที่เป็นอันตราย |
| ความเสี่ยงคงเหลือ |
สูง - ขึ้นอยู่กับวิจารณญาณของผู้ใช้ |
| คำแนะนำ |
การตรวจสอบอาร์กิวเมนต์ และการเรียกเครื่องมือแบบกำหนดพารามิเตอร์ |
T-EXEC-004: การข้ามการอนุมัติ Exec
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0043 - การสร้างข้อมูลประสงค์ร้าย |
| คำอธิบาย |
ผู้โจมตีสร้างคำสั่งที่ข้ามรายการอนุญาตสำหรับการอนุมัติ |
| เวกเตอร์การโจมตี |
การทำให้คำสั่งสับสน การใช้ประโยชน์จากนามแฝง การควบคุมพาธ |
| องค์ประกอบที่ได้รับผลกระทบ |
src/infra/exec-approvals*.ts, รายการอนุญาตคำสั่ง |
| มาตรการบรรเทาปัจจุบัน |
รายการอนุญาต + โหมดถาม รวมถึงการทำให้คำสั่งเป็นรูปแบบมาตรฐาน (การแกะตัวห่อหุ้มการส่งต่อ การตรวจจับการประเมินผลแบบอินไลน์ การวิเคราะห์สายโซ่เชลล์) |
| ความเสี่ยงคงเหลือ |
สูง - การทำให้เป็นรูปแบบมาตรฐานช่วยลดขอบเขตแต่ไม่สามารถกำจัดการข้ามด้วยการทำให้สับสนได้; ข้อค้นพบที่เป็นเพียงความไม่สอดคล้องกันระหว่างเส้นทาง Exec ถือเป็นการเสริมความแข็งแกร่ง ไม่ใช่ช่องโหว่ (ดู SECURITY.md) |
| คำแนะนำ |
ขยายความครอบคลุมของการทำให้คำสั่งเป็นรูปแบบมาตรฐานอย่างต่อเนื่องเพื่อรับมือเทคนิคการทำให้สับสนใหม่ ๆ |
3.4 การคงอยู่ (AML.TA0006)
T-PERSIST-001: การติดตั้ง Skills ที่เป็นอันตราย
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0010.001 - การโจมตีห่วงโซ่อุปทาน: ซอฟต์แวร์ AI |
| คำอธิบาย |
ผู้โจมตีเผยแพร่ Skills ที่เป็นอันตรายไปยัง ClawHub |
| เวกเตอร์การโจมตี |
สร้างบัญชี เผยแพร่ Skills ที่มีโค้ดประสงค์ร้ายซ่อนอยู่ |
| องค์ประกอบที่ได้รับผลกระทบ |
ClawHub, การโหลด Skills, การดำเนินการของเอเจนต์ |
| มาตรการบรรเทาปัจจุบัน |
การตรวจสอบอายุบัญชี GitHub การสแกนรูปแบบแบบสแตติก/ที่อิง AST การตรวจสอบความเสี่ยงแบบเอเจนต์โดยใช้ LLM และการสแกน VirusTotal |
| ความเสี่ยงคงเหลือ |
สูง - มีชั้นการตรวจจับ แต่ Skills ยังคงทำงานด้วยสิทธิ์ของเอเจนต์และไม่มีแซนด์บ็อกซ์การดำเนินการ |
| คำแนะนำ |
การทำแซนด์บ็อกซ์สำหรับการดำเนินการ Skills และขยายการตรวจสอบโดยชุมชน |
T-PERSIST-002: การวางยาพิษในการอัปเดต Skills
| คุณลักษณะ |
ค่า |
| รหัส ATLAS |
AML.T0010.001 - การโจมตีห่วงโซ่อุปทาน: ซอฟต์แวร์ AI |
| คำอธิบาย |
ผู้โจมตีเจาะระบบ Skills ยอดนิยมและเผยแพร่การอัปเดตที่เป็นอันตราย |
| เวกเตอร์การโจมตี |
การเจาะบัญชี วิศวกรรมสังคมต่อเจ้าของ Skills |
| องค์ประกอบที่ได้รับผลกระทบ |
การกำหนดเวอร์ชันของ ClawHub และกระบวนการอัปเดตอัตโนมัติ |
| มาตรการบรรเทาปัจจุบัน |
การสร้างลายนิ้วมือเวอร์ชัน และการเรียกใช้การกลั่นกรอง/การสแกนซ้ำสำหรับเวอร์ชันใหม่ |
| ความเสี่ยงคงเหลือ |
สูง - การอัปเดตอัตโนมัติอาจดึงเวอร์ชันที่เป็นอันตรายมาก่อนการตรวจสอบเสร็จสิ้น |
| คำแนะนำ |
การลงนามการอัปเดต ความสามารถในการย้อนกลับ และการตรึงเวอร์ชัน |
T-PERSIST-003: การแก้ไขการกำหนดค่าของเอเจนต์โดยมิชอบ
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0010.002 - การโจมตีห่วงโซ่อุปทาน: ข้อมูล |
| คำอธิบาย |
ผู้โจมตีแก้ไขการกำหนดค่าเอเจนต์เพื่อคงสิทธิ์การเข้าถึงไว้ |
| เวกเตอร์การโจมตี |
การแก้ไขไฟล์การกำหนดค่า, การแทรกการตั้งค่า |
| องค์ประกอบที่ได้รับผลกระทบ |
การกำหนดค่าเอเจนต์, นโยบายเครื่องมือ |
| มาตรการบรรเทาปัจจุบัน |
สิทธิ์อนุญาตของไฟล์ |
| ความเสี่ยงคงเหลือ |
ปานกลาง - ต้องมีสิทธิ์เข้าถึงภายในเครื่อง |
| คำแนะนำ |
การตรวจสอบความสมบูรณ์ของการกำหนดค่า, การบันทึกเพื่อการตรวจสอบการเปลี่ยนแปลงการกำหนดค่า |
3.5 การหลบเลี่ยงการป้องกัน (AML.TA0007)
T-EVADE-001: การหลบเลี่ยงรูปแบบการกลั่นกรอง
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0043 - การสร้างข้อมูลเชิงปฏิปักษ์ |
| คำอธิบาย |
ผู้โจมตีสร้างเนื้อหา Skills เพื่อหลบเลี่ยงการตรวจสอบการกลั่นกรองของ ClawHub |
| เวกเตอร์การโจมตี |
อักขระ Unicode ที่มีรูปลักษณ์คล้ายกัน, กลวิธีการเข้ารหัส, การโหลดแบบไดนามิก |
| องค์ประกอบที่ได้รับผลกระทบ |
กระบวนการกลั่นกรอง/สแกนของ ClawHub |
| มาตรการบรรเทาปัจจุบัน |
กฎรูปแบบแบบคงที่, การสแกนโค้ดที่อิงโครงสร้างใกล้เคียง AST, การตรวจสอบความเสี่ยงเชิงเอเจนต์ด้วย LLM, VirusTotal |
| ความเสี่ยงคงเหลือ |
ปานกลาง - การทำให้สับสนรูปแบบใหม่ยังอาจเล็ดลอดผ่านฮิวริสติกหลายชั้นได้ |
| คำแนะนำ |
ขยายคลังรูปแบบ/พฤติกรรมต่อไปเมื่อพบวิธีหลบเลี่ยงใหม่ |
T-EVADE-002: การหลุดออกจากตัวครอบเนื้อหา
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0043 - การสร้างข้อมูลเชิงปฏิปักษ์ |
| คำอธิบาย |
ผู้โจมตีสร้างเนื้อหาที่หลุดออกจากบริบทของตัวครอบเนื้อหาภายนอก |
| เวกเตอร์การโจมตี |
การดัดแปลงแท็ก, การทำให้บริบทสับสน, การเขียนทับคำสั่ง |
| องค์ประกอบที่ได้รับผลกระทบ |
การครอบเนื้อหาภายนอก |
| มาตรการบรรเทาปัจจุบัน |
มาร์กเกอร์รูปแบบ XML ที่มีขอบเขตแบบสุ่ม + ประกาศด้านความปลอดภัย รวมถึงการตรวจจับการปลอมแปลงมาร์กเกอร์ด้วยอักขระคล้ายกัน/รูปแบบช่องว่างที่แตกต่าง |
| ความเสี่ยงคงเหลือ |
ปานกลาง - มีการค้นพบวิธีหลุดออกแบบใหม่อย่างสม่ำเสมอ |
| คำแนะนำ |
การตรวจสอบความถูกต้องฝั่งเอาต์พุตเพิ่มเติมจากการครอบฝั่งอินพุต |
3.6 การสำรวจ (AML.TA0008)
T-DISC-001: การแจกแจงเครื่องมือ
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0040 - การเข้าถึง API สำหรับการอนุมานของโมเดล AI |
| คำอธิบาย |
ผู้โจมตีแจกแจงเครื่องมือที่มีผ่านการป้อนพรอมต์ |
| เวกเตอร์การโจมตี |
คำถามในลักษณะ "คุณมีเครื่องมืออะไรบ้าง?" |
| องค์ประกอบที่ได้รับผลกระทบ |
รีจิสทรีเครื่องมือของเอเจนต์ |
| มาตรการบรรเทาปัจจุบัน |
ไม่มีมาตรการเฉพาะ |
| ความเสี่ยงคงเหลือ |
ต่ำ - โดยทั่วไปเครื่องมือมีเอกสารกำกับ |
| คำแนะนำ |
พิจารณาการควบคุมการมองเห็นเครื่องมือ |
T-DISC-002: การดึงข้อมูลเซสชัน
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0040 - การเข้าถึง API สำหรับการอนุมานของโมเดล AI |
| คำอธิบาย |
ผู้โจมตีดึงข้อมูลที่ละเอียดอ่อนจากบริบทของเซสชัน |
| เวกเตอร์การโจมตี |
คำถาม "เราพูดคุยอะไรกันไปบ้าง?", การหยั่งตรวจบริบท |
| องค์ประกอบที่ได้รับผลกระทบ |
บันทึกการสนทนาของเซสชัน, หน้าต่างบริบท |
| มาตรการบรรเทาปัจจุบัน |
การแยกเซสชันตามผู้ส่ง (คีย์ agent:channel:peer) |
| ความเสี่ยงคงเหลือ |
ปานกลาง - ข้อมูลภายในเซสชันถูกออกแบบให้เข้าถึงได้ |
| คำแนะนำ |
การปกปิดข้อมูลที่ละเอียดอ่อนในบริบท |
3.7 การรวบรวมและการส่งข้อมูลออก (AML.TA0009, AML.TA0010)
T-EXFIL-001: การขโมยข้อมูลผ่าน web_fetch
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0009 - การรวบรวม |
| คำอธิบาย |
ผู้โจมตีส่งข้อมูลออกโดยสั่งให้เอเจนต์ส่งข้อมูลไปยัง URL ภายนอก |
| เวกเตอร์การโจมตี |
การแทรกพรอมต์ที่ทำให้เอเจนต์ส่งข้อมูลด้วย POST ไปยังเซิร์ฟเวอร์ของผู้โจมตี |
| องค์ประกอบที่ได้รับผลกระทบ |
เครื่องมือ web_fetch |
| มาตรการบรรเทาปัจจุบัน |
การบล็อก SSRF สำหรับเครือข่ายภายใน/ส่วนตัว (การตรึง DNS + การบล็อก IP) |
| ความเสี่ยงคงเหลือ |
สูง - ยังคงอนุญาต URL ภายนอกใด ๆ |
| คำแนะนำ |
รายการอนุญาต URL, การตระหนักถึงการจัดประเภทข้อมูล |
T-EXFIL-002: การส่งข้อความโดยไม่ได้รับอนุญาต
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0009 - การรวบรวม |
| คำอธิบาย |
ผู้โจมตีทำให้เอเจนต์ส่งข้อความที่มีข้อมูลละเอียดอ่อน |
| เวกเตอร์การโจมตี |
การแทรกพรอมต์ที่ทำให้เอเจนต์ส่งข้อความหาผู้โจมตี |
| องค์ประกอบที่ได้รับผลกระทบ |
เครื่องมือส่งข้อความ, การผสานรวมช่องทาง |
| มาตรการบรรเทาปัจจุบัน |
การควบคุมการส่งข้อความขาออก |
| ความเสี่ยงคงเหลือ |
ปานกลาง - การควบคุมอาจถูกหลบเลี่ยง |
| คำแนะนำ |
การยืนยันอย่างชัดแจ้งสำหรับผู้รับรายใหม่ |
T-EXFIL-003: การเก็บเกี่ยวข้อมูลประจำตัว
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0009 - การรวบรวม |
| คำอธิบาย |
Skills ที่เป็นอันตรายเก็บเกี่ยวข้อมูลประจำตัวจากบริบทของเอเจนต์ |
| เวกเตอร์การโจมตี |
โค้ด Skills อ่านตัวแปรสภาพแวดล้อมและไฟล์การกำหนดค่า |
| องค์ประกอบที่ได้รับผลกระทบ |
สภาพแวดล้อมการทำงานของ Skills |
| มาตรการบรรเทาปัจจุบัน |
การสแกนรูปแบบข้อมูลประจำตัวของ ClawHub (ข้อมูลลับที่ฝังตายตัว, การเข้าถึงตัวแปรสภาพแวดล้อมของข้อมูลประจำตัวที่เกิดร่วมกับการส่งผ่านเครือข่าย); ไม่มีการทำแซนด์บ็อกซ์การทำงานสำหรับ Skills ขณะรันไทม์ |
| ความเสี่ยงคงเหลือ |
วิกฤต - Skills ทำงานด้วยสิทธิ์ของเอเจนต์ |
| คำแนะนำ |
การทำแซนด์บ็อกซ์การทำงานของ Skills, การแยกข้อมูลประจำตัว |
3.8 ผลกระทบ (AML.TA0011)
T-IMPACT-001: การเรียกใช้คำสั่งโดยไม่ได้รับอนุญาต
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0031 - การบ่อนทำลายความสมบูรณ์ของโมเดล AI |
| คำอธิบาย |
ผู้โจมตีเรียกใช้คำสั่งใด ๆ บนระบบของผู้ใช้ |
| เวกเตอร์การโจมตี |
การแทรกพรอมต์ร่วมกับการหลบเลี่ยงการอนุมัติการเรียกใช้ |
| องค์ประกอบที่ได้รับผลกระทบ |
เครื่องมือ Bash, การเรียกใช้คำสั่ง |
| มาตรการบรรเทาปัจจุบัน |
การอนุมัติการเรียกใช้, ตัวเลือกแซนด์บ็อกซ์ Docker (แบ็กเอนด์รันไทม์เริ่มต้น) |
| ความเสี่ยงคงเหลือ |
วิกฤต - สามารถเรียกใช้บนโฮสต์ได้เมื่อปิดใช้งานแซนด์บ็อกซ์ |
| คำแนะนำ |
ปรับปรุงประสบการณ์ผู้ใช้ในการอนุมัติ; การติดตั้งใช้งานที่ปิดแซนด์บ็อกซ์ยังคงเป็นทางเลือกโดยเจตนาของผู้ปฏิบัติงาน และมีการระบุไว้ในเอกสารเช่นนั้น |
T-IMPACT-002: การใช้ทรัพยากรจนหมด (DoS)
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0031 - การบ่อนทำลายความสมบูรณ์ของโมเดล AI |
| คำอธิบาย |
ผู้โจมตีใช้เครดิต API หรือทรัพยากรประมวลผลจนหมด |
| เวกเตอร์การโจมตี |
การส่งข้อความจำนวนมากโดยอัตโนมัติ, การเรียกใช้เครื่องมือที่มีค่าใช้จ่ายสูง |
| องค์ประกอบที่ได้รับผลกระทบ |
Gateway, เซสชันเอเจนต์, ผู้ให้บริการ API |
| มาตรการบรรเทาปัจจุบัน |
ไม่มี |
| ความเสี่ยงคงเหลือ |
สูง - ไม่มีการจำกัดอัตราต่อผู้ส่ง |
| คำแนะนำ |
การจำกัดอัตราต่อผู้ส่ง, งบประมาณค่าใช้จ่าย |
T-IMPACT-003: ความเสียหายต่อชื่อเสียง
| แอตทริบิวต์ |
ค่า |
| รหัส ATLAS |
AML.T0031 - การบ่อนทำลายความสมบูรณ์ของโมเดล AI |
| คำอธิบาย |
ผู้โจมตีทำให้เอเจนต์ส่งเนื้อหาที่เป็นอันตราย/ไม่เหมาะสม |
| เวกเตอร์การโจมตี |
การแทรกพรอมต์ที่ทำให้เกิดการตอบกลับที่ไม่เหมาะสม |
| องค์ประกอบที่ได้รับผลกระทบ |
การสร้างเอาต์พุต, การส่งข้อความผ่านช่องทาง |
| มาตรการบรรเทาปัจจุบัน |
นโยบายเนื้อหาของผู้ให้บริการ LLM |
| ความเสี่ยงคงเหลือ |
ปานกลาง - ตัวกรองของผู้ให้บริการไม่สมบูรณ์แบบ |
| คำแนะนำ |
ชั้นกรองเอาต์พุต, การควบคุมสำหรับผู้ใช้ |
4. การวิเคราะห์ห่วงโซ่อุปทานของ ClawHub
4.1 มาตรการควบคุมความปลอดภัยปัจจุบัน
| มาตรการควบคุม |
การนำไปใช้ |
ประสิทธิผล |
| อายุบัญชี GitHub |
requireGitHubAccountAge() (ขั้นต่ำ 14 วัน) |
ปานกลาง - เพิ่มอุปสรรคสำหรับผู้โจมตีรายใหม่ |
| การปรับเส้นทางให้ปลอดภัย |
sanitizePath() |
สูง - ป้องกันการโจมตีแบบข้ามเส้นทาง |
| การตรวจสอบชนิดไฟล์ |
isTextFile() |
ปานกลาง - สแกนเฉพาะไฟล์ข้อความ แต่ยังคงถูกโจมตีได้ |
| ขีดจำกัดขนาด |
บันเดิลรวม 50MB (MAX_PUBLISH_TOTAL_BYTES) |
สูง - ป้องกันการใช้ทรัพยากรจนหมด |
| ต้องมี SKILL.md |
ต้องมีไฟล์ readme เมื่อเผยแพร่ |
คุณค่าด้านความปลอดภัยต่ำ - ให้ข้อมูลเท่านั้น |
| การสแกนแบบสแตติกและใกล้เคียง AST |
กลไกรูปแบบที่ครอบคลุม exec, การลอบส่งข้อมูลออก, การเก็บเกี่ยวข้อมูลประจำตัว, การทำให้อ่านยาก และอื่น ๆ |
ปานกลาง-สูง - ครอบคลุมรูปแบบการใช้ในทางที่ผิดที่ทราบจำนวนมาก แต่ยังอิงรูปแบบ |
| การตรวจสอบความเสี่ยงด้วยเอเจนต์ LLM |
คำตัดสินขณะเผยแพร่ที่ขับเคลื่อนด้วยพรอมต์ด้านความปลอดภัย |
ปานกลาง-สูง - ตรวจพบพฤติกรรมที่รูปแบบสแตติกตรวจไม่พบ |
| การสแกนด้วย VirusTotal |
เชื่อมเข้ากับโฟลว์การเผยแพร่/สแกนซ้ำของสกิลและแพ็กเกจรีลีส โดยขึ้นกับคีย์ API ของผู้ดำเนินการ |
สูงเมื่อเปิดใช้ - การตรวจจับด้วยกลไกสแตติก |
| สถานะการกลั่นกรอง |
ฟิลด์ moderationStatus |
ปานกลาง - สามารถตรวจสอบด้วยตนเองได้ |
4.2 ข้อจำกัดของการกลั่นกรอง
การสแกนแบบสแตติกของ ClawHub ตรวจสอบเนื้อหาโค้ดของสกิลโดยตรง (ไม่ใช่เพียง slug/ข้อมูลเมตา/frontmatter) โดยครอบคลุมการเรียก exec ที่เป็นอันตราย การเรียกใช้โค้ดแบบไดนามิก การเก็บเกี่ยวข้อมูลประจำตัว รูปแบบการลอบส่งข้อมูลออก เพย์โหลดที่ถูกทำให้อ่านยาก และอื่น ๆ ช่องว่างที่ทราบมีดังนี้:
- การตรวจจับที่อิงรูปแบบยังคงถูกหลบเลี่ยงได้ด้วยเทคนิคการทำให้อ่านยากที่แปลกใหม่เพียงพอ
- การตรวจสอบด้วย LLM และการสแกนด้วย VirusTotal ขึ้นอยู่กับการเปิดใช้คีย์ API/การกำหนดค่าฝั่งผู้ดำเนินการ
- ไม่มีแซนด์บ็อกซ์การทำงานขณะรันที่แยกสกิลออกจากสิทธิ์ของเอเจนต์เองหลังจากติดตั้งแล้ว
4.3 ป้ายสถานะ
สกิลและแพ็กเกจมีป้ายสถานะที่ผู้กลั่นกรองกำหนด ได้แก่ highlighted, official, deprecated, redactionApproved (เฉพาะสกิล) การรายงานจากชุมชน (skillReports) และการบันทึกการตรวจสอบ (auditLogs) รองรับเวิร์กโฟลว์การกลั่นกรอง
5. เมทริกซ์ความเสี่ยง
5.1 โอกาสเกิดเทียบกับผลกระทบ
| รหัสภัยคุกคาม |
โอกาสเกิด |
ผลกระทบ |
ระดับความเสี่ยง |
ลำดับความสำคัญ |
| T-EXEC-001 |
สูง |
วิกฤต |
วิกฤต |
P0 |
| T-PERSIST-001 |
สูง |
วิกฤต |
วิกฤต |
P0 |
| T-EXFIL-003 |
ปานกลาง |
วิกฤต |
วิกฤต |
P0 |
| T-IMPACT-001 |
ปานกลาง |
วิกฤต |
สูง |
P1 |
| T-EXEC-002 |
สูง |
สูง |
สูง |
P1 |
| T-EXEC-004 |
ปานกลาง |
สูง |
สูง |
P1 |
| T-ACCESS-003 |
ปานกลาง |
สูง |
สูง |
P1 |
| T-EXFIL-001 |
ปานกลาง |
สูง |
สูง |
P1 |
| T-IMPACT-002 |
สูง |
ปานกลาง |
สูง |
P1 |
| T-EVADE-001 |
สูง |
ปานกลาง |
ปานกลาง |
P2 |
| T-ACCESS-001 |
ต่ำ |
สูง |
ปานกลาง |
P2 |
| T-ACCESS-002 |
ต่ำ |
สูง |
ปานกลาง |
P2 |
| T-PERSIST-002 |
ต่ำ |
สูง |
ปานกลาง |
P2 |
5.2 ห่วงโซ่การโจมตีบนเส้นทางวิกฤต
ห่วงโซ่ที่ 1: การขโมยข้อมูลผ่านสกิล
textT-PERSIST-001 → T-EVADE-001 → T-EXFIL-003(เผยแพร่สกิลที่เป็นอันตราย) → (หลบเลี่ยงการกลั่นกรอง) → (เก็บเกี่ยวข้อมูลประจำตัว)
ห่วงโซ่ที่ 2: การแทรกพรอมต์ไปสู่ RCE
textT-EXEC-001 → T-EXEC-004 → T-IMPACT-001(แทรกพรอมต์) → (ข้ามการอนุมัติ exec) → (เรียกใช้คำสั่ง)
ห่วงโซ่ที่ 3: การแทรกโดยอ้อมผ่านเนื้อหาที่ดึงมา
textT-EXEC-002 → T-EXFIL-001 → การลอบส่งข้อมูลออกไปภายนอก(ปนเปื้อนเนื้อหา URL) → (เอเจนต์ดึงข้อมูลและทำตามคำสั่ง) → (ส่งข้อมูลไปยังผู้โจมตี)
6. สรุปคำแนะนำ
6.1 ดำเนินการทันที (P0)
| รหัส |
คำแนะนำ |
ภัยคุกคามที่จัดการ |
| R-002 |
ใช้แซนด์บ็อกซ์สำหรับการเรียกใช้สกิล |
T-PERSIST-001, T-EXFIL-003 |
| R-003 |
เพิ่มการตรวจสอบเอาต์พุตสำหรับการดำเนินการที่ละเอียดอ่อน |
T-EXEC-001, T-EXEC-002 |
6.2 ระยะสั้น (P1)
| รหัส |
คำแนะนำ |
ภัยคุกคามที่จัดการ |
| R-004 |
ใช้การจำกัดอัตราต่อผู้ส่ง |
T-IMPACT-002 |
| R-005 |
เพิ่มการเข้ารหัสโทเค็นขณะจัดเก็บ |
T-ACCESS-003 |
| R-006 |
ปรับปรุง UX การอนุมัติ exec และขยายการปรับคำสั่งให้เป็นรูปแบบมาตรฐานต่อไป |
T-EXEC-004 |
| R-007 |
ใช้รายการ URL ที่อนุญาตสำหรับ web_fetch |
T-EXFIL-001 |
6.3 ระยะกลาง (P2)
| รหัส |
คำแนะนำ |
ภัยคุกคามที่จัดการ |
| R-008 |
เพิ่มการยืนยันช่องทางด้วยการเข้ารหัสเมื่อทำได้ |
T-ACCESS-002 |
| R-009 |
ใช้การตรวจสอบความสมบูรณ์ของการกำหนดค่า |
T-PERSIST-003 |
| R-010 |
เพิ่มการลงนามการอัปเดตและการตรึงเวอร์ชัน |
T-PERSIST-002 |
7. ภาคผนวก
7.1 การจับคู่เทคนิค ATLAS
| รหัส ATLAS |
ชื่อเทคนิค |
ภัยคุกคามของ OpenClaw |
| AML.T0006 |
การสแกนเชิงรุก |
T-RECON-001, T-RECON-002 |
| AML.T0009 |
การรวบรวม |
T-EXFIL-001, T-EXFIL-002, T-EXFIL-003 |
| AML.T0010.001 |
ห่วงโซ่อุปทาน: ซอฟต์แวร์ AI |
T-PERSIST-001, T-PERSIST-002 |
| AML.T0010.002 |
ห่วงโซ่อุปทาน: ข้อมูล |
T-PERSIST-003 |
| AML.T0031 |
บ่อนทำลายความสมบูรณ์ของโมเดล AI |
T-IMPACT-001, T-IMPACT-002, T-IMPACT-003 |
| AML.T0040 |
การเข้าถึง API การอนุมานของโมเดล AI |
T-ACCESS-001, T-ACCESS-002, T-ACCESS-003, T-DISC-001, T-DISC-002 |
| AML.T0043 |
สร้างข้อมูลเชิงปรปักษ์ |
T-EXEC-004, T-EVADE-001, T-EVADE-002 |
| AML.T0051.000 |
การแทรกพรอมต์ LLM: โดยตรง |
T-EXEC-001, T-EXEC-003 |
| AML.T0051.001 |
การแทรกพรอมต์ LLM: โดยอ้อม |
T-EXEC-002 |
7.2 ไฟล์ความปลอดภัยหลัก
| เส้นทาง |
วัตถุประสงค์ |
ระดับความเสี่ยง |
src/infra/exec-approvals.ts |
ตรรกะการอนุมัติคำสั่ง |
วิกฤต |
src/gateway/auth.ts |
การตรวจสอบสิทธิ์ของ Gateway |
วิกฤต |
src/infra/net/ssrf.ts |
การป้องกัน SSRF |
วิกฤต |
src/security/external-content.ts |
การบรรเทาการแทรกพรอมต์ |
วิกฤต |
src/agents/sandbox/tool-policy.ts |
นโยบายอนุญาต/ปฏิเสธเครื่องมือในแซนด์บ็อกซ์ |
วิกฤต |
src/routing/resolve-route.ts |
การแยกเซสชัน / การกำหนดเส้นทาง |
ปานกลาง |
7.3 อภิธานศัพท์
| คำศัพท์ |
คำจำกัดความ |
| ATLAS |
ภูมิทัศน์ภัยคุกคามเชิงปรปักษ์สำหรับระบบ AI ของ MITRE |
| ClawHub |
มาร์เก็ตเพลสสกิลของ OpenClaw |
| Gateway |
ชั้นการกำหนดเส้นทางข้อความและการตรวจสอบสิทธิ์ของ OpenClaw |
| MCP |
โปรโตคอลบริบทโมเดล - อินเทอร์เฟซผู้ให้บริการเครื่องมือ |
| การแทรกพรอมต์ |
การโจมตีที่ฝังคำสั่งอันตรายไว้ในอินพุต |
| สกิล |
ส่วนขยายที่ดาวน์โหลดได้สำหรับเอเจนต์ OpenClaw |
| SSRF |
การปลอมแปลงคำขอฝั่งเซิร์ฟเวอร์ |
โมเดลภัยคุกคามนี้เป็นเอกสารที่ปรับปรุงอย่างต่อเนื่อง โปรดรายงานปัญหาด้านความปลอดภัยไปที่ security@openclaw.ai หรือดูหน้าความน่าเชื่อถือ
เนื้อหาที่เกี่ยวข้อง