ฐานข้อมูลภัยคุกคาม มัลแวร์ หนอนไชฮูลุดขนาดเล็ก

หนอนไชฮูลุดขนาดเล็ก

กลุ่มผู้คุกคามที่รู้จักกันในชื่อ TeamPCP มีส่วนเกี่ยวข้องกับแคมเปญโจมตีห่วงโซ่อุปทานที่ซับซ้อน โดยมุ่งเป้าไปที่แพ็กเกจ npm และ PyPI ที่ใช้กันอย่างแพร่หลาย ซึ่งเกี่ยวข้องกับ TanStack, UiPath, Mistral AI, OpenSearch, Guardrails AI และระบบนิเวศอื่นๆ อีกหลายแห่ง ปฏิบัติการนี้ ซึ่งเชื่อมโยงกับแคมเปญมัลแวร์ Mini Shai-Hulud ที่กำลังพัฒนา แสดงให้เห็นถึงการยกระดับอย่างมีนัยสำคัญในการละเมิดห่วงโซ่อุปทานซอฟต์แวร์และเทคนิคการบุกรุกโดยใช้ข้อมูลส่วนบุคคล

นักวิจัยพบว่าแพ็กเกจ npm ที่เป็นอันตรายถูกดัดแปลงให้มีส่วนประกอบ JavaScript ที่ซ่อนเร้นชื่อ router_init.js โค้ดส่วนนี้จะตรวจสอบสภาพแวดล้อมที่ติดเชื้อและติดตั้งโปรแกรมขโมยข้อมูลประจำตัวขั้นสูงโดยมุ่งเป้าไปที่ผู้ให้บริการคลาวด์ กระเป๋าเงินคริปโตเคอร์เรนซี เครื่องมือพัฒนา AI แพลตฟอร์มการส่งข้อความ ระบบ CI/CD และสภาพแวดล้อม GitHub Actions ข้อมูลที่ถูกขโมยส่วนใหญ่จะถูกส่งไปยังโดเมน filev2.getsession.org

การใช้โครงสร้างพื้นฐานของ Session Protocol เน้นย้ำถึงความพยายามโดยเจตนาที่จะหลีกเลี่ยงการควบคุมความปลอดภัยขององค์กร เนื่องจากโดเมนนี้เป็นของแพลตฟอร์มการส่งข้อความแบบกระจายศูนย์ที่เน้นความเป็นส่วนตัว จึงมีโอกาสน้อยที่จะถูกบล็อกโดยระบบป้องกันเครือข่ายแบบดั้งเดิม ในฐานะวิธีการขโมยข้อมูลรอง ข้อมูลที่เข้ารหัสจะถูกส่งไปยังที่เก็บข้อมูลที่ผู้โจมตีควบคุมผ่านทาง GitHub GraphQL API โดยใช้โทเค็นการตรวจสอบสิทธิ์ GitHub ที่ถูกขโมยภายใต้ตัวตนผู้เขียน claude@users.noreply.github.com

กลไกการคงอยู่และการขยายขอบเขตการขโมยข้อมูลประจำตัว

มัลแวร์นี้มีกลไกการคงอยู่และการสอดแนมหลายอย่างที่ออกแบบมาเพื่อรักษาการเข้าถึงสภาพแวดล้อมการพัฒนาที่ถูกบุกรุกในระยะยาว มีการสร้างกลไกการคงอยู่ภายใน Claude Code และ Microsoft Visual Studio Code ทำให้มัลแวร์สามารถอยู่รอดได้แม้ระบบจะรีบูต และจะเริ่มต้นทำงานใหม่โดยอัตโนมัติทุกครั้งที่เปิด IDE เหล่านั้น

นอกจากนี้ ยังมีการใช้งานบริการ gh-token-monitor เพื่อตรวจสอบและดึงโทเค็น GitHub ออกมาอย่างต่อเนื่อง และยังมีการแทรกเวิร์กโฟลว์ GitHub Actions ที่เป็นอันตรายสองรายการเข้าไปในที่เก็บข้อมูลที่ถูกบุกรุก เวิร์กโฟลว์เหล่านี้จะแปลงความลับของที่เก็บข้อมูลให้อยู่ในรูปแบบ JSON และอัปโหลดข้อมูลไปยังปลายทางภายนอก api.masscan.cloud

