จาก personal assistant สู่ backdoor: Telegram bot ที่ไม่ได้มีแค่เราใช้ได้

Disclaimer: บทความนี้จะไม่ได้มีการ Exploit จริง เป็นเพียงการ POC เพื่อให้เห็นถึงวิธีการ Reconnaissance เท่านั้น

Openclaw คืออะไร ?
OpenClaw (หลายคนอาจคุ้นในชื่อเก่าคือ Clawdbot, Moltbot หรือ Molty) ไม่ใช่แค่แชทบอทถามตอบทั่วไป แต่มันคือ Autonomous AI Agent ที่ "ลงมือทำงานแทนเราได้จริง" บนคอมพิวเตอร์ เช่น การรัน Shell command, อ่านเขียนไฟล์ หรือจัดการระบบต่าง ๆ หรือแม้กระทั่งการนำไปเชื่อมต่อกับ Third-party อื่น ๆ เช่น Gmail, Facebook, Youtube
โดย Project นี้เป็นที่รู้จักอย่างแพร่หลายทั้งในไทยและต่างประเทศ ในช่วงปี 2025 - 2026 ภายในประเทศไทยเองก็ได้มีการจัดตั้ง Community สำหรับผู้ใช้งาน OpenClaw โดยเฉพาะและเพิ่งได้มี Meeting ไปเมื่อช่วงไม่กี่เดือนที่ผ่านมา
หลาย ๆ ครั้งผมเองได้เห็นโพสต์หรือบทความแจ้งเตือนเกี่ยวกับการตั้งค่า OpenClaw ที่ไม่ปลอดภัย ซึ่งต้องบอกว่าเป็นเรื่องที่น่ากลัวนะครับ เนื่องจากหลาย ๆ ท่านมีการนำไปเชื่อมต่อกับ Third-party อื่น ๆ เพื่อให้ทำงานแทนเรา จะเกิดอะไรขึ้นถ้า "คนที่ใช้งานได้ไม่ได้มีแค่เรา ?"
วิธีการเชื่อมต่อ
OpenClaw ออกแบบมาให้เราสั่งงานผ่านแอปแชทที่เราใช้กันอยู่ทุกวันได้เลย (เช่น WhatsApp, Discord, Slack) แต่วิธีที่ได้รับความนิยมสูงสุดและต่อง่ายที่สุดคือ Telegram Bot เพราะแค่ไปสร้างบอทผ่าน @BotFather เอา Token มาใส่ ก็ได้ผู้ช่วยส่วนตัวทันที
โดยในปัจจุบัน Telegram Bot ไม่สามารถจำกัดการเข้าถึงได้โดยตรง (ผ่านการตั้งค่าใน Bot Father) จึงทำให้คนอื่น ๆ สามารถค้นหาและพูดคุยกับบอทของเราได้ วิธีการป้องกันทำได้เพียงแค่ "ตรวจสอบ ID ของ sender ว่ามาจากที่อนุญาตหรือไม่"
วันนี้ผมเลยจะมา Show case นึงที่จะเป็นการทดสอบสแกนหา Bot ที่อยู่ใน Telegram และทำการตรวจสอบว่า Bot ตัวใดบ้างที่เป็น OpenClaw และมีการตั้งค่าอย่างไร ซึ่งในส่วนนี้ผมใช้เวลาในการทำ POC โดยใช้เวลาแค่ประมาณ 10 นาที จริง ๆ หากใช้เวลารันมากกว่านี้ก็จะได้ผลลัพธ์ที่มากขึ้นตามไปด้วยนะครับ ในส่วนของรายละเอียดวิธีการทำขอไม่ลงรายละเอียดนะครับ
ผลการทดลอง
จากการทำ Research สแกนหาบอท Telegram ที่รัน OpenClaw จำนวน 61 ตัว (ข้อมูล ณ วันที่ 10 มีนาคม 2026)
All Bot Summary
ผลการสแกนบอททั้งหมด 61 ตัว:
- ตอบสนองและยืนยันว่าเป็น OpenClaw: 24 ตัว [Responded (Open) อยู่ในกลุ่มนี้]
- ตอบสนองและเป็นบริการของ OpenClaw: 4 ตัว
- ไม่มีการตอบสนอง (Offline): 32 ตัว
- ตอบสนองแต่ไม่ใช่ระบบ OpenClaw: 1 ตัว
กลุ่มที่น่าสนใจ
| # | Username | Name | Status |
|---|---|---|---|
| 1 | @joxxxxxx_bot | น้องกุ้ง XXX | Responded (Open) |
| 2 | @crxxxxxx_bot | Jarvis XXX | Responded (Open) |
| 3 | @Soxxxxxx_bot | soXXXX | Responded (Open) |
| 4 | @Jaxxxxxx_bot | JaXXXX | Responded (Open) |
| 5 | @jfxxxxxx_bot | DoXXXX | Responded (Open) |



