1 คะแนน โดย GN⁺ 2 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • รีโพซิทอรีภายในของ GitHub ราว 3,800 แห่งถูกเจาะ หลังพนักงาน 1 คนติดตั้งส่วนขยาย VS Code อันตราย และขณะนี้ประเมินว่าขอบเขตการรั่วไหลจำกัดอยู่ที่รีโพซิทอรีภายใน
  • GitHub ได้นำส่วนขยายที่ถูกฝังโทรจันออกจาก VS Code Marketplace และแยกอุปกรณ์ปลายทางที่ติดเชื้อ พร้อมเริ่มกระบวนการตอบสนองต่อเหตุการณ์ทันที
  • TeamPCP อ้างว่าเข้าถึงซอร์สโค้ดของ GitHub และโค้ดส่วนตัวในรีโพซิทอรีราว 4,000 แห่ง พร้อมเรียกเงินอย่างน้อย 50,000 ดอลลาร์ สำหรับข้อมูลที่ขโมยมา
  • ส่วนขยาย VS Code เป็นปลั๊กอินที่ติดตั้งผ่านสโตร์ทางการ แต่ที่ผ่านมาเคยพบทั้งส่วนขยายขโมยข้อมูลรับรอง, ตัวขุดเหรียญ, ฟังก์ชันแรนซัมแวร์ และส่วนขยายขโมยคริปโต
  • GitHub ระบุว่ายังไม่พบหลักฐานว่าข้อมูลลูกค้านอกเหนือจากรีโพซิทอรีที่ได้รับผลกระทบถูกละเมิด และแพลตฟอร์มนี้มีนักพัฒนามากกว่า 180 ล้านคน ใช้งาน

การยืนยันเหตุเจาะระบบและการตอบสนองของ GitHub

  • GitHub ยืนยันว่ารีโพซิทอรีภายในราว 3,800 แห่งถูกเจาะ หลังพนักงาน 1 คนติดตั้ง ส่วนขยาย VS Code อันตราย
  • ส่วนขยายที่ถูกฝังโทรจันซึ่งไม่ได้เปิดเผยชื่อถูกนำออกจาก VS Code Marketplace แล้ว และอุปกรณ์ที่ถูกเจาะได้รับมาตรการป้องกัน
  • GitHub ระบุใน โพสต์บน X ว่า “ตรวจพบและสกัดกั้นการเจาะอุปกรณ์ของพนักงานที่เกี่ยวข้องกับส่วนขยาย VS Code ที่ปนเปื้อน” พร้อมแจ้งว่าได้ลบเวอร์ชันส่วนขยายที่เป็นอันตราย, แยก endpoint ที่ติดเชื้อ และเริ่มตอบสนองต่อเหตุการณ์โดยทันที
  • การประเมินล่าสุดระบุว่าขอบเขตของกิจกรรมจำกัดอยู่ที่ การรั่วไหลของรีโพซิทอรีภายใน GitHub และจำนวนราว 3,800 รีโพซิทอรีที่ผู้โจมตีอ้างก็ค่อนข้างสอดคล้องกับผลการสอบสวน
  • ก่อนหน้านี้ GitHub บอกกับ BleepingComputer ว่ากำลังสอบสวน ข้อกล่าวหาเรื่องการเข้าถึงรีโพซิทอรีภายในโดยไม่ได้รับอนุญาต และเสริมว่ายังไม่มีหลักฐานว่าข้อมูลลูกค้าที่เก็บอยู่นอกรีโพซิทอรีที่ได้รับผลกระทบถูกละเมิด