การโจมตี TanStack ครั้งล่าสุดนี้แตกต่างอย่างมากจากการโจมตีห่วงโซ่อุปทานครั้งก่อนๆ แทนที่จะใช้ hook ก่อนการติดตั้ง ผู้โจมตีได้ฝังไฟล์ JavaScript ที่เป็นอันตรายลงในไฟล์ tarball ของแพ็กเกจโดยตรง พร้อมทั้งเพิ่ม dependency ที่เป็นตัวเลือกซึ่งเชื่อมโยงกับแพ็กเกจที่โฮสต์บน GitHub dependency นั้นมี hook ในวงจรชีวิต prepare ที่จะเรียกใช้ payload ผ่านสภาพแวดล้อมรันไทม์ Bun

แพ็กเกจ Mistral AI ที่ติดมัลแวร์ใช้วิธีการโจมตีแบบเก่า โดยแก้ไขไฟล์ package.json ด้วย preinstall hook ที่เรียกใช้ node setup.mjs กระบวนการนี้จะดาวน์โหลด Bun และเรียกใช้มัลแวร์ขโมยข้อมูลประจำตัวแบบเดียวกัน

ช่องโหว่ CVE-2026-45321 และการละเมิดการเผยแพร่ที่เชื่อถือได้

ช่องโหว่ TanStack ได้รับการติดตามอย่างเป็นทางการในชื่อ CVE-2026-45321 และได้รับคะแนน CVSS ระดับวิกฤตที่ 9.6 ผู้ตรวจสอบยืนยันว่ามีแพ็กเกจ 42 รายการและเวอร์ชัน 84 รายการภายในระบบนิเวศของ TanStack ที่ได้รับผลกระทบ

จากการวิเคราะห์พบว่า การโจมตีครั้งนี้มีต้นกำเนิดมาจากการโจมตีแบบลูกโซ่ของ GitHub Actions โดยใช้ประโยชน์จากทริกเกอร์ pull_request_target, การโจมตีแคชของ GitHub Actions และการดึงโทเค็น OIDC จากรันเนอร์ของ GitHub Actions ในระหว่างการทำงาน ผู้โจมตีได้วางเพย์โหลดที่เป็นอันตรายผ่านคอมมิตที่ถูกทิ้งร้างใน GitHub fork ก่อนที่จะฉีดเข้าไปในไฟล์ tarball ของแพ็กเกจ npm จากนั้นผู้โจมตีได้เข้าควบคุมเวิร์กโฟลว์ TanStack/router ที่ถูกต้องเพื่อเผยแพร่แพ็กเกจที่ถูกบุกรุกพร้อมกับการรับรองแหล่งที่มา SLSA ที่ถูกต้อง

การพัฒนาครั้งนี้ถือเป็นการยกระดับครั้งประวัติศาสตร์ของการโจมตีห่วงโซ่อุปทานซอฟต์แวร์ แพ็กเกจที่เป็นอันตรายนั้นมีลายเซ็นรับรองแหล่งที่มา SLSA Build Level 3 ที่ถูกต้อง ทำให้เป็นเวิร์ม npm ตัวแรกที่มีการบันทึกไว้ว่าสามารถเผยแพร่แพ็กเกจที่เป็นอันตรายพร้อมการรับรองการสร้างที่แท้จริงได้ แคมเปญมัลแวร์ดังกล่าวได้ขยายวงกว้างออกไปนอก TanStack และแพร่กระจายไปยังระบบนิเวศที่ดูแลโดย UiPath, DraftLab และนักพัฒนาซอฟต์แวร์รายอื่นๆ

ปฏิบัติการนี้ใช้ประโยชน์จากเวิร์กโฟลว์การเผยแพร่ที่เชื่อถือได้ในทางที่ผิดอย่างร้ายแรง แทนที่จะขโมยข้อมูลประจำตัว npm โดยตรง โค้ดที่ควบคุมโดยผู้โจมตีซึ่งทำงานอยู่ภายในไปป์ไลน์ CI/CD ที่เชื่อถือได้ จะใช้ประโยชน์จากสิทธิ์ OIDC เพื่อสร้างโทเค็นการเผยแพร่ที่มีอายุสั้นในระหว่างกระบวนการสร้าง ซึ่งทำให้แพ็กเกจที่เป็นอันตรายสามารถเผยแพร่ผ่านไปป์ไลน์การเผยแพร่ที่ถูกต้องตามกฎหมายได้ ในขณะที่หลีกเลี่ยงมาตรการป้องกันการตรวจสอบสิทธิ์แบบเดิม

