Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
เฟรมเวิร์ก MITRE ATLAS
เวอร์ชัน: 1.0-draft
อัปเดตล่าสุด: 2026-02-04
ระเบียบวิธี: MITRE ATLAS + แผนภาพการไหลของข้อมูล
เฟรมเวิร์ก: MITRE ATLAS (ภูมิทัศน์ภัยคุกคามเชิงปฏิปักษ์สำหรับระบบ AI)
การระบุที่มาของเฟรมเวิร์ก
โมเดลภัยคุกคามนี้สร้างขึ้นบน MITRE ATLAS ซึ่งเป็นเฟรมเวิร์กมาตรฐานอุตสาหกรรมสำหรับจัดทำเอกสารภัยคุกคามเชิงปฏิปักษ์ต่อระบบ AI/ML ATLAS ดูแลโดย MITRE ร่วมกับชุมชนความปลอดภัย AI
ทรัพยากร ATLAS สำคัญ:
การร่วมสนับสนุนโมเดลภัยคุกคามนี้
นี่คือเอกสารที่มีการดูแลและอัปเดตอย่างต่อเนื่องโดยชุมชน OpenClaw โปรดดู CONTRIBUTING-THREAT-MODEL.md สำหรับแนวทางการร่วมสนับสนุน:
- การรายงานภัยคุกคามใหม่
- การอัปเดตภัยคุกคามที่มีอยู่
- การเสนอห่วงโซ่การโจมตี
- การเสนอแนวทางบรรเทาความเสี่ยง
1. บทนำ
1.1 วัตถุประสงค์
โมเดลภัยคุกคามนี้จัดทำเอกสารภัยคุกคามเชิงปฏิปักษ์ต่อแพลตฟอร์มเอเจนต์ AI ของ OpenClaw และตลาดทักษะ ClawHub โดยใช้เฟรมเวิร์ก MITRE ATLAS ที่ออกแบบมาเฉพาะสำหรับระบบ AI/ML
1.2 ขอบเขต
| องค์ประกอบ | รวมอยู่ด้วย | หมายเหตุ |
|---|
| OpenClaw Agent Runtime | ใช่ | การประมวลผลเอเจนต์หลัก การเรียกใช้เครื่องมือ เซสชัน |
| Gateway | ใช่ | การยืนยันตัวตน การกำหนดเส้นทาง การผสานรวมช่องทาง |
| การผสานรวมช่องทาง | ใช่ | WhatsApp, Telegram, Discord, Signal, Slack เป็นต้น |
| ตลาด ClawHub | ใช่ | การเผยแพร่ทักษะ การกลั่นกรอง การแจกจ่าย |
| เซิร์ฟเวอร์ MCP | ใช่ | ผู้ให้บริการเครื่องมือภายนอก |
| อุปกรณ์ผู้ใช้ | บางส่วน | แอปมือถือ ไคลเอนต์เดสก์ท็อป |
1.3 นอกขอบเขต
ไม่มีสิ่งใดถูกระบุอย่างชัดเจนว่าอยู่นอกขอบเขตสำหรับโมเดลภัยคุกคามนี้
2. สถาปัตยกรรมระบบ
2.1 ขอบเขตความเชื่อถือ
┌─────────────────────────────────────────────────────────────────┐
│ UNTRUSTED ZONE │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ WhatsApp │ │ Telegram │ │ Discord │ ... │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
└─────────┼────────────────┼────────────────┼──────────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────┐
│ TRUST BOUNDARY 1: Channel Access │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ GATEWAY │ │
│ │ • Device Pairing (1h DM / 5m node grace period) │ │
│ │ • 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 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 (XML tags) │ │
│ │ • Security notice injection │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ TRUST BOUNDARY 5: Supply Chain │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ CLAWHUB │ │
│ │ • Skill publishing (semver, SKILL.md required) │ │
│ │ • Pattern-based moderation flags │ │
│ │ • VirusTotal scanning (coming soon) │ │
│ │ • GitHub account age verification │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
2.2 การไหลของข้อมูล
| โฟลว์ | แหล่งที่มา | ปลายทาง | ข้อมูล | การป้องกัน |
|---|
| F1 | ช่องทาง | Gateway | ข้อความผู้ใช้ | TLS, AllowFrom |
| F2 | Gateway | เอเจนต์ | ข้อความที่ถูกกำหนดเส้นทาง | การแยกเซสชัน |
| F3 | เอเจนต์ | เครื่องมือ | การเรียกใช้เครื่องมือ | การบังคับใช้นโยบาย |
| F4 | เอเจนต์ | ภายนอก | คำขอ web_fetch | การบล็อก SSRF |
| F5 | ClawHub | เอเจนต์ | โค้ดทักษะ | การกลั่นกรอง การสแกน |
| F6 | เอเจนต์ | ช่องทาง | การตอบกลับ | การกรองเอาต์พุต |
3. การวิเคราะห์ภัยคุกคามตามยุทธวิธี ATLAS
3.1 การลาดตระเวน (AML.TA0002)
T-RECON-001: การค้นพบปลายทางเอเจนต์
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0006 - การสแกนแบบแอ็กทีฟ |
| คำอธิบาย | ผู้โจมตีสแกนหาปลายทาง OpenClaw Gateway ที่เปิดเผย |
| เวกเตอร์การโจมตี | การสแกนเครือข่าย คำค้นหา shodan การระบุ DNS |
| องค์ประกอบที่ได้รับผลกระทบ | Gateway, ปลายทาง API ที่เปิดเผย |
| การบรรเทาความเสี่ยงปัจจุบัน | ตัวเลือกการยืนยันตัวตน Tailscale, ผูกกับ loopback โดยค่าเริ่มต้น |
| ความเสี่ยงคงเหลือ | ปานกลาง - Gateway สาธารณะค้นพบได้ |
| คำแนะนำ | จัดทำเอกสารการปรับใช้อย่างปลอดภัย เพิ่มการจำกัดอัตราบนปลายทางการค้นพบ |
T-RECON-002: การตรวจสอบการผสานรวมช่องทาง
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0006 - การสแกนแบบแอ็กทีฟ |
| คำอธิบาย | ผู้โจมตีตรวจสอบช่องทางข้อความเพื่อระบุบัญชีที่ AI จัดการ |
| เวกเตอร์การโจมตี | ส่งข้อความทดสอบ สังเกตรูปแบบการตอบกลับ |
| คอมโพเนนต์ที่ได้รับผลกระทบ | การผสานรวมช่องทางทั้งหมด |
| การลดความเสี่ยงปัจจุบัน | ไม่มีเฉพาะเจาะจง |
| ความเสี่ยงคงเหลือ | ต่ำ - คุณค่าจากการค้นพบเพียงอย่างเดียวมีจำกัด |
| คำแนะนำ | พิจารณาการสุ่มเวลาตอบกลับ |
3.2 การเข้าถึงเริ่มต้น (AML.TA0004)
T-ACCESS-001: การดักรับรหัสการจับคู่
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0040 - การเข้าถึง API การอนุมานโมเดล AI |
| คำอธิบาย | ผู้โจมตีดักรับรหัสการจับคู่ในช่วงผ่อนผันการจับคู่ (1 ชม. สำหรับการจับคู่ช่องทาง DM, 5 นาทีสำหรับการจับคู่ Node) |
| เวกเตอร์การโจมตี | การแอบมองหน้าจอ การดักฟังเครือข่าย วิศวกรรมสังคม |
| คอมโพเนนต์ที่ได้รับผลกระทบ | ระบบจับคู่อุปกรณ์ |
| การลดความเสี่ยงปัจจุบัน | หมดอายุใน 1 ชม. (การจับคู่ DM) / หมดอายุใน 5 นาที (การจับคู่ Node), รหัสถูกส่งผ่านช่องทางที่มีอยู่ |
| ความเสี่ยงคงเหลือ | ปานกลาง - ช่วงผ่อนผันสามารถถูกใช้ประโยชน์ได้ |
| คำแนะนำ | ลดช่วงผ่อนผัน เพิ่มขั้นตอนยืนยัน |
T-ACCESS-002: การปลอมแปลง AllowFrom
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0040 - การเข้าถึง API การอนุมานโมเดล AI |
| คำอธิบาย | ผู้โจมตีปลอมแปลงตัวตนผู้ส่งที่อนุญาตในช่องทาง |
| เวกเตอร์การโจมตี | ขึ้นอยู่กับช่องทาง - การปลอมแปลงหมายเลขโทรศัพท์ การแอบอ้างชื่อผู้ใช้ |
| คอมโพเนนต์ที่ได้รับผลกระทบ | การตรวจสอบ AllowFrom ต่อช่องทาง |
| การลดความเสี่ยงปัจจุบัน | การตรวจสอบตัวตนเฉพาะช่องทาง |
| ความเสี่ยงคงเหลือ | ปานกลาง - บางช่องทางเสี่ยงต่อการปลอมแปลง |
| คำแนะนำ | จัดทำเอกสารความเสี่ยงเฉพาะช่องทาง เพิ่มการตรวจสอบด้วยการเข้ารหัสเมื่อเป็นไปได้ |
T-ACCESS-003: การขโมยโทเค็น
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0040 - การเข้าถึง API การอนุมานโมเดล AI |
| คำอธิบาย | ผู้โจมตีขโมยโทเค็นการตรวจสอบสิทธิ์จากไฟล์ config |
| เวกเตอร์การโจมตี | มัลแวร์ การเข้าถึงอุปกรณ์โดยไม่ได้รับอนุญาต การเปิดเผยข้อมูลสำรอง config |
| คอมโพเนนต์ที่ได้รับผลกระทบ | ~/.openclaw/credentials/, ที่เก็บ config |
| การลดความเสี่ยงปัจจุบัน | สิทธิ์ไฟล์ |
| ความเสี่ยงคงเหลือ | สูง - โทเค็นถูกเก็บเป็นข้อความธรรมดา |
| คำแนะนำ | ใช้การเข้ารหัสโทเค็นเมื่อจัดเก็บ เพิ่มการหมุนเวียนโทเค็น |
3.3 การดำเนินการ (AML.TA0005)
T-EXEC-001: การแทรกพรอมป์โดยตรง
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0051.000 - การแทรกพรอมป์ LLM: โดยตรง |
| คำอธิบาย | ผู้โจมตีส่งพรอมป์ที่สร้างขึ้นเพื่อควบคุมพฤติกรรมของ agent |
| เวกเตอร์การโจมตี | ข้อความในช่องทางที่มีคำสั่งเชิงปฏิปักษ์ |
| คอมโพเนนต์ที่ได้รับผลกระทบ | LLM ของ agent, พื้นผิวรับอินพุตทั้งหมด |
| การลดความเสี่ยงปัจจุบัน | การตรวจจับรูปแบบ การห่อหุ้มเนื้อหาภายนอก |
| ความเสี่ยงคงเหลือ | วิกฤต - มีเพียงการตรวจจับ ไม่มีการบล็อก; การโจมตีที่ซับซ้อนสามารถเลี่ยงผ่านได้ |
| คำแนะนำ | ใช้การป้องกันหลายชั้น การตรวจสอบเอาต์พุต การยืนยันจากผู้ใช้สำหรับการดำเนินการที่ละเอียดอ่อน |
T-EXEC-002: การแทรกพรอมป์โดยอ้อม
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0051.001 - การแทรกพรอมป์ LLM: โดยอ้อม |
| คำอธิบาย | ผู้โจมตีฝังคำสั่งที่เป็นอันตรายในเนื้อหาที่ดึงมา |
| เวกเตอร์การโจมตี | URL ที่เป็นอันตราย อีเมลที่ถูกปนเปื้อน Webhook ที่ถูกบุกรุก |
| คอมโพเนนต์ที่ได้รับผลกระทบ | web_fetch, การนำเข้าอีเมล, แหล่งข้อมูลภายนอก |
| การลดความเสี่ยงปัจจุบัน | การห่อหุ้มเนื้อหาด้วยแท็ก XML และประกาศด้านความปลอดภัย |
| ความเสี่ยงคงเหลือ | สูง - LLM อาจละเลยคำสั่งของตัวห่อหุ้ม |
| คำแนะนำ | ใช้การทำความสะอาดเนื้อหา แยกบริบทการดำเนินการ |
T-EXEC-003: การแทรกอาร์กิวเมนต์ของเครื่องมือ
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0051.000 - การแทรกพรอมป์ LLM: โดยตรง |
| คำอธิบาย | ผู้โจมตีจัดการอาร์กิวเมนต์ของเครื่องมือผ่านการแทรกพรอมป์ |
| เวกเตอร์การโจมตี | พรอมป์ที่สร้างขึ้นเพื่อมีอิทธิพลต่อค่าพารามิเตอร์ของเครื่องมือ |
| คอมโพเนนต์ที่ได้รับผลกระทบ | การเรียกใช้เครื่องมือทั้งหมด |
| การลดความเสี่ยงปัจจุบัน | การอนุมัติ Exec สำหรับคำสั่งอันตราย |
| ความเสี่ยงคงเหลือ | สูง - พึ่งพาดุลยพินิจของผู้ใช้ |
| คำแนะนำ | ใช้การตรวจสอบอาร์กิวเมนต์ การเรียกใช้เครื่องมือแบบมีพารามิเตอร์ |
T-EXEC-004: การเลี่ยงผ่านการอนุมัติ Exec
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0043 - การสร้างข้อมูลเชิงปฏิปักษ์ |
| คำอธิบาย | ผู้โจมตีสร้างคำสั่งที่เลี่ยงผ่านรายการอนุญาตการอนุมัติ |
| เวกเตอร์การโจมตี | การทำให้คำสั่งอ่านยาก การใช้ประโยชน์จาก alias การจัดการ path |
| คอมโพเนนต์ที่ได้รับผลกระทบ | exec-approvals.ts, รายการอนุญาตคำสั่ง |
| การลดความเสี่ยงปัจจุบัน | รายการอนุญาต + โหมดถาม |
| ความเสี่ยงคงเหลือ | สูง - ไม่มีการทำความสะอาดคำสั่ง |
| คำแนะนำ | ใช้การทำให้คำสั่งเป็นมาตรฐาน ขยายรายการบล็อก |
3.4 การคงอยู่ (AML.TA0006)
T-PERSIST-001: การติดตั้ง Skills ที่เป็นอันตราย
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0010.001 - การประนีประนอมห่วงโซ่อุปทาน: ซอฟต์แวร์ AI |
| คำอธิบาย | ผู้โจมตีเผยแพร่ skill ที่เป็นอันตรายไปยัง ClawHub |
| เวกเตอร์การโจมตี | สร้างบัญชี เผยแพร่ skill พร้อมโค้ดอันตรายที่ซ่อนอยู่ |
| คอมโพเนนต์ที่ได้รับผลกระทบ | ClawHub, การโหลด skill, การดำเนินการของ agent |
| การลดความเสี่ยงปัจจุบัน | การตรวจสอบอายุบัญชี GitHub, แฟล็กการกลั่นกรองตามรูปแบบ |
| ความเสี่ยงคงเหลือ | วิกฤต - ไม่มี sandboxing การตรวจสอบมีจำกัด |
| คำแนะนำ | การผสานรวม VirusTotal (กำลังดำเนินการ), sandboxing สำหรับ skill, การตรวจสอบโดยชุมชน |
T-PERSIST-002: การปนเปื้อนการอัปเดต Skill
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0010.001 - การประนีประนอมห่วงโซ่อุปทาน: ซอฟต์แวร์ AI |
| คำอธิบาย | ผู้โจมตีบุกรุก skill ยอดนิยมและส่งการอัปเดตที่เป็นอันตราย |
| เวกเตอร์การโจมตี | การประนีประนอมบัญชี วิศวกรรมสังคมต่อเจ้าของ skill |
| คอมโพเนนต์ที่ได้รับผลกระทบ | การจัดการเวอร์ชันของ ClawHub, โฟลว์การอัปเดตอัตโนมัติ |
| การลดความเสี่ยงปัจจุบัน | การทำ fingerprint เวอร์ชัน |
| ความเสี่ยงคงเหลือ | สูง - การอัปเดตอัตโนมัติอาจดึงเวอร์ชันที่เป็นอันตรายมา |
| คำแนะนำ | ใช้การลงนามการอัปเดต ความสามารถในการ rollback การตรึงเวอร์ชัน |
T-PERSIST-003: การแก้ไขการกำหนดค่า Agent โดยไม่ได้รับอนุญาต
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0010.002 - การประนีประนอมห่วงโซ่อุปทาน: ข้อมูล |
| คำอธิบาย | ผู้โจมตีแก้ไขการกำหนดค่า agent เพื่อคงการเข้าถึง |
| เวกเตอร์การโจมตี | การแก้ไขไฟล์ config การแทรก settings |
| คอมโพเนนต์ที่ได้รับผลกระทบ | config ของ agent, นโยบายเครื่องมือ |
| การลดความเสี่ยงปัจจุบัน | สิทธิ์ไฟล์ |
| ความเสี่ยงคงเหลือ | ปานกลาง - ต้องมีการเข้าถึงภายในเครื่อง |
| คำแนะนำ | การตรวจสอบความถูกต้องครบถ้วนของ config การบันทึก audit สำหรับการเปลี่ยนแปลง config |
3.5 การหลบเลี่ยงการป้องกัน (AML.TA0007)
T-EVADE-001: การเลี่ยงผ่านรูปแบบการกลั่นกรอง
| แอตทริบิวต์ | ค่า |
|---|
| ATLAS ID | AML.T0043 - การสร้างข้อมูลเชิงปฏิปักษ์ |
| คำอธิบาย | ผู้โจมตีสร้างเนื้อหา skill เพื่อหลบเลี่ยงรูปแบบการกลั่นกรอง |
| เวกเตอร์การโจมตี | อักขระ Unicode ที่คล้ายกัน กลวิธีการเข้ารหัส การโหลดแบบไดนามิก |
| คอมโพเนนต์ที่ได้รับผลกระทบ | ClawHub moderation.ts |
| การลดความเสี่ยงปัจจุบัน | FLAG_RULES ตามรูปแบบ |
| ความเสี่ยงคงเหลือ | สูง - regex แบบง่ายถูกเลี่ยงได้ง่าย |
| คำแนะนำ | เพิ่มการวิเคราะห์พฤติกรรม (VirusTotal Code Insight), การตรวจจับแบบอิง AST |
T-EVADE-002: การหลุดออกจากตัวห่อหุ้มเนื้อหา
| แอตทริบิวต์ | ค่า |
|---|
| รหัส ATLAS | AML.T0043 - สร้างข้อมูลเชิงปฏิปักษ์ |
| คำอธิบาย | ผู้โจมตีสร้างเนื้อหาที่หลุดออกจากบริบทตัวห่อ XML |
| เวกเตอร์การโจมตี | การจัดการแท็ก, ความสับสนของบริบท, การแทนที่คำสั่ง |
| คอมโพเนนต์ที่ได้รับผลกระทบ | การห่อเนื้อหาภายนอก |
| การบรรเทาปัจจุบัน | แท็ก XML + ประกาศด้านความปลอดภัย |
| ความเสี่ยงคงเหลือ | ปานกลาง - มีการค้นพบวิธีหลุดออกใหม่เป็นประจำ |
| คำแนะนำ | ตัวห่อหลายชั้น, การตรวจสอบฝั่งเอาต์พุต |
3.6 การค้นพบ (AML.TA0008)
T-DISC-001: การแจกแจงเครื่องมือ
| แอตทริบิวต์ | ค่า |
|---|
| รหัส ATLAS | AML.T0040 - การเข้าถึง API การอนุมานของโมเดล AI |
| คำอธิบาย | ผู้โจมตีแจกแจงเครื่องมือที่มีอยู่ผ่านการพรอมป์ |
| เวกเตอร์การโจมตี | คำถามแนว “คุณมีเครื่องมืออะไรบ้าง?” |
| คอมโพเนนต์ที่ได้รับผลกระทบ | รีจิสทรีเครื่องมือของเอเจนต์ |
| การบรรเทาปัจจุบัน | ไม่มีรายการเฉพาะ |
| ความเสี่ยงคงเหลือ | ต่ำ - โดยทั่วไปมีเอกสารของเครื่องมืออยู่แล้ว |
| คำแนะนำ | พิจารณาการควบคุมการมองเห็นเครื่องมือ |
T-DISC-002: การดึงข้อมูลเซสชัน
| แอตทริบิวต์ | ค่า |
|---|
| รหัส ATLAS | AML.T0040 - การเข้าถึง API การอนุมานของโมเดล AI |
| คำอธิบาย | ผู้โจมตีดึงข้อมูลละเอียดอ่อนจากบริบทเซสชัน |
| เวกเตอร์การโจมตี | คำถามแนว “เราเคยคุยอะไรกัน?”, การสำรวจบริบท |
| คอมโพเนนต์ที่ได้รับผลกระทบ | บันทึกบทสนทนาเซสชัน, หน้าต่างบริบท |
| การบรรเทาปัจจุบัน | การแยกเซสชันตามผู้ส่ง |
| ความเสี่ยงคงเหลือ | ปานกลาง - ข้อมูลภายในเซสชันเข้าถึงได้ |
| คำแนะนำ | ดำเนินการปกปิดข้อมูลละเอียดอ่อนในบริบท |
3.7 การเก็บรวบรวมและการรั่วไหลของข้อมูล (AML.TA0009, AML.TA0010)
T-EXFIL-001: การขโมยข้อมูลผ่าน web_fetch
| แอตทริบิวต์ | ค่า |
|---|
| รหัส ATLAS | AML.T0009 - การเก็บรวบรวม |
| คำอธิบาย | ผู้โจมตีทำให้ข้อมูลรั่วไหลโดยสั่งให้เอเจนต์ส่งไปยัง URL ภายนอก |
| เวกเตอร์การโจมตี | การฉีดพรอมป์ที่ทำให้เอเจนต์ POST ข้อมูลไปยังเซิร์ฟเวอร์ของผู้โจมตี |
| คอมโพเนนต์ที่ได้รับผลกระทบ | เครื่องมือ web_fetch |
| การบรรเทาปัจจุบัน | การบล็อก SSRF สำหรับเครือข่ายภายใน |
| ความเสี่ยงคงเหลือ | สูง - อนุญาต URL ภายนอก |
| คำแนะนำ | ดำเนินการรายการอนุญาต URL, การรับรู้การจัดประเภทข้อมูล |
T-EXFIL-002: การส่งข้อความโดยไม่ได้รับอนุญาต
| แอตทริบิวต์ | ค่า |
|---|
| รหัส ATLAS | AML.T0009 - การเก็บรวบรวม |
| คำอธิบาย | ผู้โจมตีทำให้เอเจนต์ส่งข้อความที่มีข้อมูลละเอียดอ่อน |
| เวกเตอร์การโจมตี | การฉีดพรอมป์ที่ทำให้เอเจนต์ส่งข้อความถึงผู้โจมตี |
| คอมโพเนนต์ที่ได้รับผลกระทบ | เครื่องมือข้อความ, การผสานรวมช่องทาง |
| การบรรเทาปัจจุบัน | การควบคุมการส่งข้อความออก |
| ความเสี่ยงคงเหลือ | ปานกลาง - การควบคุมอาจถูกเลี่ยงได้ |
| คำแนะนำ | ต้องมีการยืนยันอย่างชัดเจนสำหรับผู้รับใหม่ |
T-EXFIL-003: การเก็บเกี่ยวข้อมูลประจำตัว
| แอตทริบิวต์ | ค่า |
|---|
| รหัส ATLAS | AML.T0009 - การเก็บรวบรวม |
| คำอธิบาย | Skill ที่เป็นอันตรายเก็บเกี่ยวข้อมูลประจำตัวจากบริบทเอเจนต์ |
| เวกเตอร์การโจมตี | โค้ด Skill อ่านตัวแปรสภาพแวดล้อม, ไฟล์กำหนดค่า |
| คอมโพเนนต์ที่ได้รับผลกระทบ | สภาพแวดล้อมการดำเนินการ Skill |
| การบรรเทาปัจจุบัน | ไม่มีรายการเฉพาะสำหรับ Skills |
| ความเสี่ยงคงเหลือ | วิกฤต - Skills ทำงานด้วยสิทธิ์ของเอเจนต์ |
| คำแนะนำ | การทำแซนด์บ็อกซ์ Skill, การแยกข้อมูลประจำตัว |
3.8 ผลกระทบ (AML.TA0011)
T-IMPACT-001: การดำเนินการคำสั่งโดยไม่ได้รับอนุญาต
| แอตทริบิวต์ | ค่า |
|---|
| รหัส ATLAS | AML.T0031 - บ่อนทำลายความสมบูรณ์ของโมเดล AI |
| คำอธิบาย | ผู้โจมตีดำเนินการคำสั่งใดก็ได้บนระบบของผู้ใช้ |
| เวกเตอร์การโจมตี | การฉีดพรอมป์ร่วมกับการเลี่ยงการอนุมัติ exec |
| คอมโพเนนต์ที่ได้รับผลกระทบ | เครื่องมือ Bash, การดำเนินการคำสั่ง |
| การบรรเทาปัจจุบัน | การอนุมัติ Exec, ตัวเลือกแซนด์บ็อกซ์ Docker |
| ความเสี่ยงคงเหลือ | วิกฤต - การดำเนินการบนโฮสต์โดยไม่มีแซนด์บ็อกซ์ |
| คำแนะนำ | ใช้แซนด์บ็อกซ์เป็นค่าเริ่มต้น, ปรับปรุง UX การอนุมัติ |
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() | ปานกลาง - เพิ่มอุปสรรคสำหรับผู้โจมตีรายใหม่ |
| การทำให้พาธปลอดภัย | sanitizePath() | สูง - ป้องกัน path traversal |
| การตรวจสอบประเภทไฟล์ | isTextFile() | ปานกลาง - เฉพาะไฟล์ข้อความ แต่ยังอาจเป็นอันตรายได้ |
| ขีดจำกัดขนาด | บันเดิลรวม 50MB | สูง - ป้องกันการใช้ทรัพยากรจนหมด |
| SKILL.md ที่จำเป็น | readme บังคับ | คุณค่าด้านความปลอดภัยต่ำ - ให้ข้อมูลเท่านั้น |
| การกลั่นกรองรูปแบบ | FLAG_RULES ใน moderation.ts | ต่ำ - เลี่ยงได้ง่าย |
| สถานะการกลั่นกรอง | ฟิลด์ moderationStatus | ปานกลาง - ตรวจสอบด้วยมนุษย์ได้ |
4.2 รูปแบบแฟล็กการกลั่นกรอง
รูปแบบปัจจุบันใน moderation.ts:
// Known-bad identifiers
/(keepcold131\/ClawdAuthenticatorTool|ClawdAuthenticatorTool)/i
// Suspicious keywords
/(malware|stealer|phish|phishing|keylogger)/i
/(api[-_ ]?key|token|password|private key|secret)/i
/(wallet|seed phrase|mnemonic|crypto)/i
/(discord\.gg|webhook|hooks\.slack)/i
/(curl[^\n]+\|\s*(sh|bash))/i
/(bit\.ly|tinyurl\.com|t\.co|goo\.gl|is\.gd)/i
ข้อจำกัด:
- ตรวจสอบเฉพาะ slug, displayName, summary, frontmatter, metadata, พาธไฟล์
- ไม่วิเคราะห์เนื้อหาโค้ด Skill จริง
- regex แบบง่ายเลี่ยงได้ง่ายด้วยการทำให้สับสน
- ไม่มีการวิเคราะห์พฤติกรรม
4.3 การปรับปรุงที่วางแผนไว้
| การปรับปรุง | สถานะ | ผลกระทบ |
|---|
| การผสานรวม VirusTotal | กำลังดำเนินการ | สูง - การวิเคราะห์พฤติกรรม Code Insight |
| การรายงานโดยชุมชน | บางส่วน (มีตาราง skillReports แล้ว) | ปานกลาง |
| การบันทึก Audit | บางส่วน (มีตาราง auditLogs แล้ว) | ปานกลาง |
| ระบบป้าย | ดำเนินการแล้ว | ปานกลาง - highlighted, official, deprecated, redactionApproved |
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: การขโมยข้อมูลโดยอาศัย Skill
T-PERSIST-001 → T-EVADE-001 → T-EXFIL-003
(Publish malicious skill) → (Evade moderation) → (Harvest credentials)
ห่วงโซ่การโจมตี 2: การฉีดพรอมป์สู่ RCE
T-EXEC-001 → T-EXEC-004 → T-IMPACT-001
(Inject prompt) → (Bypass exec approval) → (Execute commands)
ห่วงโซ่การโจมตี 3: การฉีดทางอ้อมผ่านเนื้อหาที่ดึงมา
T-EXEC-002 → T-EXFIL-001 → External exfiltration
(Poison URL content) → (Agent fetches & follows instructions) → (Data sent to attacker)
6. สรุปคำแนะนำ
6.1 ทันที (P0)
| ID | คำแนะนำ | จัดการกับ |
|---|
| R-001 | ทำการผสานรวม VirusTotal ให้เสร็จสมบูรณ์ | T-PERSIST-001, T-EVADE-001 |
| R-002 | นำการทำ sandboxing สำหรับ Skills มาใช้ | T-PERSIST-001, T-EXFIL-003 |
| R-003 | เพิ่มการตรวจสอบเอาต์พุตสำหรับการกระทำที่ละเอียดอ่อน | T-EXEC-001, T-EXEC-002 |
6.2 ระยะสั้น (P1)
| ID | คำแนะนำ | จัดการกับ |
|---|
| R-004 | นำการจำกัดอัตรามาใช้ | T-IMPACT-002 |
| R-005 | เพิ่มการเข้ารหัส token ขณะจัดเก็บ | T-ACCESS-003 |
| R-006 | ปรับปรุง UX และการตรวจสอบของการอนุมัติ exec | T-EXEC-004 |
| R-007 | นำ URL allowlisting สำหรับ web_fetch มาใช้ | T-EXFIL-001 |
6.3 ระยะกลาง (P2)
| ID | คำแนะนำ | จัดการกับ |
|---|
| R-008 | เพิ่มการตรวจสอบช่องทางด้วยการเข้ารหัสลับเมื่อทำได้ | T-ACCESS-002 |
| R-009 | นำการตรวจสอบความสมบูรณ์ของ config มาใช้ | T-PERSIST-003 |
| R-010 | เพิ่มการลงนาม update และการตรึงเวอร์ชัน | T-PERSIST-002 |
7. ภาคผนวก
7.1 การจับคู่เทคนิค ATLAS
| ATLAS ID | ชื่อเทคนิค | ภัยคุกคามของ 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 | การเข้าถึง AI Model Inference API | 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 | การแทรก Prompt ใน LLM: โดยตรง | T-EXEC-001, T-EXEC-003 |
| AML.T0051.001 | การแทรก Prompt ใน 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 | การลดผลกระทบจาก Prompt injection | วิกฤต |
src/agents/sandbox/tool-policy.ts | การบังคับใช้นโยบายเครื่องมือ | วิกฤต |
src/routing/resolve-route.ts | การแยก session | ปานกลาง |
7.3 อภิธานศัพท์
| คำศัพท์ | คำจำกัดความ |
|---|
| ATLAS | ภูมิทัศน์ภัยคุกคามเชิงปฏิปักษ์สำหรับระบบ AI ของ MITRE |
| ClawHub | ตลาด Skills ของ OpenClaw |
| Gateway | ชั้นการกำหนดเส้นทางข้อความและการยืนยันตัวตนของ OpenClaw |
| MCP | Model Context Protocol - อินเทอร์เฟซผู้ให้บริการเครื่องมือ |
| Prompt Injection | การโจมตีที่ฝังคำสั่งประสงค์ร้ายไว้ในอินพุต |
| Skill | ส่วนขยายที่ดาวน์โหลดได้สำหรับเอเจนต์ OpenClaw |
| SSRF | Server-Side Request Forgery |
โมเดลภัยคุกคามนี้เป็นเอกสารที่มีการปรับปรุงอย่างต่อเนื่อง รายงานปัญหาความปลอดภัยไปที่ security@openclaw.ai
ที่เกี่ยวข้อง