Nicer Package Manager

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

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

ที่มา - npm status

Tags:
Topics: 
Node Thumbnail

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

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

แพ็กเกจที่ติดตั้งไปก่อนแล้วยังคงทำงานได้ และคำแนะนำแรกๆ หลังมีปัญหานี้คือให้ย้อนกลับไปใช้เวอร์ชั่น 2.1.0 ส่วนตอนนี้ทาง is-promise ออกเวอร์ชั่น 2.2.1 ที่แก้ปัญหาแล้ว

Tags:
Node Thumbnail

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

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

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

Tags:
Node Thumbnail

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

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

Tags:
Topics: 
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

บริการตัวนี้รองรับแพ็กเกจซอฟต์แวร์ยอดนิยมทั้ง JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet) และ Docker images จุดเด่นของมันคือความครบวงจร ทุกอย่างอยู่บน GitHub หมดแล้ว ไม่ว่าจะเป็นบัญชีผู้ใช้งาน หรือหน้าจออินเทอร์เฟซที่คุ้นเคย แถมยังเชื่อมต่อกับ GitHub Actions ระบบจัดการ workflow CI/CD ที่เพิ่งเปิดตัวเมื่อเร็วๆ นี้

Tags:
Topics: 
Node Thumbnail

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

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

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

Tags:
Node Thumbnail

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

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

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

Tags:
Topics: 
Node Thumbnail

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

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

Tags:
Topics: 
Node Thumbnail

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

Tags:
Node Thumbnail

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

Koçulu เป็นผู้พัฒนาโมดูล Kik แต่ถูกผู้ให้บริการแชต Kik.com ระบุว่าเขากำลังละเมิดเครื่องหมายการค้าและขอให้ถอนโมดูลออก แต่ Koçulu ไม่ยินยอม ทาง Kik.com จึงแจ้งไปทาง NPM และทาง NPM ยอมถอนโมดูลนี้ออกไป ทำให้ Koçulu ไม่พอใจและตัดสินใจถอนโมดูลอื่นๆ ของเขาออกจาก NPM ทั้งหมดกว่า 250 โมดูล หนึ่งในจำนวนนั้นคือ left-pad ที่มีโครงการอื่นๆ ใช้งานอยู่จำนวนมาก มียอดดาวน์โหลดในแต่ละเดือนหลายล้านครั้ง