แต่จุดที่ทำให้ TrapDoor น่ากลัวกว่าแคมเปญทั่วไป คือการรู้จักใช้เครื่องมือที่เราไว้ใจให้กลายเป็นอาวุธ มันไม่ได้แค่ลอบขโมยข้อมูล แต่ยังแอบ ฝังคำสั่งที่มองไม่เห็นด้วยตาเปล่า ลงในไฟล์ตั้งค่าของ AI ผู้ช่วยอย่าง .cursorrules และ CLAUDE.md เพื่อให้ AI กลายเป็นผู้สมรู้ร่วมคิดในการขโมยข้อมูลโดยที่เราไม่รู้ตัว
TrapDoor ไม่ได้เลือกโจมตีแค่แพลตฟอร์มใดแพลตฟอร์มหนึ่ง แต่มันใช้กลยุทธ์ที่แตกต่างกันไปในแต่ละคลัง เพื่อให้ครอบคลุมนักพัฒนาทั่วทั้งสามระบบนิเวศ
ส่วนใหญ่อยู่บน npm โดยมันจะใช้คำสั่ง postinstall hooks ซึ่งเป็นสคริปต์ที่รันอัตโนมัติทันทีที่ติดตั้งแพ็กเกจเสร็จ เพื่อเริ่มการขโมยข้อมูล ตัวกลางหลักคือไฟล์ชื่อ trap-core.js ที่มีความยาวกว่า 1,149 บรรทัด ทำหน้าที่สแกนหา Secret ต่างๆ ในเครื่องเหยื่อและส่งกลับไปยังเซิร์ฟเวอร์ของผู้โจมตี
สำหรับนักพัฒนา Python มันจะไปรันและดึงคำสั่งจาวาสคริปต์ระยะไกลมาทำงานทันทีตอนที่มีการ import แพ็กเกจ โดยใช้แนวทางการขโมยข้อมูลแบบเดียวกัน
ในโลกของ Rust ที่ขึ้นชื่อเรื่องความปลอดภัย แพ็กเกจปลอมนั้นไม่ได้รอให้เราเรียกใช้ฟีเจอร์ใดๆ แต่มันอาศัยสคริปต์ build.rs ดึงโค้ดขโมยข้อมูลมาทำงานตั้งแต่ขั้นตอนการคอมไพล์ (Build) เลยทีเดียว
แพ็กเกจเหล่านี้มาในชื่อที่ดูเหมือนเป็นเครื่องมือสำหรับนักพัฒนาโดยเฉพาะ เช่น token-usage-tracker, prompt-engineering-toolkit, หรือ eth-wallet-security-auditor ซึ่งดึงดูดให้กลุ่มเป้าหมายติดตั้งโดยไม่ทันระแวง
เป้าหมายของ TrapDoor ไม่ใช่แค่การสร้างบอทเน็ต แต่มันต้องการกุญแจที่ไขไปสู่ทรัพย์สินดิจิทัลได้ทันที โดยข้อมูลที่มันไล่ล่า ():
โดยเฉพาะการขโมย GitHub Token นั้นอันตรายมาก เพราะผู้โจมตีสามารถเข้าไปยัง Repository ส่วนตัว, เปลี่ยนแปลงโค้ด, หรือแทรกแซง CI/CD Pipeline ได้ทันที ส่วนวอลเล็ตที่ตกเป็นเป้าหมาย ก็มีทั้ง MetaMask และ Phantom
จากการสืบสวนของ Socket กลุ่มเป้าหมายหลักคือ นักพัฒนา Cryptocurrency, DeFi, Solana, Sui, และ AI ชื่อของแพ็กเกจก็สื่อถึงกลุ่มเป้าหมายโดยตรง เช่น เกี่ยวกับการตรวจสอบความปลอดภัยของวอลเล็ต, การตรวจสอบธุรกรรม, หรือเครื่องมือพัฒนา Smart Contract
เหตุผลที่กลุ่มนี้เป็นเป้าหมายก็เพราะพวกเขามักถือกุญแจของวอลเล็ตที่เก็บทรัพย์สินไว้มากมาย, เข้าถึงระบบคลาวด์, และมีสิทธ์สูงใน Toolchain สำหรับพัฒนา การเจาะเครื่องของนักพัฒนาเหล่านี้ได้เพียงเครื่องเดียว ก็อาจเท่ากับเปิดประตูไปสู่ความเสียหายทางการเงินที่รุนแรง
นี่คือไฮไลต์ที่ทำให้เทคนิคของ TrapDoor เหนือชั้นกว่าแคมเปญอื่นๆ มันมุ่งเป้าไปที่การบิดเบือนความเชื่อใจที่นักพัฒนามีต่อ AI ตัวช่วยในการเขียนโค้ด
มัลแวร์จะพยายามเข้าไปแก้ไขหรือสร้างไฟล์ .cursorrules และ CLAUDE.md ไฟล์เหล่านี้คือคู่มือที่นักพัฒนาใช้กำหนดคำสั่งเฉพาะให้กับ AI Coding Tools อย่าง Cursor และ Claude Code
ภายในไฟล์จะถูกฝังคำสั่งลับโดยใช้ อักขระ Unicode ความกว้างศูนย์ (Zero-width Unicode characters) เช่น U+200B, U+200C, และ U+FEFF ตัวอักษรพวกนี้มองไม่เห็นด้วยตาเปล่า ทั้งใน Text Editor และในขั้นตอน Code Review ปกติ มนุษย์จะเห็นแค่ไฟล์ว่างๆ หรือข้อความธรรมดาๆ เท่านั้น
แต่สำหรับ AI ที่อ่านข้อมูลแบบ Raw Text ได้ทั้งหมด มันจะ 'เห็น' คำสั่งที่ซ่อนอยู่ และถูกหลอกให้ทำตาม เช่น การรันสแกนความปลอดภัยปลอมๆ ซึ่งสุดท้ายก็คือการไปรวบรวม Credential และส่งออกไปนั่นเอง หรือหนักกว่านั้นคือการรันคำสั่ง Shell โดยที่นักพัฒนาไม่ทันสังเกต
นี่คือการโจมตีแบบสองจังหวะ: แพ็กเกจติดมัลแวร์ขโมยข้อมูลตรงๆ ก่อน จากนั้นไฟล์ตั้งค่า AI ที่ถูกวางยาพิษก็เปลี่ยนผู้ช่วยคู่ใจของเราให้กลายเป็นสายลับต่อไป
ข่าวดีคือ Socket ตรวจจับความผิดปกติของ TrapDoor ได้เร็วมาก โดยมีเวลาตรวจจับอยู่ที่ เฉลี่ยแค่ 5 นาที 27 วินาที (เร็วสุดคือ 58 วินาที) ความเร็วระดับนี้ทำให้นักวิจัยสามารถเชื่อมโยงแพ็กเกจที่ดูเหมือนไม่เกี่ยวข้องกันเข้าด้วยกัน และระบุได้ภายใน 48 ชั่วโมงว่านี่คือแคมเปญเดียวกัน
ตอนนี้ทั้ง 34 แพ็กเกจได้ถูกรายงานไปยังผู้ดูแลของทั้งสาม Registry ให้ทำการลบออกจากระบบเป็นที่เรียบร้อยแล้ว
หากทีมของคุณหรือตัวคุณเองติดตั้งแพ็กเกจต้องสงสัยเหล่านี้ ให้ทำตามขั้นตอนต่อไปนี้ ทันที:
.github/workflows/ ว่ามีไฟล์แปลกปลอม, มีขั้นตอนที่ใช้ curl/wget ส่งข้อมูลออกไป, หรือใช้ Third-Party Actions ที่ไม่รู้จักหรือไม่grep -P '[\x{200B}-\x{200F}\x{2028}-\x{202F}\x{FEFF}]' .cursorrules CLAUDE.md
Comments
0 comments