Image

Nicer Package Manager

By lew Founder on Tag: NPM, Security, Hacking
NPM

ผู้ดูแลแพ็กเกจ ua-parser-js บน npm ถูกคนร้ายแฮกบัญชีและวางแพ็กเกจเวอร์ชั่น 0.7.29, 0.8.0, และ 1.0.0 เพื่อวางมัลแวร์ในเครื่องของเหยื่อ โดยนักพัฒนาที่โหลดแพ็กเกจนี้ไปควรถือว่าเครื่องของตัวเองถูกแฮก และรีเซ็ตรหัสผ่านหรือกุญแจที่เกี่ยวข้องทั้งหมดทันที

ตอนนี้ผลกระทบของมัลแวร์ที่แน่ชัดคือการขโมยรหัสผ่านในเครื่อง, ขโมย cookie ในเบราว์เซอร์, และขุดเงินคริปโตสกุล Monero

By lew Founder on Tag: NPM, GitHub, Security
NPM

หลังจาก Alex Birsan รายงานถึงการโจมตีด้วยการตั้งชื่อแพ็กเกจซ้ำกับแพ็กเกจภายในของบริษัทต่างๆ ทาง GitHub ก็ออกมาเรียกร้องให้นักพัฒนาที่ใช้งานแพ็กเกจภายในว่าควรใช้ scoped package ที่เป็นฟีเจอร์ของ npm

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

By lew Founder on Tag: Security, NPM, Python, Ruby, JavaScript
Security

Alex Birsan รายงานถึงการโจมตีองค์กรขนาดใหญ่จำนวนมากด้วยการสร้างแพ็กเกจไลบรารีเลียนแบบชื่อไลบรารีในองค์กรแล้วไปวางตามบริการดาวน์โหลดไลบรารีไม่ว่าจะเป็น RubyGems, npm, หรือ PyPI

องค์กรขนาดใหญ่จำนวนมากมักมีไลบรารีเฉพาะทางของตัวเองใช้งานภายในเป็นเรื่องปกติ และหลายครั้งชื่อไลบรารีเหล่านี้ก็หลุดออกมาสู่โลกภายนอก เช่น Paypal เคยทำไฟล์ package.json ที่ใช้ภายในหลุดออกมาอยู่บน GitHub ทำให้รู้ว่าบริษัทมีการใช้งานไลบรารีภายในเช่น pplogger, auth-paypal, wurfl-paypal, analytics-paypal เป็นต้น หรือแม้แต่แอปเปิลก็เคยทำรายชื่อแพ็กเกจเหล่านี้หลุดออกมาเช่นกัน

By lew Founder on Tag: NPM, Open Source, Development
NPM

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

GitHub เพิ่งเข้าซื้อ npm เมื่อเดือนมีนาคมที่ผ่านมา ทำให้ตอนนี้เจ้าของ npm กลายเป็นไมโครซอฟท์

ที่มา - npm status

By lew Founder on Tag: JavaScript, NPM
JavaScript

โมดูล is-promise เป็นโมดูลง่ายๆ บน npm ที่ใช้ตรวจสอบว่าออปเจกต์ใดเป็น Promise บ้าง โดยตัวโมดูลเองมีความยาวเพียง 5 บรรทัดเท่านั้น (โค้ดอยู่ในภาพ) แต่การอัพเดตครั้งล่าสุดในเวอร์ชั่น 2.2.0 กลับทำให้โมดูลจำนวนมากไม่ทำงาน

ความผิดพลาดเกิดจากความพยายามซัพพอร์ต ES module แต่คอนฟิกที่ใส่มากลับไม่สมบูรณ์ ทำให้คำสั่งสำคัญๆ เช่น create-react-app หรือ firebase-tools ติดตั้งใหม่ไม่ได้

By lew Founder on Tag: GitHub, NPM, Open Source, Acquisition
GitHub

