
ที่มาภาพ: The Register
แฮกเกอร์ฉีดมัลแวร์ใน crates ของ Rust ทำให้ขโมยข้อมูลนักพัฒนา
⚡ สรุป 30 วิ
การโจมตีซัพพลายเชนฝังมัลแวร์ใน proc‑macro1 ทำให้ข้อมูลผู้พัฒนาถูกขโมย ทีมความปลอดภัยของ Rust ลบ crate ที่เป็นอันตรายและแนะนำให้อัปเดต Cargo.lock ทันที
การโจมตีซัพพลายเชนในระบบจัดเก็บแพ็กเกจของ Rust ถูกเปิดเผยเมื่อสัปดาห์นี้ หลังจากที่ผู้วิจัยเจอมัลแวร์ฝังอยู่ในหลาย crates ที่ได้รับความนิยม ทำให้ขั้นตอนการคอมไพล์โค้ดกลายเป็นช่องทางเข้าถึงเครื่องของนักพัฒนา ทีมตอบสนองด้านความปลอดภัยของ Rust (Rust Security Response Team) ได้แจ้งเหตุการณ์ต่อสาธารณะเมื่อวันพฤหัสบดีที่ผ่านมา
Overview
ตามข้อมูลจาก Rust Security Response Team การโจมตีเริ่มต้นจาก crate ที่ชื่อ proc‑macro1 ซึ่งเป็นรุ่นที่ทำให้สคริปต์การสร้าง (build script) ดึงไฟล์มัลแวร์จากเซิร์ฟเวอร์ระยะไกล การตรวจสอบพบว่าผู้โจมตีได้เพิ่ม proc‑macro1 เป็น dependency ของ crate ที่ได้รับการยอมรับอย่างกว้างขวางหลายตัว ได้แก่ arrayref, internment และ append‑only‑vec
ทีมตอบสนองระบุว่าเจ้าของ crate เหล่านี้อาจไม่ได้มีส่วนเกี่ยวข้องโดยตรง แต่คาดว่าบัญชีของผู้ดูแลหรือข้อมูลประจำตัวของเขาถูกเข้าถึงและทำให้สามารถเผยแพร่เวอร์ชันที่ถูกปนเปื้อนได้ ทีมจึงได้ล็อกบัญชีของผู้พัฒนาดังกล่าวในขณะพยายามติดต่อเพื่อยืนยันเหตุการณ์
Attack Vector & Mechanics
สคริปต์ build.rs ของ proc‑macro1 ทำหน้าที่ตรวจสอบระบบปฏิบัติการและสถาปัตยกรรมของเครื่องที่ทำการคอมไพล์ จากนั้นดาวน์โหลด payload ที่ตรงกับแพลตฟอร์มนั้น (Linux, Windows, Intel macOS และ Apple Silicon) แล้วรันโดยอัตโนมัติ การใช้ Cargo ซึ่งเป็นผู้จัดการแพ็กเกจของ Rust ทำให้ขั้นตอนนี้เกิดขึ้นในทุกครั้งที่นักพัฒนาติดตั้งหรืออัปเดต crate ที่ได้รับผลกระทบ
payload ระดับสองที่ได้จาก Aikido วิเคราะห์พบว่าไม่ได้เป็นแค่ดาวน์โหลดไฟล์เพิ่มเติมเท่านั้น แต่ยังมีโค้ดที่มุ่งเจาะข้อมูลเบราว์เซอร์ครอบคลุม Google Chrome, Brave และ Microsoft Edge รวมถึงการเข้าถึง storage ของส่วนขยายที่ใช้กระเป๋าเงินสกุลเงินดิจิทัล นอกจากนี้ยังมีฟังก์ชันเพื่อสร้างความคงอยู่ (persistence) บนเครื่องและรับคำสั่งจากเซิร์ฟเวอร์ของผู้โจมตี
Affected Packages & Timeline
- arrayref เวอร์ชัน 0.3.10 ปรากฏบน crates.io เป็นเวลา 86 นาที
- internment เวอร์ชัน 0.8.7 มีอายุการเผยแพร่ 90 นาที
- append‑only‑vec เวอร์ชัน 0.1.9 อยู่ในระบบเป็น 107 นาที
แม้ระยะเวลาที่แพ็กเกจเหล่านี้เปิดให้ดาวน์โหลดจะสั้นมาก แต่ตามข้อมูลจากบริษัทความปลอดภัย Aikido จำนวนการดาวน์โหลดทั้งหมดของ arrayref ตลอดอายุการใช้งานประมาณ 245 ล้านครั้ง ส่วน append‑only‑vec มีการดาวน์โหลดกว่า 4 ล้านครั้ง ซึ่งทำให้แม้ช่วงเวลาสั้น ๆ ก็ตามอาจมีนักพัฒนาจำนวนมากที่ได้รับไฟล์ที่ถูกปนเปื้อน
Response & Mitigation
หลังจากตรวจพบเหตุการณ์ ทีม Rust Security Response Team ได้ลบ crate ที่เกี่ยวข้องทั้งหมด รวมถึง proc‑macro-en, aovine, arone, aronenao และ tinymember พร้อมประกาศให้ถือว่าเวอร์ชันใด ๆ ของแพ็กเกจเหล่านี้อาจเป็นอันตราย นักพัฒนาถูกแนะนำให้ตรวจสอบไฟล์ Cargo.lock และแคชของ registry ในเครื่องท้องถิ่นเพื่อยืนยันว่าตัวเองไม่ได้ใช้เวอร์ชันที่ถูกปนเปื้อน
การวิจัยโดย Aikido ชี้ว่าโค้ดต้นฉบับของ crate ที่ได้รับผลกระทบนั้นยังคงไม่ถูกแก้ไข ยกเว้นการเพิ่ม dependency ไปยัง proc‑macro1 ซึ่งเป็นการทำ typosquat ของแพ็กเกจที่แท้จริงคือ proc‑macro2 การสังเกตนี้ช่วยให้ผู้ตรวจสอบสามารถแยกแยะได้ว่าการเปลี่ยนแปลงมาจากขั้นตอนการจัดส่ง (supply chain) มากกว่าการแก้ไขโค้ดโดยตรง
Impact & Implications
เหตุการณ์ครั้งนี้เน้นย้ำความเสี่ยงของซัพพลายเชนในระบบแพ็กเกจแบบเปิด-source อย่าง Rust ที่นักพัฒนานับถือเป็นเครื่องมือหลักในการจัดการ dependency การที่ผู้โจมตีเลือกใช้ช่องทางที่คุ้นเคยและมีการใช้งานสูงทำให้สามารถเข้าถึงฐานผู้ใช้กว้างขวางได้อย่างรวดเร็ว แม้ว่าช่วงเวลาที่แพ็กเกจถูกเผยแพร่จะสั้น แต่ผลกระทบต่อความปลอดภัยของเครื่องพัฒนายังอาจเกิดขึ้นในระดับลึก
สำหรับชุมชน Rust และนักพัฒนาโดยรวม การตรวจสอบแหล่งที่มาของ dependency อย่างรอบคอบ รวมถึงการใช้เครื่องมือตรวจจับการเปลี่ยนแปลงใน lockfile เป็นขั้นตอนสำคัญในการลดความเสี่ยงต่อการโจมตีประเภทนี้ นอกจากนี้ ผู้ให้บริการ registry ควรพิจารณาเพิ่มกระบวนการตรวจสอบอัตโนมัติสำหรับ dependency ที่มีลักษณะเป็น typosquat หรือการเปลี่ยนแปลงที่ไม่คาดคิด
Summary
การปล่อยแพ็กเกจ Rust ที่ถูกปนเปื้อนไปหลายตัวทำให้ผู้พัฒนาต้องเผชิญกับความเสี่ยงจากซอฟต์แวร์มาลแวร์ที่สามารถขโมยข้อมูลเบราว์เซอร์และกระเป๋าเงินดิจิทัลได้ ทีมตอบสนองของ Rust ได้ลบแพ็กเกจที่เป็นอันตรายทั้งหมดและเตือนให้นักพัฒตรวจสอบ lockfile ของตนเองเพื่อป้องกันเหตุการณ์ซ้ำในอนาคต.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- Hackers poison popular Rust crates to steal developers' credentials
- ผู้เขียน
- Unknown
- แหล่ง
- The Register
- วันที่เผยแพร่
- 21 สิงหาคม 2569 เวลา 21:57



