
แพ็กเกจ NPM อย่างเป็นทางการหลายตัวของ SAP ถูกบุกโจมตีในเหตุการณ์ที่เชื่อว่าเป็นการโจมตีซัพพลายเฉน (Supply-chain Attack) ของกลุ่ม TeamPCP เพื่อขโมยข้อมูลรับรองและโทเค็นการรับรองความถูกต้องจากระบบของนักพัฒนา
นักวิจัยด้านความปลอดภัยรายงานว่าการบุกโจมตีส่งผลกระทบต่อ 4 แพ็กเกจ ซึ่งเวอร์ชันที่เกี่ยวข้องถูกเลิกใช้งานบน NPM แล้ว:
- @cap-js/sqlite – v2.2.2
- @cap-js/postgres – v2.2.2
- @cap-js/db-service – v2.10.1
- mbt – v1.2.48
แพ็กเกจเหล่านี้รองรับโมเดลการเขียนโปรแกรมแอปพลิเคชันบนคลาวด์ (CAP) และ Cloud MTA ของ SAP ซึ่งนิยมใช้ในการพัฒนาองค์กร
ตามรายงานล่าสุดจาก Aikido และ Socket แพ็กเกจที่ถูกบุกโจมตีถูกแก้ไขเพื่อรวมสคริปต์ 'preinstall' ที่เป็นอันตราย ซึ่งจะทำงานโดยอัตโนมัติเมื่อติดตั้งแพ็กเกจ npm
สคริปต์นี้จะเรียกใช้โหลเดอร์ชื่อ setup.mjs ที่ดาวน์โหลดรันไทม์ JavaScript ของ Bun จาก GitHub และใช้มันรันเพย์โหลด execution.js ที่ถูก obfuscate อย่างหนัก
เพย์โหลดเป็นโปรแกรมขโมยข้อมูล (Information Stealer) ที่ใช้ขโมยข้อมูลรับรองหลากหลายรูปแบบจากเครื่องนักพัฒนาและสภาพแวดล้อม CI/CD รวมถึง:
- โทเค็นการรับรองของ npm และ GitHub
- SSH keys และข้อมูลประจำตัวนักพัฒนา
- ข้อมูลรับรองคลาวด์ของ AWS, Azure และ Google Cloud
- การกำหนดค่าและข้อมูลลับของ Kubernetes
- ข้อมูลลับและตัวแปรสภาพแวดล้อมของ CI/CD pipeline
มัลแวร์ยังพยายามดึงข้อมูลลับจากหน่วยความจำของ CI runner โดยตรง คล้ายกับวิธีที่ TeamPCP ใช้ในการโจมตีซัพพลายเฉนครั้งก่อนๆ
"บน CI runners เพย์โหลดจะรันสคริปต์ Python ที่ฝังอยู่ ซึ่งอ่าน /proc/<pid>/maps และ /proc/<pid>/mem ของกระบวนการ Runner.Worker เพื่อดึงข้อมูลลับทุกอย่างที่ตรงกับรูปแบบ "key" :{ "value": "...", "isSecret":true} จากหน่วยความจำของ runner โดยข้ามการปิดบังล็อกทั้งหมดของแพลตฟอร์ม CI" Socket อธิบาย
"สแกนเนอร์หน่วยความจำสำหรับข้อมูลลับนี้มีโครงสร้างเหมือนกับที่บันทึกไว้ในเหตุการณ์ Bitwarden และ Checkmarx"
หลังจากรวบรวมข้อมูลแล้ว จะถูกเข้ารหัสและอัปโหลดไปยัง GitHub repositories สาธารณะภายใต้บัญชีของเหยื่อ repositories เหล่านี้มีคำอธิบายว่า "A Mini Shai-Hulud has Appeared" ซึ่งคล้ายกับสตริง "Shai-Hulud: The Third Coming" ที่เห็นในการโจมตีซัพพลายเฉนของ Bitwarden
GitHub repos ที่สร้างขึ้นพร้อมคำอธิบาย "A Mini Shai-Hulud has Appeared"ที่มา: Aikido
มัลแวร์ยังใช้การค้นหา GitHub commits เป็นกลไก dead-drop เพื่อดึงโทเค็นและได้รับการเข้าถึงเพิ่มเติม
"มัลแวร์ค้นหาสตริงนี้ใน GitHub commits และใช้ข้อความ commit ที่ตรงกันเป็น token dead-drop" Aikido อธิบาย
"ข้อความ commit ที่ตรงกับ OhNoWhatsGoingOnWithGitHub:<base64> จะถูกถอดรหัสเป็น GitHub tokens และตรวจสอบสิทธิ์การเข้าถึง repository"
คล้ายกับการโจมตีก่อนหน้า เพย์โหลดที่ปรับใช้ยังรวมโค้ดเพื่อแพร่กระจายตัวเองไปยังแพ็กเกจอื่นๆ
โดยใช้ข้อมูลรับรอง npm หรือ GitHub ที่ขโมยมา มันพยายามแก้ไขแพ็กเกจและ repositories อื่นๆ ที่ได้รับการเข้าถึง และฉีดโค้ดอันตรายเดียวกันเพื่อแพร่กระจายต่อไป
นักวิจัยเชื่อมโยงการโจมตีนี้กับกลุ่มคุกคาม TeamPCP ด้วยความมั่นใจระดับปานกลาง ซึ่งใช้โค้ดและกลยุทธ์คล้ายกันในการโจมตีซัพพลายเฉนครั้งก่อนๆ ต่อ Trivy, Checkmarx และ Bitwarden
ในขณะที่ยังไม่ชัดเจนว่าผู้คุกคามบุกโจมตีกระบวนการเผยแพร่ npm ของ SAP ได้อย่างไร วิศวกรด้านความปลอดภัย Adnan Khan รายงานว่าโทเค็น NPM อาจถูกเปิดเผยผ่าน CircleCI job ที่กำหนดค่าผิดพลาด
BleepingComputer ติดต่อ SAP เพื่อทราบรายละเอียดการบุกโจมตี แต่ยังไม่ได้รับการตอบกลับ ณ เวลาที่เผยแพร่

99% ของช่องโหว่ที่ Mythos พบยังไม่ได้รับการแก้ไข
AI เชื่อมโยงช่องโหว่ zero-day 4 ช่องเป็น exploit เดียวที่ข้าม sandbox ของ renderer และ OS ได้ อีกคลื่นของ exploits ใหม่กำลังจะมาถึง
ที่งาน Autonomous Validation Summit (12 และ 14 พฤษภาคม) ดูว่า validation แบบอัตโนมัติและมีบริบทครบถ้วน ค้นพบสิ่งที่ถูก exploit ได้ พิสูจน์ว่า controls ทำงาน และปิดลูปการแก้ไข
จองที่นั่งของคุณ