GitHub ประกาศว่าลงนามข้อตกลงเข้าซื้อกับ npm เรียบร้อยแล้ว โดยสัญญาว่าบริการ npm จะฟรีตลอดไป แต่จะมีการปรับปรุง 3 ด้านได้แก่

  1. โครงสร้างพื้นฐาน ให้เพียงพอต่อการเติบโตของชุมชนผู้ใช้งาน ให้ทำงานได้เร็ว, เสถียร, และรองรับการเติบโตได้
  2. พัฒนาประสบการณ์การใช้งาน โดยเริ่มจากคำสั่ง npm เวอร์ชั่น 7 ที่จะโอเพนซอร์สต่อไป แต่จะมีฟีเจอร์ เช่น Workspaces และรองรับการยืนยันตัวตนหลายขั้นตอน
  3. ทำงานร่วมกับชุมชน โดยรับฟังความเห็นนักพัฒนาว่าจะต้องการให้ปรับปรุงอะไรบ้าง

นอกจากทั้งสามด้านแล้ว GitHub ยังระบุว่าการรวม npm เข้ามาจะทำให้โครงสร้างความมั่นคงปลอดภัยของโลกซอฟต์แวร์โอเพนซอร์สดีขึ้นจากการที่สามารถตรวจสอบได้ว่าแพ็กเกจเวอร์ชั่นใดมาจากโค้ดส่วนใด และยังใช้ความสามารถของ GitHub Security Lab ในการตรวจสอบความปลอดภัยได้

By lew Founder on Tag: NPM, Open Source
NPM

เมื่อกลางเดือนสิงหาคมที่ผ่านมา Feross Aboukhadijeh ผู้ดูแลแพ็กเกจ standard ใน npm ประกาศทดลองโมเดลรายได้ใหม่ ด้วยการสร้างแพ็กเกจ funding ที่จะแสดงโฆษณาบนเทอร์มินัลของผู้ที่ติดตั้งแพ็กเกจ เป็นรายได้เสริมอีกทางหนึ่งของนักพัฒนา

ผู้ใช้แพ็กเกจ standard แสดงความไม่พอใจเป็นวงกว้างหลังจากพบแบนเนอร์ข้อความเมื่อติดตั้งโมดูลบนในแอป โดยกระบวนการแสดงโฆษณาคือการดึงแพ็กเกจ funding เข้าเป็น dependency ของ standard และแบนเนอร์จะแสดงบนเทอร์มินัลในช่วง post install

By lew Founder on Tag: NPM, Security
NPM

npm แจ้งเตือนว่าแพ็กเกจ bb-builder มีโค้ดมุ่งร้ายที่มุ่งเป้าเหยื่อที่รันวินโดวส์ โดยพยายามอัพโหลดข้อมูลกลับไปยังเซิร์ฟเวอร์ของคนร้าย

ประกาศแจ้งว่าคอมพิวเตอร์ที่ติดตั้งแพ็กเกจนี้แล้วควรถือว่าถูกแฮกไปแล้ว และยกเลิกค่าความลับและกุญแจต่างๆ ที่อยู่บนเครื่องโดยเร็ว แม้แต่การลบแพ็กเกจไปแล้วก็ไม่รับประกันว่าคนร้ายติดตั้งโค้ดมุ่งร้ายอื่นลงบนเครื่องไปแล้วหรือไม่ โดยตอนนี้ bb-builder มีสถานะเป็น security holding ที่ทีมงาน npm ถือไว้เองไม่ให้ใครมาสร้างแพ็กเกจชื่อนี้

By mk Founder on Tag: GitHub, Development, NPM
GitHub

GitHub เปิดตัวบริการใหม่ GitHub Package Registry ที่ช่วยให้เราแปลงซอร์สโค้ดของซอฟต์แวร์บน GitHub ไปเป็นแพ็กเกจซอฟต์แวร์สำหรับแจกจ่าย (ทั้งภายในองค์กรหรือสาธารณะ) โดยโฮสต์อยู่บนเซิร์ฟเวอร์และ CDN ของ GitHub ด้วยเลยเสร็จสรรพ

By lew Founder on Tag: NPM, Security
NPM

