เวอร์ชันที่เป็นอันตรายของเครื่องมือซอฟต์แวร์ที่นักพัฒนา Injective ใช้งาน ถูกออกแบบมาเพื่อรวบรวมคีย์ส่วนตัวของกระเป๋าเงินและวลีกู้คืน ซึ่งก่อให้เกิดความกังวลต่อแอปพลิเคชันที่จัดการข้อมูลกระเป๋าเงินที่มีความละเอียดอ่อนผ่านเวอร์ชันที่ได้รับผลกระทบ แฮกเกอร์ได้เจาะระบบแพ็กเกจซอฟต์แวร์ที่นักพัฒนาใช้สร้างกระเป๋าเงินและแอปพลิเคชันสำหรับบล็อกเชน Injective โดยเพิ่มโค้ดที่สามารถรวบรวมข้อมูลรับรองกระเป๋าเงินคริปโตได้อย่างลับๆ
บริษัทความปลอดภัย Socket พบโค้ดที่เป็นอันตรายในเวอร์ชัน 1.20.21 ของ @injectivelabs/sdk-ts ซึ่งเป็นแพ็กเกจที่ช่วยให้แอปพลิเคชันเชื่อมต่อกับ Injective และจัดการฟังก์ชันที่เกี่ยวข้องกับกระเป๋าเงิน ปกติแล้วแพ็กเกจนี้มีการดาวน์โหลดประมาณ 50,000 ครั้งต่อสัปดาห์ แม้ว่าตัวเลขนี้จะรวมทุกเวอร์ชันและไม่สะท้อนจำนวนผู้ที่ได้รับผลกระทบจากเหตุการณ์นี้
Socket ระบุว่าเวอร์ชันที่ถูกเจาะระบบมีการดาวน์โหลดประมาณ 310 ครั้ง อย่างไรก็ตาม การดาวน์โหลดไม่ได้หมายความว่าคีย์กระเป๋าเงินจะถูกเปิดเผยโดยอัตโนมัติ โค้ดที่เป็นอันตรายจะต้องทำงานในขณะที่แอปพลิเคชันกำลังจัดการคีย์ส่วนตัวหรือวลีกู้คืน ยังไม่มีการเปิดเผยจำนวนกระเป๋าเงินที่ได้รับผลกระทบที่ยืนยันแล้ว และไม่มีหลักฐานสาธารณะว่ามีการขโมยเงินทุน
เหตุการณ์นี้ไม่เกี่ยวข้องกับการละเมิดบล็อกเชน Injective เอง แต่ผู้โจมตีมุ่งเป้าไปที่ส่วนประกอบซอฟต์แวร์ที่เชื่อถือได้ที่นักพัฒนาใช้งาน ซึ่งเป็นวิธีการที่มักเรียกว่าการโจมตีห่วงโซ่อุปทานซอฟต์แวร์
นักพัฒนามักพึ่งพาแพ็กเกจซอฟต์แวร์สำเร็จรูปแทนที่จะเขียนทุกส่วนของแอปพลิเคชันตั้งแต่เริ่มต้น แพ็กเกจเหล่านี้สามารถจัดการงานต่างๆ เช่น การเชื่อมต่อกับบล็อกเชน การสร้างกระเป๋าเงิน และการเซ็นธุรกรรม ในกรณีนี้ โค้ดที่เป็นอันตรายถูกวางไว้ในแพ็กเกจทางการของ Injective และถูกออกแบบให้ทำงานเมื่อแอปพลิเคชันประมวลผลข้อมูลกระเป๋าเงินที่มีความละเอียดอ่อน Socket ระบุว่ามันสามารถจับคีย์ส่วนตัวหรือวลีกู้คืนแบบ mnemonic และพยายามส่งข้อมูลออกไปโดยปลอมแปลงกิจกรรมให้เป็นรายงานทางเทคนิคทั่วไป
คีย์ส่วนตัวให้ผู้ถือควบคุมกระเป๋าเงินคริปโตที่เกี่ยวข้อง วลีกู้คืนสามารถใช้กู้คืนกระเป๋าเงินเดียวกันบนอุปกรณ์อื่นได้ ไม่เหมือนรหัสผ่านบัญชีปกติ ข้อมูลรับรองเหล่านี้ไม่สามารถรีเซ็ตได้ง่ายๆ หลังจากที่ถูกเปิดเผย
การประนีประนอมคีย์ส่วนตัวกลายเป็นหนึ่งในรูปแบบการโจมตีคริปโตที่สร้างความเสียหายมากที่สุด เนื่องจากอาชญากรสามารถเข้าควบคุมกระเป๋าเงินโดยตรงโดยไม่ต้องทำลายบล็อกเชนพื้นฐาน การตรวจสอบความปลอดภัยล่าสุดพบว่าเหตุการณ์เกี่ยวกับคีย์ส่วนตัวคิดเป็นประมาณ 40% ของความสูญเสียที่บันทึกไว้ในชุดข้อมูลที่ตรวจสอบ เหตุการณ์ Injective ยังแสดงให้เห็นว่าทำไมผู้โจมตีจึงมุ่งเป้าไปที่ซอฟต์แวร์และแพลตฟอร์มที่ผู้ใช้ไว้วางใจมากขึ้น ชื่อแพ็กเกจที่คุ้นเคย บัญชีนักพัฒนาที่มีชื่อเสียง หรือแอปพลิเคชันที่ได้รับการยอมรับ สามารถทำให้กิจกรรมที่เป็นอันตรายดูถูกต้องตามกฎหมายและลดโอกาสที่ผู้ใช้จะตั้งคำถาม
Socket ระบุว่าการเปลี่ยนแปลงที่ไม่ได้รับอนุญาตถูกส่งผ่านบัญชี GitHub ของนักพัฒนาที่มีประวัติการมีส่วนร่วมในโครงการ Injective มาอย่างยาวนาน เจ้าของบัญชีตัวจริงตรวจพบกิจกรรมในภายหลังและยกเลิกการเปลี่ยนแปลง รายงานที่มีอยู่ไม่ระบุตัวตนผู้โจมตีหรืออธิบายว่าเข้าถึงบัญชีได้อย่างไร
โค้ดขโมยกระเป๋าเงินอยู่ในเวอร์ชัน 1.20.21 ของแพ็กเกจ Injective SDK หลัก อย่างไรก็ตาม มีแพ็กเกจอื่นๆ อีก 17 รายการภายในคอลเลกชัน npm ของ Injective ที่เผยแพร่พร้อมลิงก์ไปยังเวอร์ชันที่ได้รับผลกระทบเดียวกัน นั่นหมายความว่านักพัฒนาบางรายอาจได้รับซอฟต์แวร์ที่ถูกเจาะระบบโดยอ้อม แอปพลิเคชันอาจติดตั้งแพ็กเกจ Injective หนึ่งรายการ ในขณะที่แพ็กเกจนั้นดึง SDK ที่ได้รับผลกระทบเข้ามาโดยอัตโนมัติในเบื้องหลัง
ดังนั้น เหตุการณ์นี้ไม่ควรอธิบายว่าเป็นแพ็กเกจที่ติดเชื้อแยกกัน 18 รายการ หลักฐานที่มีอยู่แสดงให้เห็นว่า SDK หลักมีฟังก์ชันที่เป็นอันตราย ในขณะที่แพ็กเกจที่เกี่ยวข้อง 17 รายการขึ้นอยู่กับเวอร์ชันนั้นโดยตรงหรือโดยอ้อม Socket ระบุว่าเวอร์ชันที่ได้รับผลกระทบถูกทำเครื่องหมายว่าเลิกใช้งานหลังจากค้นพบการเจาะระบบและเผยแพร่เวอร์ชันที่สะอาดแล้ว อย่างไรก็ตาม ณ เวลาที่ Socket ออกรายงาน เวอร์ชันที่ถูกเจาะระบบยังไม่ถูกลบออกจาก npm อย่างสมบูรณ์ และวัสดุการเผยแพร่ที่เกี่ยวข้องยังคงมีอยู่ผ่าน GitHub
รายงานยังมีความแตกต่างกันเกี่ยวกับวันที่ที่แน่นอนของเหตุการณ์ ไทม์ไลน์ที่เผยแพร่ของ Socket อ้างถึงวันที่ 8 มิถุนายน ในขณะที่รายงานรองบางฉบับระบุว่ากิจกรรมเกิดขึ้นในเดือนกรกฎาคม เนื่องจากเดือนยังไม่ได้รับการยืนยันอย่างเป็นอิสระ วันที่ที่แน่นอนควรอ้างอิงตามแหล่งที่มาแทนที่จะระบุว่าเป็นข้อเท็จจริงที่ไม่มีข้อโต้แย้ง
นักพัฒนาที่ใช้เวอร์ชัน 1.20.21 ไม่ว่าโดยตรงหรือผ่านแพ็กเกจ Injective อื่น ได้รับคำแนะนำให้ถือว่าข้อมูลรับรองกระเป๋าเงินที่ประมวลผลโดยซอฟต์แวร์ที่ได้รับผลกระทบอาจถูกเปิดเผย
การดำเนินการที่แนะนำรวมถึง:
การอัปเดตแพ็กเกจเพียงอย่างเดียวอาจไม่ปกป้องกระเป๋าเงินหากข้อมูลรับรองถูกคัดลอกไปแล้ว เมื่อ pihakอื่นได้รับคีย์ส่วนตัวหรือวลีกู้คืน กระเป๋าเงินเก่าไม่ควรถือว่าปลอดภัยอีกต่อไป ผู้ใช้กระเป๋าเงินต้องตรวจสอบสิทธิ์ที่พวกเขาอนุมัติด้วย ในกรณีแยกต่างหาก ผู้โจมตีขโมย Tether Gold มูลค่าประมาณ $92,000 หลังจากเหยื่อลงนามในคำขอสิทธิ์ที่เป็นอันตราย ซึ่งแสดงให้เห็นว่าอาชญากรไม่จำเป็นต้องได้รับวลีเมล็ดพันธุ์โดยตรงเสมอไปเพื่อเอาสินทรัพย์
แม้ว่ากรณีนั้นจะใช้เทคนิคที่แตกต่างกัน แต่ก็เน้นย้ำปัญหาเดียวกันในวงกว้าง: ความปลอดภัยของคริปโตไม่ได้ขึ้นอยู่กับบล็อกเชนเท่านั้น แต่ยังขึ้นอยู่กับซอฟต์แวร์ การอนุมัติ และบริการรอบๆ กระเป๋าเงิน ปัจจุบันไม่มีหลักฐานว่าบล็อกเชน Injective ถูกแฮ็ก ว่ากระเป๋าเงิน Injective ทุกใบมีความเสี่ยง หรือว่ามีปริมาณคริปโทเคอร์เรนซีที่ถูกขโมยยืนยันแล้ว อันตรายที่ทราบจำกัดเฉพาะแอปพลิเคชันที่ติดตั้งแพ็กเกจที่ถูกเจาะระบบและประมวลผลข้อมูลรับรองกระเป๋าเงินผ่านมัน