ข้ออ้างของ TeamPCP และความเสี่ยงจากส่วนขยาย VS Code

  • กลุ่มแฮ็กเกอร์ TeamPCP อ้างในฟอรัมอาชญากรรมไซเบอร์ Breached ว่าเข้าถึงซอร์สโค้ดของ GitHub และ “โค้ดส่วนตัวในรีโพซิทอรีราว 4,000 แห่ง” พร้อมเรียกเงินอย่างน้อย 50,000 ดอลลาร์ สำหรับข้อมูลที่ขโมยมา
  • TeamPCP ระบุว่า “นี่ไม่ใช่การเรียกค่าไถ่ และเราไม่ได้สนใจจะกรรโชก GitHub” และบอกว่าจะลบข้อมูลที่ถือครองอยู่หลังขายให้ผู้ซื้อ 1 ราย
  • TeamPCP เคยเชื่อมโยงกับการโจมตีซัพพลายเชนขนาดใหญ่ที่มุ่งเป้าไปยังแพลตฟอร์มโค้ดของนักพัฒนา โดยมีเป้าหมายรวมถึง GitHub, PyPI, NPM, Docker
  • TeamPCP ยังเชื่อมโยงกับ แคมเปญซัพพลายเชน “Mini Shai-Hulud” ที่เพิ่งส่งผลกระทบต่อพนักงาน OpenAI สองคน
  • ส่วนขยาย VS Code คือปลั๊กอินที่ติดตั้งจากสโตร์ทางการ VS Code Marketplace เพื่อเพิ่มความสามารถหรือรวมเครื่องมือเข้ากับตัวแก้ไขโค้ดของ Microsoft
  • ใน VS Code Marketplace เคยมีการตรวจพบส่วนขยายอันตรายที่ขโมยข้อมูลรับรองของนักพัฒนาและข้อมูลอ่อนไหวซ้ำแล้วซ้ำเล่า
  • เมื่อปีที่แล้ว ส่วนขยาย VSCode ที่มียอดติดตั้งรวม 9 ล้านครั้งถูก ถอดออกเพราะความเสี่ยงด้านความปลอดภัย และมีส่วนขยาย 10 รายการที่ปลอมตัวเป็นเครื่องมือพัฒนาถูกต้องตามกฎหมายเพื่อ แพร่ตัวขุดคริปโต XMRig ลงเครื่องผู้ใช้ Windows
  • หลังจากนั้นก็มี ส่วนขยายอันตราย ที่มีฟังก์ชันแรนซัมแวร์พื้นฐานถูกอัปขึ้นบน VS Code Marketplace และผู้ไม่หวังดีชื่อ WhiteCobra ได้ลงทะเบียน ส่วนขยายขโมยคริปโต 24 รายการ
  • ในเดือนมกราคมปีนี้ มีส่วนขยายอันตราย 2 รายการที่โฆษณาว่าเป็นผู้ช่วยเขียนโค้ดด้วย AI และมียอดติดตั้งรวม 1.5 ล้านครั้ง ซึ่ง ขโมยข้อมูลออกไปยังเซิร์ฟเวอร์ในจีน จากระบบของนักพัฒนาที่ติดเชื้อ
  • ปัจจุบันแพลตฟอร์มคลาวด์ของ GitHub ถูกใช้งานโดยองค์กรมากกว่า 4 ล้านแห่ง, 90% ของ Fortune 100, และนักพัฒนามากกว่า 180 ล้านคน ซึ่งมีส่วนร่วมกับรีโพซิทอรีโค้ดมากกว่า 420 ล้านแห่ง