แพ็กเกจ event-stream ใน npm ย้ายเจ้าของจากผู้ดูแลเดิมมาสู่ผู้ใช้ GitHub ที่ชื่อว่า right9ctrl และออกเวอร์ชั่นใหม่เมื่อไม่กี่วันที่ผ่านมา และพบว่าโค้ดที่เพิ่มเข้ามามีโค้ดมุ่งร้าย น่าจะใช้ขโมยเงินคริปโต

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

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

By lew Founder on Tag: NPM, JavaScript, Bug
NPM

ผู้ใช้รายงานบั๊กใน npm 5.7.0 หากรันด้วยสิทธิ์ root อาจจะทำให้ระบบไฟล์เสียหายถึงขั้นต้องติดตั้งระบบปฎิบัติการใหม่

บั๊กนี้เกิดจากแพตช์ที่เปลี่ยนแพ็กเกจจาก mkdirp เป็น correct-mkdir แต่เกิดผลข้างเคียงทำให้ความเป็นเจ้าของโฟลเดอร์เปลี่ยนไป กระทบโฟลเดอร์สำคัญๆ เช่น /etc /usr /boot

ปัญหานี้ไม่ได้กระทบลินุกซ์ทุกรุ่น และวินโดวส์ก็ไม่ได้รับผลกระทบ แต่มีผู้ใช้ FreeBSD รายงานว่าได้รับผลกระทบเช่นกัน อย่างไรก็ตามตอนนี้ npm 5.7.1 ออกมาแล้วก็ควรหันไปใช้รุ่นใหม่ก่อน

By lew Founder on Tag: NPM, Security
NPM

npm ออกประกาศเตือนผู้ใช้ หลังได้รับแจ้งว่าแพ็กเกจ crossenv ที่ตั้งชื่อคล้ายกับแพ็กเกจ cross-env มีพฤติกรรมอันตรายด้วยการเก็บค่า environment ของระบบที่ติดตั้งแล้วส่งกลับเซิร์ฟเวอร์

ผู้ใช้ที่สร้างแพ็กเกจนี้ใช้ชื่อว่า hacktask เริ่มเผยแพร่แพ็กเกจ crossenv มาตั้งแต่วันที่ 19 กรกฎาคมที่ผ่านมา จนตอนนี้มียอดดาวน์โหลดแล้วกว่า 600 ครั้ง แต่ทาง npm เชื่อว่ามียอดดาวน์โหลดไปติดตั้งจริงๆ ประมาณ 50 ครั้ง นอกจากแพ็กเกจนี้แล้วยังมีแพ็กเกจอื่นๆ แต่ที่มีพฤติกรรมชื่อคล้ายแพ็กเกจอื่นๆ อีกจำนวนหนึ่ง

By boybundit Contributor on Tag: NPM, JavaScript
NPM

npm เป็นระบบจัดการแพ็กเกจ JavaScript ที่ได้รับความนิยมและเติบโตอย่างรวดเร็ว จนในปัจจุบัน npm รวบรวมแพ็กเกจไว้มากถึงราว 400,000 แพ็กเกจ และมียอดดาวน์โหลดกว่า 300 ล้านครั้งต่อวัน แต่ในทางตรงข้าม ระบบค้นหาแพ็กเกจของ npm นั้นจัดว่าแย่ ถ้าใครเคยใช้จะพบว่ามันค้นหาตามที่เราพิมพ์ตรงๆ ทำให้หาอะไรไม่ค่อยเจอถ้าไม่ได้ใช้คำค้นหาที่ตรงเป๊ะกับชื่อหรือคำอธิบายแพ็กเกจ

By lew Founder on Tag: JavaScript, Node.js, Open Source, NPM
JavaScript

Azer Koçulu นักพัฒนาจาวาสคริปต์ที่เขียนโมดูลจำนวนมากลง NPM ประกาศถอดโมดูลทั้งหมดออกส่งผลให้โครงการใหญ่ๆ ที่ใช้งานโมดูลของเขา เช่น Node.js และ Babel มีปัญหาไปด้วย

Subscribe to NPM