ส่วนขยาย AI สองรายการใน Microsoft Visual Studio Code (VSCode) Marketplace ที่มีการติดตั้งรวมกันกว่า 1.5 ล้านครั้ง ถูกตรวจพบว่าแอบส่งข้อมูลสำคัญของนักพัฒนาไปยังเซิร์ฟเวอร์ในประเทศจีนโดยไม่ได้รับอนุญาต ส่วนขยายเหล่านี้โฆษณาว่าเป็นผู้ช่วยเขียนโค้ด AI แต่ดำเนินการขโมยข้อมูลอย่างลับๆ ทำให้เกิดความเสี่ยงต่อการรั่วไหลของซอร์สโค้ดส่วนตัว ไฟล์การตั้งค่า และข้อมูลประจำตัวบริการคลาวด์ เช่น API Keys.
Severity: วิกฤต
System Impact:
- Microsoft Visual Studio Code (VSCode) Marketplace
- VS Code extensions
- สภาพแวดล้อมการพัฒนา (Developer environments)
Technical Attack Steps:
- นักพัฒนาติดตั้งส่วนขยาย AI ช่วยเขียนโค้ดที่เป็นอันตรายจาก VSCode Marketplace
- ส่วนขยายจะตรวจสอบไฟล์ที่เปิดใน VS Code แบบเรียลไทม์
- เมื่อเปิดไฟล์ใดๆ เนื้อหาทั้งหมดของไฟล์จะถูกอ่าน เข้ารหัสด้วย Base64 และส่งไปยังเซิร์ฟเวอร์ของผู้โจมตีผ่าน iframe ที่ซ่อนอยู่
- การเปลี่ยนแปลงใดๆ ที่เกิดขึ้นกับไฟล์ที่เปิดอยู่ก็จะถูกบันทึกและส่งออกไปเช่นกัน
- ใช้คำสั่งเก็บไฟล์ที่ควบคุมโดยเซิร์ฟเวอร์เพื่อดึงไฟล์ได้สูงสุด 50 ไฟล์จากพื้นที่ทำงานของเหยื่อในแต่ละครั้ง
- ใช้ iframe ขนาดศูนย์พิกเซลใน webview ของส่วนขยายเพื่อโหลด SDK วิเคราะห์เชิงพาณิชย์ (Zhuge.io, GrowingIO, TalkingData, Baidu Analytics) ซึ่งใช้ติดตามพฤติกรรมผู้ใช้, สร้างโปรไฟล์, ทำ fingerprint อุปกรณ์ และตรวจสอบกิจกรรมภายใน editor
Recommendations:
Short Term:
- ถอนการติดตั้งส่วนขยาย “ChatGPT – 中文版” (publisher: WhenSunset) และ “ChatMoss (CodeMoss)” (publisher: zhukunpeng) ทันทีหากมีการติดตั้ง
- เปลี่ยนรหัสผ่าน, API Keys, และข้อมูลประจำตัว (credentials) ทั้งหมดที่เคยใช้ในสภาพแวดล้อม VSCode ที่ได้รับผลกระทบ
- ตรวจสอบบันทึกกิจกรรม (logs) ของระบบที่เกี่ยวข้องเพื่อหาร่องรอยการเข้าถึงหรือการส่งข้อมูลที่ผิดปกติ
Long Term:
- ตรวจสอบและประเมินส่วนขยาย VSCode อย่างละเอียดก่อนติดตั้ง โดยเฉพาะจากผู้เผยแพร่ที่ไม่เป็นที่รู้จักหรือมีชื่อเสียง
- ใช้หลักการ Least Privilege เพื่อจำกัดสิทธิ์ของเครื่องมือและสภาพแวดล้อมการพัฒนา
- นำเครื่องมือด้านความปลอดภัยของ Supply Chain, Static Application Security Testing (SAST) หรือ Dynamic Application Security Testing (DAST) มาใช้เพื่อสแกนโค้ดและ dependency
- จัดให้มีการฝึกอบรมด้านความปลอดภัยไซเบอร์อย่างต่อเนื่องสำหรับนักพัฒนา
- พิจารณาใช้สภาพแวดล้อมการพัฒนาที่แยกออกจากกัน เช่น Containers หรือ Virtual Machines เพื่อลดความเสี่ยง
- ติดตั้งและกำหนดค่า Endpoint Detection and Response (EDR) เพื่อตรวจจับและตอบสนองต่อกิจกรรมที่น่าสงสัย
Share this content: