สรุปสั้น

ผู้โจมตีฝังแพ็กเกจอันตราย 34 ตัวข้ามอีโคซิสเต็มโอเพนซอร์สหลัก 3 แห่ง แอบขโมย credential คลาวด์ SSH key และข้อมูล wallet บล็อกเชนจากนักพัฒนาที่ไม่ทันสงสัย แคมเปญนี้มีชื่อว่า TrapDoor ถูกเปิดเผยครั้งแรกเมื่อวันที่ 24 พฤษภาคม 2569 โดยทีมวิจัยของ Socket.dev ที่พบแพ็กเกจปนเปื้อนกระจายอยู่บน npm, PyPI และ Crates.io

ปฏิบัติการนี้มีแพ็กเกจรวม 384 เวอร์ชัน มุ่งเป้านักพัฒนาในวงการคริปโตเคอร์เรนซี, DeFi, Solana, AI และงานวิจัยความปลอดภัย เพียงแค่ติดตั้งหรือ build แพ็กเกจก็เพียงพอให้โค้ดอันตรายทำงานทันที ข้อมูลที่ถูกขโมยรวมถึง AWS key, GitHub token, OpenAI API key, SSH private key, ไฟล์ wallet บล็อกเชน ฐานข้อมูล login ของเบราว์เซอร์ และตัวแปรสภาพแวดล้อมที่มีรหัสผ่าน

จุดที่อันตรายเป็นพิเศษคือแพ็กเกจ npm สามารถเขียนทับไฟล์ .cursorrules และ CLAUDE.md เพื่อฝังคำสั่งหลอกเครื่องมือ AI coding อย่าง Cursor และ Claude Code ให้รันคำสั่งอันตรายในเซสชันถัดไป ผู้โจมตีส่งข้อมูลที่ขโมยออกผ่านบริการที่ firewall องค์กรไว้ใจอย่าง GitHub Pages, GitHub Gist และ webhook.site ทำให้ทราฟฟิกกลมกลืนกับการใช้งานปกติ

รายละเอียดข่าว

เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 2 มิถุนายน 2569 ว่ามีการเปิดโปงแคมเปญ supply chain ขนาดใหญ่ชื่อ TrapDoor ที่ฝังแพ็กเกจอันตราย 34 ตัวข้ามสามอีโคซิสเต็มหลัก

แคมเปญนี้ถูกเปิดเผยครั้งแรกโดย Socket.dev เมื่อวันที่ 24 พฤษภาคม 2569 และต่อมานักวิเคราะห์จาก SlowMist ได้ใช้ระบบ threat intelligence ชื่อ MistEye ระบุกิจกรรมแพ็กเกจอันตรายในทั้งสามอีโคซิสเต็มและทำการวิเคราะห์เชิงเทคนิคเชิงลึก

SlowMist ระบุในรายงานที่แชร์กับ Cyber Security News ว่าได้ตรวจสอบตัวอย่างผู้แทน 3 ตัว ได้แก่ git-config-sync จาก PyPI, token-usage-tracker จาก npm และ sui-framework-helpers จาก Crates.io

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

ใน PyPI โค้ดจะทำงานทันทีที่แพ็กเกจถูก import ส่วนใน Crates.io จะทำงานช่วงการ compile และใน npm จะทำงานแบบเงียบ ๆ ทันทีหลังการติดตั้งเสร็จโดยไม่มีการแจ้งเตือนใด ๆ

ปรัชญาหลักของแคมเปญคือ “พัฒนาการโจมตีครั้งเดียว แล้วนำกลับมาใช้ซ้ำในทุกอีโคซิสเต็ม” ทำให้ข้อมูลที่ถูกขโมยครอบคลุมทั้งบัญชีส่วนตัวและโครงสร้างพื้นฐานคลาวด์ทั้งหมดที่นักพัฒนาดูแล

TrapDoor campaign uses 34 malicious packages to steal cloud keys wallets and SSH credentials

วิธีการโจมตี

