นักพัฒนาทำเอง ผู้ดูแลโมดูล color.js และ faker.js ใส่โค้ดลูปทำแอปจำนวนมากพัง, GitHub แบนแล้ว

by lew
9 January 2022 - 15:05

ผู้ใช้ GitHub ชื่อบัญชี Marak เป็นผู้ดูแลโครงการโอเพนซอร์สจำนวนมากและช่วงสัปดาห์ที่ผ่านมาเขาใส่โค้ดรัน infinite loop เข้าไปยังโครงการ color.js (4,300 stars) และ faker.js (795 stars) ส่งผลให้โมดูลและแอปอื่นๆ ที่ใส่โมดูลเหล่านี้เป็น dependency ไม่สามารถทำงานได้ หน้าจอจะค้างและพิมพ์ขยะออกมาไม่หยุด

Marak ไม่ได้แถลงบอกเหตุผลที่เขาทำแบบนี้ไว้โดยตรงแต่เขาแสดงภาพ Aaron Swartz โปรแกรมเมอร์นักกิจกรรมที่ฆ่าตัวตาย หลังถูกจับเนื่องจากเอาคอมพิวเตอร์ไปเชื่อมต่อเครือข่ายของ MIT เพื่อดาวน์โหลดรายงานวิทยาศาสตร์

โครงการดังๆ จำนวนมากได้รับผลกระทบจากการใส่โค้ด infinite loop ครั้งนี้ เช่น CDK ของ AWS โดยทั่วไปน่าจะแก้ไขได้ไม่ยากเพียงแค่ล็อกเลขเวอร์ชั่นก่อนหน้า แต่การที่โครงการมี dependency กับนักพัฒนาที่ไม่น่าไว้ใจเช่นนี้ก็อาจจะต้อง fork โครงการเพื่อความปลอดภัย ที่ผ่านมาเหตุการณ์โมดูลใน npm ถูกวางยาโค้ดอันตรายจนกระทบโครงการอื่นๆ ที่มี dependency เกิดขึ้นมาแล้วหลายครั้ง แต่ส่วนมากเกิดจากแฮกเกอร์เจาะระบบเพื่อวางโค้ด

Marak ออกมาโพสทวิตเตอร์ระบุว่าบัญชีของเขาถูก GitHub แบนไปแล้ว

ที่มา - BleepingComputer

โค้ด infinite loop ที่ Marak ใส่เข้าโมดูล color.js

Blognone Jobs Premium