พฤติกรรมการแพร่พันธุ์ด้วยตนเองของหนอนก่อให้เกิดความกังวล

หนึ่งในแง่มุมที่อันตรายที่สุดของแคมเปญ Mini Shai-Hulud คือรูปแบบการแพร่กระจายแบบเวิร์ม มัลแวร์จะค้นหาโทเค็น npm ที่เผยแพร่ได้ซึ่งกำหนดค่าด้วย bypass_2fa=true อย่างต่อเนื่อง ตรวจสอบแพ็กเกจที่ดูแลโดยนักพัฒนาที่ถูกโจมตี และแลกเปลี่ยนโทเค็น GitHub OIDC เป็นโทเค็นการเผยแพร่ต่อแพ็กเกจ กลไกนี้ช่วยให้มัลแวร์แพร่กระจายไปทั่วระบบนิเวศของแพ็กเกจโดยไม่ต้องพึ่งพาเทคนิคการขโมยข้อมูลประจำตัวแบบดั้งเดิม

การโจมตีนี้ยังใช้ประโยชน์จากการตั้งค่าความเชื่อถือระดับ repository ภายในโมเดล trusted publisher ของ OIDC บน GitHub ด้วย เนื่องจากความเชื่อถือถูกมอบให้ในวงกว้างระดับ repository แทนที่จะจำกัดเฉพาะสาขาที่ได้รับการป้องกันและไฟล์เวิร์กโฟลว์เฉพาะ ทำให้การเรียกใช้เวิร์กโฟลว์ที่เป็นอันตรายซึ่งถูกกระตุ้นโดย commit ที่ถูกทิ้งร้าง สามารถร้องขอโทเค็น npm publish ที่ถูกต้องได้

อีกหนึ่งความสามารถที่น่ากังวลคือการใช้งาน 'สวิตช์มรณะ' มัลแวร์จะติดตั้งสคริปต์เชลล์ที่ตรวจสอบปลายทาง api.github.com/user ซ้ำๆ ทุก 60 วินาที เพื่อตรวจสอบว่าโทเค็น npm ที่ผู้โจมตีสร้างขึ้นยังคงใช้งานได้อยู่หรือไม่ โทเค็นเหล่านี้มีคำอธิบายที่คุกคามว่า "IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner"

หากฝ่ายป้องกันเพิกถอนโทเค็นผ่านทางแดชบอร์ด npm มัลแวร์จะเริ่มกระบวนการทำลายล้างโดยการเรียกใช้คำสั่ง rm -rf ~/ ซึ่งจะเปลี่ยนการติดเชื้อให้กลายเป็นมัลแวร์ล้างข้อมูลอย่างมีประสิทธิภาพ พฤติกรรมที่รุนแรงนี้บ่งชี้ถึงวิวัฒนาการที่สำคัญในกลยุทธ์การปฏิบัติงานของ TeamPCP และแสดงให้เห็นถึงความซับซ้อนที่เพิ่มขึ้นในวิธีการคงอยู่แบบบีบบังคับ ดังนั้น ทีมรักษาความปลอดภัยจึงควรแยกและสร้างอิมเมจของระบบที่ติดเชื้อก่อนที่จะเพิกถอนข้อมูลรับรอง npm ที่ถูกบุกรุก

แพ็กเกจที่ได้รับผลกระทบและผลกระทบต่อระบบนิเวศที่ขยายวงกว้าง

แคมเปญนี้ส่งผลกระทบต่อแพ็กเกจมากกว่า 170 รายการทั้งบน npm และ PyPI โดยมียอดดาวน์โหลดรวมกันกว่า 518 ล้านครั้ง นักสืบยังพบว่ามีคลังเก็บโค้ดอย่างน้อย 400 แห่งที่สร้างขึ้นโดยใช้ข้อมูลประจำตัวที่ถูกขโมย ซึ่งทั้งหมดมีวลี 'Shai-Hulud: Here We Go Again' อยู่ด้วย

แพ็กเกจที่ได้รับผลกระทบ ได้แก่:

guardrails-ai@0.10.1 (PyPI)
mistralai@2.4.6 (PyPI)
@opensearch-project/opensearch@3.5.3, 3.6.2, 3.7.0, 3.8.0
@squawk/mcp@0.9.5
@squawk/weather@0.5.10
@squawk/flightplan@0.5.6
@tallyui/connector-medusa@1.0.1, 1.0.2, 1.0.3
@tallyui/connector-vendure@1.0.1, 1.0.2, 1.0.3