TrapDoor ใช้รูปแบบสามขั้นตอนเหมือนกันทุกอีโคซิสเต็ม คือ trigger (กระตุ้น), collect (เก็บข้อมูล) และ exfiltrate (ส่งออก) โดยแต่ละแพ็กเกจปลอมตัวเป็นเครื่องมือนักพัฒนาที่ดูถูกต้อง

แพ็กเกจ Python ชื่อ git-config-sync จะปล่อย thread อันตรายภายในไม่กี่วินาทีหลังถูกโหลด โดยใช้การหน่วงเวลาแบบสุ่มเพื่อเลี่ยงความสงสัย จากนั้นสแกนไดเรกทอรีอย่าง .ssh, .aws และ .ethereum ด้วยกลุ่ม pattern-matching 6 กลุ่มเพื่อจับ private key, mnemonic phrase, API token และรหัสผ่าน

แพ็กเกจ Rust ชื่อ sui-framework-helpers จะทำงานช่วง compile มุ่งเป้าไฟล์ wallet ของ Sui, Aptos และ Solana ก่อนเข้ารหัสข้อมูลด้วย XOR cipher แล้วอัปโหลดไปยัง GitHub Gist สาธารณะ

แพ็กเกจ npm ชื่อ token-usage-tracker เป็นตัวที่มีความสามารถมากที่สุด โดย fork กระบวนการเบื้องหลังที่ซ่อนอยู่หลังการติดตั้ง แล้วกวาด credential ของเบราว์เซอร์ คลาวด์ key และข้อมูล wallet จากเส้นทางไฟล์จำนวนมาก

จุดที่น่ากังวลที่สุดคือโมดูลแพร่กระจายของ token-usage-tracker ที่เขียนทับไฟล์ .cursorrules และ CLAUDE.md ในโปรเจกต์ของเหยื่อ ฝังคำสั่งที่หลอกเครื่องมือ AI coding อย่าง Cursor และ Claude Code ให้รันการกระทำอันตรายในเซสชันถัดไป โดยใช้อักขระ zero-width ที่มองไม่เห็นด้วยตาเปล่าเพื่อบรรจุ payload ที่ AI ยังตีความและรันได้

นอกจากนี้ยังฝังคำสั่งใน Git hook ให้ทุกครั้งที่ git pull หรือสลับ branch จะดาวน์โหลดโค้ดอันตรายใหม่อย่างเงียบ ๆ และแก้ไฟล์ .bashrc กับ .zshrc ให้รันแพ็กเกจ dev-env-bootstrapper ทุกชั่วโมง

ผลกระทบต่อไทย

ชุมชนนักพัฒนาในไทยที่ทำงานด้านบล็อกเชน คริปโต DeFi และ AI กำลังเติบโตอย่างรวดเร็ว และพึ่งพา npm, PyPI และ Crates.io เป็นประจำ ทำให้มีความเสี่ยงโดยตรงต่อแคมเปญ TrapDoor

ความเสียหายอาจลุกลามเกินตัวนักพัฒนา เพราะ AWS key, GitHub token และ SSH key ที่ถูกขโมยสามารถนำไปใช้เข้าถึงโครงสร้างพื้นฐานคลาวด์ทั้งหมดขององค์กร นำไปสู่การรั่วของข้อมูลลูกค้าหรือการโจมตีต่อเนื่อง

การที่มัลแวร์โจมตีเครื่องมือ AI coding โดยตรงเป็นภัยรูปแบบใหม่ที่นักพัฒนาไทยจำนวนมากซึ่งหันมาใช้ Cursor และ Claude Code ยังไม่ตระหนัก ทำให้คำสั่งอันตรายอาจถูกรันต่อเนื่องโดยไม่รู้ตัว

ที่สำคัญ การส่งข้อมูลออกผ่าน GitHub Pages และ webhook.site ที่องค์กรไทยมักอนุญาตผ่าน firewall ทำให้การตรวจจับด้วยเครื่องมือความปลอดภัยทั่วไปทำได้ยาก