โดยที่กลุ่มนี้คือสามารถควบคุมได้เลยครับ โดยที่ OpenClaw จะมองว่าเราคือเจ้าของ หากคุณตั้งค่าอะไรไว้ Attacker ก็จะสามารถสั่งการแบบนั้นได้ทันที ซึ่งขอบเขตความเสียหายจะขึ้นอยู่กับสิทธิ์ (Permissions) และ Tools ที่ OpenClaw เข้าถึงได้ ตัวอย่างเช่น:
- การรันคำสั่งบนระบบ (Command Execution): หาก OpenClaw เข้าถึง Shell ได้ แฮกเกอร์สามารถพิมพ์แชทสั่งให้ดาวน์โหลด Malware, ติดตั้ง Ransomware, ลบระบบปฏิบัติการ (เช่น rm -rf /home/user/dir) หรือเปลี่ยนเครื่องของคุณให้เป็น Botnet ขุดคริปโต
- การโจรกรรมข้อมูล (Filesystem Access): สั่งให้อ่านและขโมยไฟล์สำคัญในเครื่อง เช่น ซอร์สโค้ด, ไฟล์ .env ที่เก็บ API Keys, หรือ SSH Private Key สำหรับเข้าถึงเซิร์ฟเวอร์อื่นๆ
- การสวมรอยผ่าน Third-party: หากคุณนำ OpenClaw ไปผูกกับบริการอื่นๆ ไว้ (เช่น Gmail, Facebook, GitHub, AWS) แฮกเกอร์สามารถสั่งให้บอทอ่านอีเมลส่วนตัว, ส่งอีเมล Phishing ในชื่อของคุณ, ลบ Repository, หรือแม้แต่ลบ Database ทิ้ง
- การโจมตีเครือข่ายภายใน (Lateral Movement): ใช้เครื่องเซิร์ฟเวอร์ของคุณเป็นจุดศูนย์กลาง (Jump Server) เพื่อสแกนและโจมตีเครื่องอื่นๆ ที่อยู่ในเครือข่ายวงใน (Internal Network) เดียวกัน
วิธีการนี้ไม่ได้ใช้ได้แค่กับ openclaw แต่รวมไปถึง nanoclaw, picoclaw, microclaw, custom claw ก็สามารถโจมตีได้ หากตั้งค่าไม่ปลอดภัย
ทั้งนี้อาจจะต้องใช้ความสามารถในเทคนิคการโจมตีด้วย Prompt Injection เพื่อทำให้ LLM ทำตามคำสั่งที่เป็นอันตราย สามารถอ่านรายละเอียดได้ที่
All Potential OpenClaw Bots
| # | Username | Name | Status | Region |
|---|---|---|---|---|
| 1 | @joxxxxxx_bot | น้องกุ้ง XXX | Responded (Open) | Thai |
| 2 | @Jaxxxxxx_bot | JaXXXX | Responded (Open) | Thai |
| 3 | @jfxxxxxx_bot | DoXXXX | Responded (Open) | Thai |
| 4 | @crxxxxxx_bot | Jarvis XXX | Responded (Open) | Thai |
| 5 | @Soxxxxxx_bot | soXXXX | Responded (Open) | Thai |
| 6 | @kaxxxxxx_bot | น้องกุ้ง XXX | Responded (Pairing) | Thai |
| 7 | @opxxxxxx_bot | น้องกุ้ง XXX | Responded (Pairing) | Thai |
| 8 | @kuxxxxxx_bot | น้องกุ้งทอด XXX | Responded (Pairing) | Thai |
| 9 | @koxxxxxx_bot | กุ้ง XXX | Responded (Pairing) | Thai |
| 10 | @opxxxxxx_bot | กั้ง XXX | Responded (Pairing) | Thai |
| 11 | @Kixxxxxx_bot | กุ้งน้อย XXX | Responded (Pairing) | Thai |
| 12 | @opxxxxxx_bot | XXX | Responded (Pairing) | Thai |
| 13 | @Tlxxxxxx_bot | OpenClaw XXX | Responded (Pairing) | Thai |
| 14 | @Tlxxxxxx_bot | tle_OpenClaw XXX | Responded (Pairing) | Thai |
| 15 | @Clxxxxxx_bot | Claw XXX | Responded (Pairing) | International |
| 16 | @guxxxxxx_bot | Claw XXX | Responded (Pairing) | International |
| 17 | @VDxxxxxx_bot | Clawed XXX | Responded (Pairing) | International |
| 18 | @Gixxxxxx_bot | GitM XXX | Responded (Pairing) | International |
| 19 | @Clxxxxxx_bot | Clawd XXX | Responded (Pairing) | International |
| 20 | @Clxxxxxx_bot | KLO XXX | Responded (Pairing) | International |
| 21 | @aixxxxxx_bot | crawbot XXX | Responded (Pairing) | International |
| 22 | @Myxxxxxx_bot | MyMoltbot XXX | Responded (Pairing) | International |
| 23 | @moxxxxxx_bot | moltbot XXX | Responded (Pairing) | International |
| 24 | @iaxxxxxx_bot | Molty XXX | Responded (Pairing) | International |
| 25 | @moxxxxxx_bot | Molty XXX | Responded (Pairing) | International |
| 26 | @clxxxxxx_bot | Arthur XXX | Responded (Pairing) | International |
| 27 | @shxxxxxx_bot | OpenClaw XXX | Responded (Pairing) | International |
| 28 | @kixxxxxx_bot | Кими XXX | Responded (Pairing) | Russian |
| 29 | @kaxxxxxx_bot | Парфирий XXX | Responded (Pairing) | Russian |
| 30 | @clxxxxxx_bot | Clawmaker XXX | Responded (Service) | International |
| 31 | @Clxxxxxx_bot | OpenClaw XXX | Responded (Service) | International |
| 32 | @Prxxxxxx_bot | OpenClaw XXX | Responded (Service) | Russian |
| 33 | @sexxxxxx_bot | Директор XXX | Responded (Service) | Russian |
Naming Conventions by Region
| Region | Naming Pattern | Examples |
|---|---|---|
| Thai | Shrimp/seafood names (กุ้ง, กั้ง) | น้องกุ้ง, กุ้งน้อย AI, กุ้งแดง |
| Russian | Personal names or generic | Кими, Парфирий, OpenClaw Assistant |
| International | Platform name variations | Clawd Bot, Molty, CrawBot |
วิธีการแก้ไขในเบื้องต้น
การตั้งค่า dmPolicy (Direct Message Policy) จะเป็นตัวกำหนดสิทธิ์ว่า "ใครบ้างที่มีสิทธิ์แชทส่วนตัวเพื่อสั่งงานบอทตัวนี้" โดยมี 4 รูปแบบการทำงานดังนี้ครับ:
1. pairing (default) นี่คือโหมดเริ่มต้นและเป็นโหมดที่เน้นความปลอดภัย เมื่อมีคนทักแชทไปหาบอท (/start) บอทจะยังไม่รับคำสั่งใด ๆ แต่จะตอบกลับเป็นรหัส Pairing Code (เช่น 5GP74F9P) ผู้ใช้จะต้องนำรหัสนี้ไปพิมพ์ยืนยันในหน้า Terminal หรือ Console ของเซิร์ฟเวอร์ที่รัน OpenClaw อยู่ ถึงจะผูกบัญชีสำเร็จและเริ่มสั่งงานได้ โหมดนี้ช่วยป้องกันไม่ให้คนนอกที่สุ่มเจอบอทเข้ามาใช้งานได้
2. allowlist
โหมดนี้คือการจำกัดสิทธิ์แบบเจาะจงหรือ "Whitelist" โดยบอทจะยอมรับคำสั่งจาก Telegram User ID ที่ถูกระบุไว้ในตั้งค่า allowFrom เท่านั้น หากคนนอกที่ไม่ได้อยู่ในลิสต์นี้ทักมา บอทจะเมินและไม่ตอบสนองใด ๆ โหมดนี้เหมาะมากสำหรับการทำ Personal Assistant ไว้ใช้เองคนเดียว หรือใช้กันในทีมเฉพาะกลุ่ม (ปลอดภัยที่สุดสำหรับการใช้งานจริง)
3. open
โหมดสาธารณะ หรือที่เปรียบเสมือนการเปิด "บ่อตกกุ้ง" โหมดนี้จะอนุญาตให้ใครก็ตามที่มีบัญชี Telegram สามารถแชทคุยและสั่งงาน AI ได้ทันทีโดยไม่ต้องมีการยืนยันตัวตน (ต้องตั้งค่า allowFrom: ["*"] ควบคู่ไปด้วย) โหมดนี้อันตรายมากและควรใช้ในกรณีที่เป็น Sandbox environment หรือระบบที่แยกไว้อย่างรัดกุมเท่านั้น
4. disabled โหมดนี้คือการปิดช่องทางการสื่อสารแบบแชทส่วนตัว (Direct Message) ไปเลยโดยสิ้นเชิง บอทจะไม่สนใจและไม่ตอบกลับข้อความใด ๆ ที่ทักมาทางช่องแชทส่วนตัว (มักจะใช้ในกรณีที่คุณต้องการให้บอททำงานเฉพาะใน Group Chat เท่านั้น และไม่อนุญาตให้ใครแอบมาสั่งงานหลังไมค์)
สรุปสั้น ๆ สำหรับสาย Security: แนะนำให้ใช้ allowlist สำหรับบอทส่วนตัว, ใช้ pairing สำหรับการ Setup ระบบทั่วไป และหลีกเลี่ยง open หากไม่เข้าใจความเสี่ยง
ฝากถึงชาว Openclaw
ตอนนี้คงปฏิเสธการเข้ามาของ AI ไม่ได้ การปรับตัวเข้าหา AI และใช้งาน AI เป็นเครื่องมือผมเองก็มองว่าคือแนวทางที่ดีครับ แต่อยากฝากเอาไว้ว่าควรที่จะมีการศึกษาทำความเข้าใจและใช้ AI อย่างมีสติ ในปัจจุบันการโดนโจมตีด้วย AI Supply Chain เริ่มมีมากขึ้นในปัจจุบัน ตัวอย่างของบทความนี้เป็นอีกหนึ่งวิธีในการโจมตี ที่สามารถใช้งานได้จริง ใช้ AI ด้วยความระมัดระวังนะครับ
ทาง Incognito Lab มีทีมงานผู้เชี่ยวชาญในหลายด้านรวมไปถึงทางด้าน AI/LLM หากต้องการคำปรึกษาสามารถติดต่อได้ครับ
Ref
OUR SERVICES
PENETRATION TEST
With our high-ethical, professional certified team and methodology based on NIST SP800-115, we offer a full range of cost-effective services to identify your cyber risks in application, infrastructure, and mobile platforms to meet the requirements of your organisation.
Up Next

ARTICLES/17 Jul 2026
Wiper Attack Hospital
เมื่อวันที่ 11 มีนาคม 2569 กลุ่มแฮกเกอร์ Handala ซึ่งเชื่อมโยงกับรัฐบาลอิหร่าน ได้โจมตี บริษัท Stryker ซึ่งเป็นบริษัทผลิตอุปกรณ์การแพทย์ระดับโลกสัญชาติสหรัฐฯ Wiper Attack

ARTICLES/19 May 2025
Hey CHAT !! อธิบาย Prompt Injection
Prompt Injection คือ การโจมตีที่ผู้ไม่ประสงค์ดีทำการควบคุมหรือเปลี่ยนแปลงการทำงานของ AI โดยการแทรกคำสั่ง (Prompt) เพื่อให้สามารถทำงานนอกเหนือจากการตั้งค่าที่ถูกกำหนดไว้

ARTICLES/6 May 2025
Agentic AI Workflow ในงาน Cybersecurity
Agentic AI ที่แบ่งหน้าที่และตรวจสอบกันเองได้ เอามาใช้กับงาน cybersecurity ตรงไหนได้บ้าง และเปลี่ยนวิธีทำงานของทีมไปอย่างไร