มัลแวร์นี้ยังใช้ช่องทางการส่งข้อมูลออกหลายช่องทางที่ซ้ำซ้อน นอกเหนือจากโครงสร้างพื้นฐานของ Session Protocol และจุดส่งข้อมูลลับบน GitHub แล้ว ข้อมูลประจำตัวที่ถูกขโมยยังถูกส่งผ่านโดเมน git-tanstack.com ซึ่งเป็นโดเมนที่มีการสะกดผิดอีกด้วย

มัลแวร์ PyPI นำเสนอตรรกะการทำลายล้างแบบกำหนดขอบเขตทางภูมิศาสตร์

มัลแวร์ที่เขียนด้วยภาษา Python ซึ่งเกี่ยวข้องกับแพ็กเกจ Mistral AI และ Guardrails AI ที่เป็นอันตรายนั้น แตกต่างอย่างมากจากเพย์โหลด JavaScript ที่เผยแพร่ผ่าน npm แพ็กเกจ mistralai PyPI ที่ถูกบุกรุกจะดาวน์โหลดโปรแกรมขโมยข้อมูลประจำตัวจากโฮสต์ระยะไกล 83.142.209.194

นักวิจัยค้นพบว่ามัลแวร์ Python มีตรรกะที่คำนึงถึงประเทศ ซึ่งออกแบบมาเพื่อหลีกเลี่ยงการทำงานในสภาพแวดล้อมที่ใช้ภาษารัสเซีย นอกจากนี้ยังรวมถึงกลไกการทำลายล้างแบบกำหนดขอบเขตทางภูมิศาสตร์ ซึ่งเพิ่มความน่าจะเป็นหนึ่งในหกที่จะเรียกใช้คำสั่ง rm -rf / หากระบบที่ติดมัลแวร์ดูเหมือนจะตั้งอยู่ในอิสราเอลหรืออิหร่าน

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

ภัยคุกคามที่เพิ่มขึ้นของการโจมตีห่วงโซ่อุปทานที่ขับเคลื่อนด้วยข้อมูลส่วนบุคคล

แคมเปญ Mini Shai-Hulud สะท้อนให้เห็นถึงการเปลี่ยนแปลงที่กว้างขึ้นในการโจมตีห่วงโซ่อุปทานสมัยใหม่ แทนที่จะมุ่งเน้นเฉพาะการเจาะระบบแพ็กเกจ ผู้โจมตีหันมากำหนดเป้าหมายที่ข้อมูลประจำตัว CI/CD ที่เชื่อถือได้ กระบวนการทำงานการเผยแพร่ และไปป์ไลน์การทำงานอัตโนมัติบนคลาวด์มากขึ้นเรื่อยๆ

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

ลักษณะสำคัญที่บ่งชี้ถึงการโจมตีห่วงโซ่อุปทานยุคใหม่นี้ ได้แก่:

  • การใช้กลไกการเผยแพร่ที่เชื่อถือได้และการแลกเปลี่ยนโทเค็น OIDC ในทางที่ผิด
  • การเผยแพร่ผ่านเวิร์กโฟลว์ CI/CD และระบบสร้างที่ถูกต้องตามกฎหมาย
  • การใช้การรับรอง SLSA ที่ถูกต้องเพื่อปกปิดแพ็กเกจที่เป็นอันตราย
  • การขโมยและคงไว้ซึ่งข้อมูลประจำตัวแบบหลายช่องทาง
  • กลไกการตอบโต้ทำลายล้างที่ออกแบบมาเพื่อข่มขู่ผู้ปกป้อง

การขยายขอบเขตของแคมเปญไปยังเครื่องมือ AI, ระบบอัตโนมัติในองค์กร, โครงสร้างพื้นฐานการค้นหา, การพัฒนาส่วนหน้า, เครื่องมือที่เกี่ยวข้องกับการบิน และระบบนิเวศ CI/CD แสดงให้เห็นว่าห่วงโซ่อุปทานซอฟต์แวร์มีความเชื่อมโยงกันอย่างลึกซึ้งเพียงใด การตรวจสอบพฤติกรรมระหว่างการติดตั้งแพ็กเกจและการดำเนินการสร้างนั้นมีความสำคัญมากขึ้นเรื่อยๆ ในการตรวจจับภัยคุกคามที่ดูเหมือนถูกต้องตามกฎหมายในตอนแรก

มาแรง

เข้าชมมากที่สุด

กำลังโหลด...