Tags:
Node Thumbnail

ผู้ใช้ 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

No Description

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

Get latest news from Blognone

Comments

By: deaknaew on 10 January 2022 - 00:18 #1236802

เห็นเยอะ ไม่ใช่แค่ GitHub บางที add-on chrome บางตัวเหมือนโดนซื้อไป แล้วคนที่ซื้อก็เอาไปใส่ adware/ malware
ของบางอย่างบางทีเราเขียนเองดีกว่า ไม่ก็ ใช้แต่ของผู้พัฒนาที่เชื่อถือได้ดีกว่าจริง ถ้าจำเป็นจริงๆก็ lock version ไปเลย โปรแกรมไม่พังด้วย

By: big50000
AndroidSUSEUbuntu
on 10 January 2022 - 00:42 #1236803
big50000's picture

คนที่อยากได้ context เชิญทางนี้

เมื่อความเชื่อของบุคคลผลักดันให้เขาทำร้ายผู้อื่น

By: LuvStry
ContributorAndroid
on 10 January 2022 - 08:37 #1236811
LuvStry's picture

ก็เพราะมันเป็น opensource เราเลยตรวจสอบได้

ปกติในการใช้งาน lib 3rd party ,ผมจะทำการ lock version อยู่แล้ว ล๊อคทุกอย่าง docker image

การใช้ เวอร์ชั่นเลขไหล ทำแอพพังมานักต่อนัก


Blognone = 138.1 news/w เยอะมากๆ

By: rattananen
AndroidWindows
on 10 January 2022 - 09:25 #1236820 Reply to:1236811

ที่จริง accept minor version หรือ ^1 , 1.* มันไม่ควรมีปัญหาครับ
แต่บางคนยังไม่เข้าใจวิธีการออกเลข version เท่านั้นเอง เลยออกตามใจฉัน
https://semver.org/

By: panther
ContributorAndroidUbuntuWindows
on 10 January 2022 - 11:42 #1236842 Reply to:1236820
panther's picture

ที่บริษัทผมนี่แหละ Project Owner บางคนไม่เข้าใจเรื่องการตั้งชื่อเวอชั่นเลย
เจอบาง lib มีเวอชั่น 4 หลักก็มี
บาง lib 1.0.3x เงี้ย เจอบั๊กทีจะไปดึงโค๊ดมาเชคนี่ไม่รู้เลยไปเริ่มตรงเวอชั่นไหนเลย

By: whitebigbird
Contributor
on 10 January 2022 - 08:52 #1236816
whitebigbird's picture

เดาว่าทั้ง 2 คนมีอาการที่เกี่ยวข้องกับอาการในกลุ่มโรคซึมเศร้าครับ

By: nessuchan
iPhoneAndroidWindows
on 10 January 2022 - 09:53 #1236825 Reply to:1236816
nessuchan's picture

คือผมว่าถ้าเป็นเรื่องนี้อย่าเดาเลยดีกว่าครับ มันส่งผลเสียต่อคนหมู่มาก

ทำไมต้องไปโทษผู้ป่วยอาการซึมเศร้าด้วยล่ะครับ ผู้ป่วยอาการซึมเศร้าปกติแล้วน่าสงสารมากนะครับ และเค้าไม่อยากทำร้ายใคร บางคนเลือกที่จะจบชีวิตตัวเองลงเพราะโทษตัวเองที่คอยทำให้คนรอบข้างเดือดร้อน

แต่อยู่ดี ๆ ท่านมาบอกว่าคนนี้ทำให้คนอื่นเดือดร้อนเพราะว่าเป็นโรคซึมเศร้าผมว่ามันไม่แฟร์กับคนที่เป็นโรคนี้เลยนะครับ ถ้าคนที่เป็นโรคซึมเศร้าจริง ๆ มาอ่านก็คงจะรู้สึกไม่ดี

แต่ถ้าท่านมีข้อมูลจริง ๆ ว่าเค้าเป็นและเป็นสาเหตุที่เค้าทำให้เกิดเรื่องแบบนี้ ผมก็ขออภัยครับ

By: whitebigbird
Contributor
on 10 January 2022 - 10:32 #1236833 Reply to:1236825
whitebigbird's picture

ขอบคุณครับ วันหลังจะไม่ทำอีกครับ

อันนี้ขออธิบายหน่อย อาการในกลุ่มโรคซึมเศร้าไม่ได้มีแค่อาการซึมเศร้านะครับ พวกไบโพลาร์ก็รวมอยู่ด้วย และอาการในช่วงมาเนียของไบโพลาร์ก็เป็นตัวผลักดันให้คนที่อยู่ในช่วงมาเนียทำอะไรที่ "เกินเบอร์" ไปได้ และหลังจากอาการมาเนียก็มักตามมาด้วยช่วงดีเพรส หรือช่วงดาวน์ที่ผู้มีอาการจะจมดิ่งอย่างหนัก

ผมพยายามบอกว่า เค้าน่าจะทำลงไปเพราะเป็นอาการของโรค ไม่ได้ทำเพราะนิสัยไม่ดี แม้ว่าความผิดยังไงก็ถือเป็นความผิด แต่ถ้าเราเข้าใจว่ามันเกิดจากอาการของโรค เราก็จะไม่แปะป้ายใส่หน้าผากเค้าว่าเลวหรือชั่วครับ

แต่ผมลืมไป ว่าผมไม่มีช้อมูลที่ถูกต้องเกี่ยวกับประวัติการรักษา ผมไม่ควรพูดถึงครับ