คำแนะนำ

  1. ลบแพ็กเกจที่ได้รับผลกระทบทันที — หากสงสัยว่าติด ให้ลบ git-config-sync, token-usage-tracker, sui-framework-helpers และ dev-env-bootstrapper ออกทันที
  2. Rotate credential ทั้งหมด — เปลี่ยน AWS key, GitHub token, OpenAI API key, SSH key และรหัสผ่านที่อาจถูกขโมยทุกตัว
  3. ตรวจและทำความสะอาดไฟล์ AI/shell — ตรวจ .cursorrules, CLAUDE.md, Git hooks, .bashrc และ .zshrc ลบการอ้างอิงถึง P-2024-001, ddjidd564 หรือ dev-env-bootstrapper รวมถึงอักขระ zero-width ที่ซ่อนอยู่
  4. เพิ่ม IoC ลงในกฎ CI/CD — เพิ่มตัวบ่งชี้ที่เกี่ยวกับ TrapDoor เข้าในกฎตรวจจับของ pipeline ทันที
  5. ใช้ lockfile และ pin เวอร์ชัน — ล็อกเวอร์ชัน dependency และตรวจสอบ package ใหม่ก่อนติดตั้งใน environment จริง
  6. เฝ้าระวังทราฟฟิกไป GitHub Pages/webhook.site — แม้เป็นบริการที่ไว้ใจ ควรตรวจสอบรูปแบบการเชื่อมต่อที่ผิดปกติจากเครื่องนักพัฒนา

Indicators of Compromise (IoCs)

ประเภทตัวบ่งชี้คำอธิบาย
Domainddjidd564[.]github[.]ioโดเมน GitHub Pages ของผู้โจมตี ใช้แจกจ่าย config ระยะไกล
URLhttps[:]//ddjidd564[.]github[.]io/defi-security-best-practices/config.jsonendpoint config ที่ตัวอย่าง Python และ npm ใช้ดึง webhook
URLhttps[:]//raw[.]githubusercontent[.]com/ddjidd564/defi-security-best-practices/main/config.jsonmirror ของไฟล์ config บน GitHub
URLhttps[:]//ddjidd564[.]github[.]io/defi-security-best-practices/priority_targets.jsonไฟล์ config เป้าหมายลำดับความสำคัญ (npm)
URLhttps[:]//webhook[.]site/2ada14c8-00f6-43ce-9ad6-f5dc15952246endpoint รับข้อมูล exfiltration (ช่องสำรอง)
URLhttps[:]//webhook[.]site/7513bf3d-7092-4739-bf15-a8f779a75546endpoint รับข้อมูล exfiltration (ช่องสำรอง)
URLhttps[:]//webhook[.]site/d1652693-2eb8-4281-b9e8-cffff36da2f8endpoint รับข้อมูล exfiltration (ช่องสำรอง)
File Namegit-config-syncแพ็กเกจ PyPI อันตราย ปลอมเป็นเครื่องมือ sync Git config
File Nametoken-usage-trackerแพ็กเกจ npm อันตราย ปลอมเป็นตัวติดตามการใช้ AI token
File Namesui-framework-helpersแพ็กเกจ Crates.io อันตราย ปลอมเป็น Sui Move helper
File Namedev-env-bootstrapperแพ็กเกจ npm รอง ใช้ติดมัลแวร์ซ้ำทุกชั่วโมง
File Path/tmp/.cargo_build_log_<pid>.hexไฟล์ชั่วคราวเก็บข้อมูล wallet ที่ถูก XOR (ตัวอย่าง Rust)
File Path~/.local/share/.p2024_integrityไฟล์ marker ป้องกันการติดมัลแวร์ซ้ำใน 24 ชั่วโมง (npm)
Attack MarkerP-2024-001สตริง marker รวมที่ใช้ใน payload, shell RC และไฟล์ context ของ AI
Encryption Keycargo-build-helper-2026คีย์ XOR คงที่ที่ตัวอย่าง Rust ใช้ obfuscate ข้อมูล

หมายเหตุ: โดเมนและ URL ถูก defang โดยเจตนา (เช่น [.]) เพื่อป้องกันการ resolve โดยไม่ตั้งใจ ให้ re-fang เฉพาะในแพลตฟอร์ม threat intelligence ที่ควบคุมได้ เช่น MISP, VirusTotal หรือ SIEM

แหล่งอ้างอิง