1 ความคิดเห็น

 
GN⁺ 2 시간 전
ความคิดเห็นจาก Hacker News
  • คงจะดีถ้าบริษัทที่สร้าง VSCode บริษัทที่เป็นเจ้าของ NPM และบริษัทที่เป็นเจ้าของ GitHub มานั่งรวมกันแล้วหาทางแก้ปัญหานี้ได้

    • นี่แสดงให้เห็นอย่างสมบูรณ์แบบว่าทำไมการ์ตูน แผนผังองค์กรของ Microsoft ถึงตรงนัก

      https://bonkersworld.net/organizational-charts

    • แน่นอนว่าไม่ใช่ว่า ไม่มีคำเตือนมากพอ เกี่ยวกับความเสี่ยงที่เห็นได้ชัดแบบนี้

      https://github.com/microsoft/vscode/issues/52116

    • Microsoft ยังเป็นบริษัทที่มี NuGet ด้วย

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

    • พูดจริง ๆ เลย ระบบนิเวศแบบนี้ถูกออกแบบมาแทบจะเป็น ถังขยะที่พร้อมถูกเจาะระบบ ตั้งแต่แรก
      ถ้าเป็นระบบนิเวศเปิดเต็มรูปแบบที่การมีส่วนร่วมไม่ได้ถูกตรวจสอบอย่างเข้มงวด ก็ล้วนเสี่ยงกับปัญหาแบบนี้ทั้งหมด
      ถ้าไม่ชอบ ก็อย่าใช้ส่วนขยายของ editor และไปใช้ editor ที่ผ่านการตรวจสอบอย่างจริงจังแทน

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

  • ส่วนขยายของ VS Code น่ากลัวมานานแล้ว และเป็น ช่องทางโจมตี ที่ชัดเจนมาก
    VSCode ชอบเด้งป๊อปอัปบอกให้ติดตั้งส่วนขยายเพราะตรวจพบรูปแบบไฟล์บางอย่างอยู่เรื่อย ๆ แต่ส่วนขยายนั้นครึ่งหนึ่งเป็นของบริษัท อีกครึ่งหนึ่งเป็นของนักพัฒนาทั่วไป
    แม้แต่ส่วนขยายที่มียอดติดตั้งหลายล้านครั้ง บางตัวพอเห็นครั้งแรกก็ดูเหมือนเป็นส่วนขยายทางการของบริษัท
    ตอนนี้พยายามติดตั้งเฉพาะส่วนขยายที่เป็นของบริษัททางการเท่านั้น แต่ถึงอย่างนั้นก็ยังรู้สึกไม่แน่ใจเลยว่ากำลังถูกหลอกหรือเปล่า จึงน่าขมขื่นมาก

    • ปัญหานี้ใหญ่เกินกว่าแค่ VS Code มาก
      ส่วนขยายทุกชนิดและโค้ดที่รันได้ทั้งหมดต่างก็มีปัญหาเดียวกัน
      Disney ก็เคยถูกแฮ็กจากกรณีที่พนักงานติดตั้ง BeamNG mod ที่มีมัลแวร์รวมอยู่ด้วย

      ถ้าบริษัทไหนต้องการรักษาความปลอดภัย ก็ควรตั้งข้อจำกัดเข้มงวดกับการติดตั้งซอฟต์แวร์
      เช่น อนุญาตให้ติดตั้งได้เฉพาะแพ็กเกจ npm และปลั๊กอินจาก repository ที่ผ่านการอนุมัติล่วงหน้าภายในองค์กรเท่านั้น

    • ฉันยังใช้ Sublime ต่อไป ทั้งที่มักโดนคนที่เสพติด VSCode หัวเราะใส่เป็นประจำ
      มันช่างสะใจที่ได้เห็นคนที่เชื่อแบบไม่ตั้งคำถามว่า “VSCode สมบูรณ์แบบ” โดนเข้ากับตัว

    • ฉันเองก็เริ่มระแวงและระวังเรื่องส่วนขยายของ VSCode ในทำนองเดียวกัน
      ยังจำได้ว่าสมัยก่อนแค่ใช้ส่วนขยายที่เชื่อถือได้ไม่กี่ตัวใน IDE อย่าง Brackets, JetBrains, Sublime Text, Bluefish ก็พอสำหรับงานพัฒนาแล้ว
      ตอนนี้ไม่ว่าจะทำอะไร ก็ดูเหมือนจะมีใครสักคนหรือบริษัทสักแห่งทำส่วนขยายเฉพาะงานนั้นไว้แล้ว

      ตอนนี้เลยพยายามทำให้ได้มากที่สุดด้วย ส่วนขยายน้อยที่สุด
      และจะพยายามย้ายโค้ดส่วนที่เหลือของฉันออกจาก GitHub ไปพร้อมกันด้วย

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

    • แถมส่วนขยายพวกนั้นยังอยาก อัปเดตอัตโนมัติ กันทั้งหมดอีกด้วย

  • ที่น่าแปลกใจกว่านั้นคือแฮ็กเกอร์หาช่วง uptime ที่นานพอจะทำเรื่องนี้ได้เจอ

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

      ช่วงหลัง downtime เพิ่มขึ้นจนแย่ลงและกลายเป็นข่าวแล้วด้วย

  • เธรดที่เกี่ยวข้องก่อนหน้านี้:

    GitHub is investigating unauthorized access to their internal repositories - https://news.ycombinator.com/item?id=48201316 - พฤษภาคม 2026, ความคิดเห็น 321 รายการ

  • สงสัยว่าส่วนขยาย nx console ที่เล่นงานฉันเมื่อวานนี้ถูกเจาะด้วยหรือเปล่า
    จังหวะเวลาดูแทบจะตรงกันพอดี
    ดู https://github.com/nrwl/nx-console/security/advisories/GHSA-...

  • อยากให้เรื่องนี้ทำให้ Microsoft เพิ่ม ระบบสิทธิ์ ที่ชัดเจนให้กับส่วนขยายของ VS Code และปรับปรุงความปลอดภัยของ development container ด้วย

    • ที่จริงแล้วหวังมากกว่าว่าเรื่องนี้จะเป็นจุดเปลี่ยนให้ผู้ใช้ ซึ่งในกรณีนี้คือเหล่านักพัฒนาและผู้ดูแลโครงการ ลดการพึ่งพา Microsoft ลง และเลิกเอาเรื่องความปลอดภัยไปจ้าง Microsoft ดูแลโดยเฉพาะ

      ถึงเวลา ออกจาก vscode ได้แล้ว

    • ไม่ได้คาดหวังมากนัก
      issue นี้เปิดค้างมาตั้งแต่ปี 2018 แล้ว: https://github.com/microsoft/vscode/issues/52116

  • VS Code สร้างอยู่บน Electron และ Electron มีหรือเคยมีตัวช่วย sandbox แบบ SUID ซึ่งทำให้การ ทำ sandbox เป็นเรื่องปวดหัว
    เพราะภายใน sandbox ไม่สามารถรัน SUID binary ได้ง่าย ๆ
    การทำ sandbox บน Linux เป็นงานที่ยากมากเป็นพิเศษ

    • เวลาเห็นข้อความทำนองว่า “ถ้าอยากให้ sandbox ทำงาน ต้องให้ SUID Root กับ Chrome” มันให้ความรู้สึกแย่มากจริง ๆ
      การตั้ง SUID Root ให้เว็บเบราว์เซอร์ เคยเป็นมุกล้อผู้ใช้ที่ไม่รู้เรื่องมาก่อน และถือเป็นความผิดพลาดด้านความปลอดภัยที่เลวร้ายที่สุดเท่าที่จะจินตนาการได้
    • ถ้าอย่างนั้นก็ไม่ควรสร้าง IDE บน Electron
    • podman ดูเหมือนจะจัดการ namespace แบบไม่ต้องใช้ root ได้ค่อนข้างดี
      แม้จะมี overhead ด้านประสิทธิภาพอยู่บ้าง แต่ก็ไม่ถึงขั้นโลกแตก
  • ฉันอาจพลาดอะไรที่ชัดเจนเกินไปไปก็ได้ แต่ repository 3,800 แห่ง นี่น่าตกใจจริง ๆ
    ไม่คิดว่าจะเยอะขนาดนั้น

    • อย่างที่คนอื่นบอก นั่นเป็นแค่ส่วนหนึ่งเท่านั้น
      ฉันอยู่บริษัทสายเทคขนาดกลางแห่งหนึ่ง และแค่องค์กร GitHub เดียวก็มี repository มากกว่า 7,500 แห่งแล้ว
      ถ้ามีสององค์กรรวมกันก็เกิน 10,000 ได้ไม่ยาก
      แน่นอนว่าส่วนใหญ่เป็นของเก่า ถูกทิ้งแล้ว เป็น sandbox หรือเป็นเครื่องมือส่วนตัวอะไรทำนองนั้น
      ถ้าเป็น GitHub เอง จะมี repository ภายในเกิน 100,000 แห่ง หรือมากกว่านั้นก็ไม่น่าแปลกใจ

    • ฉันเคยทำงานที่บริษัทแห่งหนึ่งซึ่งมีอย่างน้อย 5,000 repository กระจายอยู่ใน GitHub องค์กรห้าหรือหกแห่ง และยังมีโค้ดใน Perforce มากกว่านั้นอีก

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

      ของเก่าในแผนกฉันถูก archive ไว้อย่างแน่นอน
      พวกเรามี repository 8 แห่ง และสำหรับทีม 3 คนก็รู้สึกว่าแค่นั้นก็เยอะพอแล้ว

    • Uber เคยมี repository 8,000 แห่ง กับวิศวกร 2,000 คน - https://highscalability.com/lessons-learned-from-scaling-ube...

    • ฉันเคยทำงานที่ร้านค้าปลีกอาหารแห่งหนึ่ง
      วันแรกฉันคิดว่า จากภายนอกมันก็ดูเป็นเว็บธรรมดา จะซับซ้อนอะไรนักหนา
      แต่เว็บสั่งซื้อนั้นเป็นผลลัพธ์จาก repository มากกว่า 300 แห่ง ที่ประกอบกันขึ้นมา
      ก็ยังน้อยกว่าสิ่งที่ GitHub สูญเสียไปในเหตุเจาะระบบครั้งนี้
      ยิ่งระบบใหญ่ขึ้นเท่าไร ก็ยิ่งต้องใช้ความพยายามอย่างมากเพื่อรักษาความเรียบง่ายไว้

    • หนึ่งในสิ่งที่ฉันชอบเกี่ยวกับการทำงานที่ GitHub มาโดยตลอด คือหลายส่วนของบริษัท ทำงานอยู่บน GitHub จริง ๆ
      แม้แต่ทีมที่ไม่ใช่สายเทคนิคก็มักมี repository ของตัวเองไว้จัดการเอกสาร/SOP/งานออกแบบ คล้ายกับที่บริษัทสายงานความรู้แบบดั้งเดิมใช้ SharePoint กัน

  • การทำให้เป็นโอเพนซอร์สก็มีได้หลายแบบ

    • ถ้าคุณอยากเป็น whistleblower หรืออยากปล่อยข้อมูลลับ นี่อาจเป็นวิธีที่ดีพอสมควร
      อย่าไปรันสคริปต์แบบโจ่งแจ้งด้วยบัญชีผู้ใช้ของตัวเอง แต่ให้อัปโหลดแบบไม่ระบุตัวตนผ่านปลั๊กอินที่ทั้ง scrape ข้อมูลและมีฟังก์ชันไร้สาระรวมอยู่ด้วย
      เช่น ฟังก์ชันที่บอกว่าตัวเลข floating-point ตัวไหนเป็นเลขคู่
      แน่นอนว่าไม่มีเลขแบบนั้น
      จากนั้นก็รันมันแล้วทำตัวเป็นเหยื่อเสียเอง
  • “เมื่อวานนี้เราได้ตรวจพบและสกัดกั้นการเจาะเครื่องของพนักงานที่เกี่ยวข้องกับ ส่วนขยาย VS Code ที่ปนเปื้อน เราได้ลบเวอร์ชันส่วนขยายที่เป็นอันตราย แยก endpoint ออก และเริ่มกระบวนการตอบสนองต่อเหตุการณ์ทันที”

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