ปล. ผมไม่คิดว่าการพูดถึงอาการของโรคจะเป็น stigma แก่คนที่มีอาการเสมอไปนะครับ ผมเชื่อว่าการช่วยให้สังคมเข้าใจธรรมชาติของอาการ ยังดีกว่าให้คนทั่วไปคิดว่าคนๆ นั้นเป็นคนเลวโดนสันดานครับ

By: big50000
AndroidSUSEUbuntu
on 10 January 2022 - 10:23 #1236834 Reply to:1236825
big50000's picture

คนแรกมีหลักฐานประจักษ์ว่ามีอาการทางจิต คนที่สองไม่มีข้อมูล

By: Iamz
AndroidWindows
on 10 January 2022 - 09:43 #1236823

วิธีที่ถูกต้องตามหลักศาสนาเลยคือต้องมี unit test 3rd party library ที่เราใช้ด้วยว่าพฤติกรรมยังเหมือนเดิมตามที่เราใช้งานอยู่มั้ย แต่ตั้งแต่เกิดมาผมยังไม่เคยทำและยังไม่เคยเห็นใครทำจริงจังเลย เหมือนศาสนาบอกว่าอย่าโกหก แต่ไม่โกหกเลยก็อยู่ไม่ได้หรอก

By: crucifier
iPhoneAndroidUbuntu
on 10 January 2022 - 10:13 #1236830 Reply to:1236823

unit test ทำให้งานเพิ่มสองเท่าแต่งบและเวลาเท่าเดิม ยอมตกนรกแล้วค่อยไปต่อรองกับยมบาลครับ

By: Iamz
AndroidWindows
on 10 January 2022 - 10:31 #1236836 Reply to:1236830

ทุกวันนี้ผมก็ต้องต่อสู้ระหว่างจรรยาบรรณของตัวเองกับมุมมองของคนนอกวงการครับ พยายามจะทำความเข้าใจก่อน แต่ถ้าไม่เข้าใจและไม่ยอมจ่ายผมก็ไม่ได้ใจบุญขนาดจะลงแรงให้ฟรี

By: rattananen
AndroidWindows
on 10 January 2022 - 11:18 #1236838 Reply to:1236830

ถ้า project เล็กๆ มี simple business login 4-5 ชุด unit test นี้ไม่เห็นผลครับ
แต่ถ้า complex business login 5+ ชุด ต่อให้เป็น engineer ระดับ Google/Microsoft ก็ manual test ซ้ำๆ ไม่ไหวแน่นอน

ต่อให้มี Tester มันก็ไม่ effective เท่าคนเขียน test เองครับ

และบางทีเขียนไว้เยอะมาก จนตัวเองกลับมาดูก็ไม่รู้ว่าทำอะไรลงไปก็มี unit test ก็มาช่วยตรงนี้ได้

By: whitebigbird
Contributor
on 10 January 2022 - 13:06 #1236850 Reply to:1236838
whitebigbird's picture

simple business login หรือ simple business logic นะครับ อ่านแล้วสนใจ

By: rattananen
AndroidWindows
on 10 January 2022 - 16:52 #1236886 Reply to:1236850

business logic ครับ
พิมพ์ผิดน่ะ

By: crucifier
iPhoneAndroidUbuntu
on 10 January 2022 - 21:21 #1236916 Reply to:1236838

เข้าใจเป็นอย่างดีครับ คีย์สำคัญของประเด็นของผมคือราคาและระยะเวลาที่ต่อรองได้จากลูกค้าครับ

By: api on 10 January 2022 - 09:56 #1236826

อยากพลีชีพแต่ก็อยากลากคนอื่นมาร่วมซวยด้วย

By: mementototem
ContributorJusci's WriterAndroidWindows
on 10 January 2022 - 10:02 #1236827
mementototem's picture

มีคนสนับสนุนเยอะกว่าที่คิด คือ ก็คิดว่าสังคมนี้มันก็ไม่ได้แตกต่างจากสังคมอื่น แต่... ก็เยอะกว่าที่คิดอยู่ดี

สิทธิ์พื้นฐานของมนุษย์คือการทำอะไรก็ได้ "โดยไม่เดือดร้อนคนอื่น" รึเปล่านะ ?


Jusci - Google Plus - Twitter

By: Architec
ContributorWindows PhoneAndroidWindows
on 10 January 2022 - 10:15 #1236831 Reply to:1236827

เสรีแบบไม่สนอะไรเลยเรียก Anarchism ถึงขนาดที่ว่าต่อต้านการใช้เงิน ผมเคยถามเค้าว่าจะให้ผมปลูกสะระแหน่แลกตั๋วเครื่องบินเหรอ เงียบกริบ

By: Iamz
AndroidWindows
on 10 January 2022 - 10:26 #1236835 Reply to:1236827

ตอนแรกเค้าบอกว่าจะไม่ทำต่อแล้ว ถ้าจะให้ทำต่อให้จ้างเค้าเงินเดือนกี่หลักหรือไม่งั้นก็ให้ fork ไปทำต่อเอง ซึ่งผมว่าก็พอสมควรแล้ว บริษัทที่เค้ากล่าวหาก็จะต้องเลิก "ใช้ฟรี" ถ้าคิดว่าผลงานคุ้มค่าเค้าก็จ้างตามที่เรียกร้อง ถ้าไม่คุ้มเค้าก็ต้องเอาพนักงานในบริษัทตัวเองมา fork ไปทำต่อเอง จะทางไหนก็เรียกว่าหยุดเอาไปหาผลประโยชน์ฟรี ๆ แล้วทั้งนั้น

By: i3i4i5
ContributoriPhoneWindows
on 10 January 2022 - 10:52 #1236837
i3i4i5's picture

นึกถึงอันนี้

เป็นคำเตือนที่ดีว่าควรเช็ค Commit ล่าสุดก่อนโคลน