- ผู้โจมตีได้แฮ็กบัญชี npm ของผู้ดูแลหลักของ Axios และปล่อยเวอร์ชัน 1.14.1 และ 0.30.4 โดยมี dependency ปลอมคือ plain-crypto-js ซึ่งจะทำการติดตั้ง RAT ข้ามแพลตฟอร์มในระหว่างการติดตั้ง
- มัลแวร์ติดต่อเซิร์ฟเวอร์ C2 (sfrclak[.]com) และดาวน์โหลดเพย์โหลดเฉพาะสำหรับ Windows, macOS และ Linux โดยทำการสำรวจระบบ รักษาการส่งสัญญาณเป็นระยะ และในบางกรณีก็สร้างความคงอยู่ของระบบ
- การโจมตีครั้งนี้ ซึ่ง Google และนักวิจัยคนอื่นๆ ระบุว่าเป็นฝีมือของกลุ่ม UNC1069 จากเกาหลีเหนือ ได้ใช้ช่องโหว่ประมาณสามชั่วโมงร่วมกับกลยุทธ์การหลอกลวงทางสังคมที่ซับซ้อนเพื่อขโมยข้อมูลประจำตัวของผู้ดูแลระบบ
- องค์กรที่สามารถติดตั้งเวอร์ชันที่ได้รับผลกระทบจะต้องดำเนินการแก้ไข เช่น ค้นหาช่องโหว่ของ RAT เปลี่ยนข้อมูลประจำตัว กำหนดเวอร์ชันที่ปลอดภัยของ Axios และเสริมสร้างความแข็งแกร่งให้กับห่วงโซ่อุปทาน กระบวนการพัฒนาอย่างต่อเนื่อง/การพัฒนาอย่างต่อเนื่อง (CI/CD) และการควบคุมการจัดการการพึ่งพา
ชุมชนนักพัฒนา JavaScript เพิ่งเผชิญกับเหตุการณ์น่าตกใจที่ทำให้ต้องคิดทบทวนถึงความน่าเชื่อถือของไลบรารีที่ใช้ โดยเฉพาะอย่างยิ่งปัญหาช่องโหว่ของไลบรารีAxios ซึ่งเป็นหนึ่งในไลบรารี HTTP ที่ใช้กันอย่างแพร่หลายในระบบนิเวศ ถูกดัดแปลงบน npm เพื่อแพร่กระจายมัลแวร์ประเภท Remote Access Trojan (RAT)ผ่านเวอร์ชันที่ดูเหมือนถูกต้องตามกฎหมาย เหตุการณ์นี้กินเวลาเพียงไม่กี่ชั่วโมง แต่ก็ทำให้เห็นชัดเจนว่าห่วงโซ่อุปทานซอฟต์แวร์นั้นเปราะบางกว่าที่หลายคนคิด
ปัญหาที่ร้ายแรงไม่ได้อยู่ที่ว่าผู้โจมตีสามารถแอบใส่โปรแกรมมัลแวร์เข้าไปในแพ็กเกจที่มียอดดาวน์โหลดหลายสิบหรือหลายร้อยล้านครั้งต่อสัปดาห์เท่านั้นปัญหาที่แท้จริงคือพวกเขาทำโดยการแฮ็กบัญชี npm ของผู้ดูแลหลัก เผยแพร่เวอร์ชัน "อย่างเป็นทางการ" ที่ดูเหมือนปกติและไม่ได้แก้ไขโค้ดต้นฉบับของ Axios แม้แต่บรรทัดเดียวพฤติกรรมที่เป็นอันตรายทั้งหมดซ่อนอยู่ใน dependency ลวงตาที่ออกแบบมาเพื่อการโจมตีโดยเฉพาะ
จุดเริ่มต้นของการที่ Axios ให้ความสำคัญกับ npm
เพื่อให้เข้าใจถึงความร้ายแรงของเหตุการณ์ เราต้องเริ่มต้นจากจุดเริ่มต้นของการโจมตี ผู้โจมตีสามารถควบคุมบัญชี npm ของ “jasonsaayman” ผู้ดูแลหลักของ Axios และเปลี่ยนที่อยู่อีเมลที่เกี่ยวข้องเป็นอีเมลที่ตนเองควบคุม ซึ่งโฮสต์อยู่บน Proton Mail จากนั้นเป็นต้นมา พวกเขาก็มีอิสระในการเผยแพร่เวอร์ชันใหม่ของแพ็กเกจราวกับว่าตนเองเป็นผู้ดูแล
โดยใช้ข้อมูลประจำตัวเหล่านั้นเขาได้อัปโหลด Axios เวอร์ชันที่เป็นอันตรายสองเวอร์ชัน ได้แก่ 1.14.1 และ 0.30.4ซึ่งครอบคลุมทั้งสองสาขาหลักของโครงการ การอัปโหลดเกิดขึ้นห่างกันเพียง 39 นาที และจากการวิเคราะห์ของ StepSecurity พบว่าเป็นการอัปโหลดโดยตรงจาก npm โดยใช้โทเค็นที่มีอายุการใช้งานยาวนานแบบคลาสสิก ซึ่งเป็นการข้ามขั้นตอน CI/CD ปกติที่ใช้ GitHub Actions ไปโดยสิ้นเชิง
สิบแปดชั่วโมงก่อนการโจมตีครั้งสุดท้ายผู้โจมตีได้เผยแพร่เวอร์ชัน "สะอาด" ที่เกี่ยวข้องกับส่วนประกอบที่เป็นอันตรายในรีจิสทรี npm แล้วขั้นตอนเบื้องต้นนี้มีจุดประสงค์เพื่อสร้างประวัติและป้องกันไม่ให้การตรวจสอบอัตโนมัติบางอย่างทำงานเมื่อมีแพ็กเกจใหม่ปรากฏขึ้นในช่วงเวลาของการโจมตี
สิ่งที่น่าประหลาดใจคือผู้โจมตีไม่ได้แก้ไขซอร์สโค้ดของ Axios หรือทำการเปลี่ยนแปลงใดๆ ที่เห็นได้ชัดในที่เก็บข้อมูล GitHubอันที่จริง เวอร์ชัน 1.14.1 และ 0.30.4 ไม่มีคอมมิตหรือแท็กที่เกี่ยวข้องบน GitHub มีอยู่เฉพาะใน npm เท่านั้น ความแตกต่างที่สำคัญอยู่ที่ไฟล์การพึ่งพาของแพ็กเกจ ซึ่งเผยแพร่อยู่ในรีจิสทรี
โดยปกติแล้ว Axios จะประกาศการพึ่งพา (dependencies) เพียงสามรายการ ได้แก่ follow-redirects, form-data และ proxy-from-envอย่างไรก็ตาม ในเวอร์ชันที่ถูกบุกรุกนั้น มีการพึ่งพารายการที่สี่ปรากฏขึ้น ซึ่งก่อนหน้านี้ไม่เคยมีอยู่ในโปรเจกต์มาก่อน นั่นคือ plain-crypto-js เวอร์ชัน 4.2.1 ไลบรารีลึกลับนี้ไม่ได้ถูกใช้งานที่ใดในโค้ดเบสของ Axios แต่มีสคริปต์หลังการติดตั้งที่ทำงานโดยอัตโนมัติเมื่อติดตั้งแพ็กเกจด้วย npm, pnpm หรือเครื่องมือที่คล้ายกัน
plain-crypto-js: ไลบรารีลวงตาที่ RAT นำมาใช้งาน
หัวใจสำคัญของการโจมตีอยู่ที่การพึ่งพาเพิ่มเติมนั้นplain-crypto-js ถูกเผยแพร่บน npm โดยผู้ใช้ชื่อ “nrwise” ซึ่งใช้อีเมล Proton Mail เช่นกัน และจุดประสงค์เดียวของมันคือการเรียกใช้สคริปต์หลังการติดตั้งที่เข้ารหัสไว้ใน Node.js (setup.js)สคริปต์นั้นทำหน้าที่เป็นตัวปล่อย (dropper) กล่าวคือ เป็นตัวติดตั้งเริ่มต้นสำหรับขั้นตอนที่สองของมัลแวร์
เมื่อติดตั้ง Axios ในเวอร์ชันที่มีมัลแวร์แฝงอยู่ กระบวนการหลังการติดตั้งของ npm จะเรียกใช้โค้ด plain-crypto-js โดยอัตโนมัติโดยไม่ต้องมีการดำเนินการพิเศษใดๆ จากนักพัฒนา ตัวดรอปเปอร์จะเชื่อมต่อกับเซิร์ฟเวอร์ควบคุม และสั่งการ (C2) ที่ทำงานอยู่ในโดเมน sfrclakcom ซึ่งกำลังรับฟังอยู่ที่พอร์ต 8000 และดาวน์โหลดเพย์โหลดที่เฉพาะเจาะจงกับระบบปฏิบัติการของเครื่องที่ได้รับผลกระทบ พฤติกรรมนี้สามารถระบุได้จากการวิเคราะห์การรับส่งข้อมูลเครือข่าย
นักวิจัยจาก StepSecurity และทีมวิเคราะห์อื่นๆ อธิบายถึงพฤติกรรมที่ระมัดระวังเป็นอย่างมากหลังจากเรียกใช้เพย์โหลดที่เป็นอันตรายแล้ว ตัวดรอปเปอร์จะลบร่องรอยของตัวเองออก: มันลบสคริปต์ postinstall แทนที่ไฟล์ package.json ด้วยเวอร์ชัน "สะอาด" และทิ้งไฟล์ node_modules ไว้ซึ่งดูเหมือนจะไม่มีอันตรายในตอนแรกด้วยวิธีนี้ การตรวจสอบด้วยตนเองในภายหลังจึงไม่พบโค้ดที่เป็นอันตรายโดยตรงภายใน Axios
ในการระบุการดัดแปลงนั้นเบาะแสที่เชื่อถือได้เพียงอย่างเดียวคือไฟล์ล็อก (package-lock.json, pnpm-lock.yaml, yarn.lock)และการมีอยู่ของเวอร์ชันเฉพาะ ได้แก่ axios 1.14.1 หรือ 0.30.4 และ plain-crypto-js 4.2.1 นอกเหนือจากเวอร์ชันสองเวอร์ชันของแพ็กเกจนั้นที่มีหมายเลขกลาง (4.2.0, 4.2.2) ที่เชื่อมโยงในการวิเคราะห์บางส่วน ในส่วนของ Socket นั้น ตรวจพบในภายหลังว่ามัลแวร์ตัวเดียวกันนี้ถูกเผยแพร่ผ่านแพ็กเกจ @shadanai/openclaw (เวอร์ชันต่างๆ 2026.3.xx) และ @qqbrowser/openclaw-qbot (0.0.130) และเทคนิคด้านความปลอดภัยเช่น honeypotsก็สามารถช่วยระบุแคมเปญที่คล้ายกันได้เช่นกัน
RAT ข้ามแพลตฟอร์ม: Windows, macOS และ Linux คือจุดสนใจหลัก
เมื่อรันสคริปต์ setup.js แล้ว มันจะทำหน้าที่เป็นตัวประสานงานที่สามารถตรวจจับระบบปฏิบัติการและติดตามเส้นทางการโจมตีเฉพาะแพลตฟอร์มได้แคมเปญนี้มีการเตรียมการไว้ล่วงหน้าอย่างชัดเจน: ตามข้อมูลของ StepSecurity ผู้โจมตีได้เตรียมเพย์โหลดแยกกันสามชุด ชุดละหนึ่งระบบ
บนระบบ macOS กระบวนการหลังการติดตั้งจะเรียกใช้ AppleScript ที่ดาวน์โหลดไฟล์ไบนารีที่มีมัลแวร์จากเซิร์ฟเวอร์ sfrclakcom:8000ไฟล์ไบนารีนี้จะถูกบันทึกไว้ในพาธ /Library/Caches/com.apple.act.mond สิทธิ์การเข้าถึงจะถูกปรับเพื่อให้สามารถเรียกใช้งานได้ และสุดท้ายจะถูกเรียกใช้งานในพื้นหลังโดยใช้ /bin/zsh เมื่อ RAT ทำงานแล้ว AppleScript จะถูกลบออกเพื่อทำให้การวิเคราะห์ทางนิติวิทยาศาสตร์ซับซ้อนยิ่งขึ้น
บนเครื่อง Windows มัลแวร์จะค้นหาไฟล์ไบนารี PowerShell ของระบบ คัดลอกไปยัง %PROGRAMDATA%\wt.exe เพื่อปลอมแปลงให้ดูเหมือนเทอร์มินัลของ Windows และสร้างสคริปต์ VBScript ชั่วคราว สคริปต์ VBScript นี้จะติดต่อเซิร์ฟเวอร์ C2 เพื่อดาวน์โหลดสคริปต์ RAT PowerShell เพิ่มเติม เรียกใช้งาน และลบไฟล์ที่ดาวน์โหลดมา นอกจากนี้ เวอร์ชัน Windows ยังสร้างไฟล์ %PROGRAMDATA%\system.bat ที่มีรูทีนการดาวน์โหลดซึ่งช่วยให้มัลแวร์สามารถเรียกตัวเองกลับมาได้ทุกครั้งที่เข้าสู่ระบบ และเพิ่มคีย์การเรียกใช้งานลงในรีจิสทรีของ Windows เพื่อให้มั่นใจได้ว่ามัลแวร์จะคงอยู่ต่อไป
บนระบบ Linux และระบบที่คล้าย Unix อื่นๆ นอกเหนือจาก macOS ตัวดรอปเปอร์ใช้ execSync ของ Node.js เพื่อเรียกใช้คำสั่งเชลล์ที่ดาวน์โหลดสคริปต์ Python จาก sfrclakcom บันทึกไว้ที่ /tmp/ld.py และเรียกใช้ด้วย nohup เพื่อให้ทำงานอยู่เบื้องหลังต่างจาก Windows เวอร์ชันนี้ไม่มีกลไกการคงอยู่ของข้อมูลที่แข็งแกร่ง ซึ่งบ่งชี้ถึงแนวทางที่เน้นการดึงข้อมูลอย่างรวดเร็ว หรือการใช้งานกลไกการคงอยู่ของข้อมูลเป็นครั้งคราวผ่านคำสั่งถัดไป
SafeDep และ Elastic Security Labs ได้วิเคราะห์เพย์โหลดระดับที่สองและสรุปว่าRAT สำหรับ macOS (ไบนารี C++ Mach-O) และ Linux (สคริปต์ Python) มีชุดคำสั่ง โปรโตคอล C2 รูปแบบข้อความ และพฤติกรรมการทำงานที่เหมือนกันการวิเคราะห์ประเภทนี้โดยทั่วไปอาศัยบริการสแกนเช่นVirusTotalซึ่งช่วยให้สามารถเชื่อมโยงตัวอย่างและ IOC ได้
ในทุกกรณีโฮสต์ที่ถูกบุกรุกแต่ละเครื่องจะทำการสำรวจระบบทันที ได้แก่ ไดเร็กทอรีผู้ใช้ รูทไดรฟ์ กระบวนการทำงาน และข้อมูลเมตาอื่นๆข้อมูลเหล่านี้จะถูกส่งไปยังเซิร์ฟเวอร์ควบคุมและสั่งการ และเอเจนต์จะคงอยู่ในลูปส่งสัญญาณประมาณ 60 วินาที เพื่อรอคำสั่งใหม่ รวมถึงการเรียกใช้สคริปต์เพิ่มเติมหรือการแทรกไบนารีเข้าไปในหน่วยความจำ
ช่วงเวลาการเผยแพร่ วัตถุประสงค์ และการระบุแหล่งที่มาว่าเป็นเกาหลีเหนือ
เวอร์ชันที่เป็นอันตรายของ Axios ถูกเผยแพร่บน npm เป็นเวลาประมาณสามชั่วโมง ในช่วงเวลาที่เลือกไว้อย่างระมัดระวังแพ็กเกจที่ถูกบุกรุกถูกเผยแพร่ก่อนเที่ยงคืนของวันอาทิตย์ (ซึ่งเป็นช่วงเวลาที่เพิ่มเวลาในการตอบสนองของผู้ป้องกันให้มากที่สุด) และเหตุการณ์ดังกล่าวถูกควบคุมได้ในเช้าวันจันทร์หลังจากที่บริษัทรักษาความปลอดภัยแจ้งเตือนเจ้าหน้าที่เกี่ยวกับพฤติกรรมที่ผิดปกติ
ในช่วงเวลาอันสั้นนั้นHuntress ตรวจพบระบบอย่างน้อย 135 ระบบที่เชื่อมต่อกับเซิร์ฟเวอร์ของผู้โจมตีเมื่อพิจารณาว่า Axios บันทึกจำนวนการดาวน์โหลดมากกว่า 80-100 ล้านครั้งต่อสัปดาห์ (ตามแหล่งข้อมูลต่างๆ บางช่วงอาจมากกว่า 300 ล้านครั้ง) ตัวเลขดังกล่าวจึงน่าจะเป็นเพียงส่วนน้อยของภูเขาน้ำแข็งเท่านั้น ซึ่งจำกัดอยู่เฉพาะระบบที่บริษัทวิเคราะห์ข้อมูลได้เปิดเผยข้อมูลสู่สาธารณะแล้วเท่านั้น
Google โดยทีมข่าวกรองภัยคุกคามได้ระบุว่าการโจมตีครั้งนี้มาจากกลุ่มผู้ก่อการร้ายต้องสงสัยชาวเกาหลีเหนือที่ใช้ชื่อรหัสว่า UNC1069 Elastic Security Labs ได้เสริมสมมติฐานนี้โดยพบความคล้ายคลึงกันอย่างมากระหว่าง RAT ที่ติดตั้งบน macOS และ WAVESHAPER ซึ่งเป็นแบ็กดอร์ที่เขียนด้วยภาษา C++ ที่ค้นพบโดย Mandiant และเชื่อมโยงกับกลุ่มผู้ก่อการร้ายเดียวกัน
นักวิเคราะห์ของ Google เน้นย้ำว่ากลุ่มที่เชื่อมโยงกับเกาหลีเหนือมีความเชี่ยวชาญในการโจมตีห่วงโซ่อุปทานและการขโมยคริปโตเคอร์เรนซีมานานหลายปีแล้วรูปแบบการโจมตีมีความสม่ำเสมอ คือ การเจาะระบบโครงสร้างพื้นฐานการพัฒนา ไลบรารีที่ใช้กันอย่างแพร่หลาย หรือซอฟต์แวร์ที่น่าเชื่อถือ จากนั้นจึงขยายไปยังเป้าหมายที่จัดการสินทรัพย์มูลค่าสูง กุญแจส่วนตัว หรือข้อมูลประจำตัว
รายงานหลายฉบับยังเน้นย้ำว่าการควบคุมและการออกแบบการโจมตีบ่งชี้ถึงทีมงานที่มีการประสานงานเป็นอย่างดี : การใช้งาน RAT เดียวกัน 3 รูปแบบคู่ขนาน (PowerShell, C++ และ Python), โปรโตคอล C2 ที่สม่ำเสมอ, พฤติกรรมที่เกือบจะเหมือนกันในทุกเวอร์ชัน และกลยุทธ์การทำความสะอาดตัวเองที่ชัดเจนเพื่อหลีกเลี่ยงการทิ้งร่องรอย Elastic เน้นย้ำว่าความสม่ำเสมอนี้ชี้ไปที่นักพัฒนาคนเดียวหรือกลุ่มที่ทำงานจากเอกสารการออกแบบร่วมกัน ไม่ใช่การด้นสด
นอกเหนือจากแง่มุมทางเทคนิคแล้ว จุดที่น่ากังวลที่สุดอย่างหนึ่งของคดีนี้คือ บัญชี npm ของผู้ดูแลระบบหลักถูกแฮ็กผู้จัดการของ Axios เองได้อธิบายในภายหลังว่า เขาได้เปิดใช้งานการตรวจสอบสิทธิ์แบบสองขั้นตอนในบริการเกือบทั้งหมดของเขาแต่สุดท้ายเขาก็ยังให้สิทธิ์การเข้าถึงโดยไม่รู้ตัว
จากผลการวิเคราะห์หลังเกิดเหตุที่ทีมงานได้เผยแพร่ พบว่าผู้โจมตีได้ดำเนินการทางวิศวกรรมสังคมอย่างซับซ้อน โดยใช้เครื่องมือที่ขับเคลื่อนด้วย AI เพื่อสร้างความไว้วางใจพวกเขาแอบอ้างเป็นผู้ก่อตั้งบริษัท คัดลอกเอกลักษณ์ทางภาพ รูปถ่าย และแม้แต่ตราสินค้าของบริษัท พวกเขาสร้างพื้นที่ Slack จริงที่มีโลโก้บริษัท ช่องที่มีโพสต์ที่อ้างว่าซิงค์กับ LinkedIn และแม้แต่โปรไฟล์ปลอมของพนักงานและผู้ดูแลซอฟต์แวร์โอเพนซอร์สคนอื่นๆ
ในสภาพแวดล้อมนั้นพวกเขาได้นัดประชุมผ่าน Microsoft Teams โดยมีกลุ่มผู้เชี่ยวชาญเข้าร่วมอย่างครบถ้วนในระหว่างการประชุม พวกเขาจำลองปัญหาทางเทคนิคและระบุว่าส่วนประกอบหนึ่งของระบบล้าสมัย ช่างซ่อมบำรุงเข้าใจผิดคิดว่าเป็นข้อกำหนดที่ถูกต้องเกี่ยวกับเครื่องมือการประชุมทางวิดีโอ จึงดาวน์โหลดและติดตั้งไฟล์ที่แนะนำ
แท้จริงแล้วไฟล์นั้นคือโทรจันสำหรับเข้าถึงระยะไกล ซึ่งทำให้ผู้โจมตีสามารถเข้าถึงข้อมูลประจำตัวของเหยื่อและควบคุมบัญชี npm ที่ใช้ในการเผยแพร่ Axios ได้ในที่สุดกระบวนการทั้งหมดถูกวางแผนอย่างดีเยี่ยม มีรายละเอียดที่น่าเชื่อถือมากมาย จนเหยื่อบรรยายว่า "มีการประสานงานอย่างสมบูรณ์แบบ เป็นมืออาชีพ และน่าเชื่อถืออย่างยิ่ง"
องค์ประกอบด้านมนุษย์ของเหตุการณ์นี้ทำให้เห็นได้อย่างชัดเจนว่าแม้แต่มาตรการทางเทคนิคอย่างการยืนยันตัวตนสองขั้นตอน (2FA) ก็ยังไม่เพียงพอ เมื่อมีการใช้เทคนิคทางสังคมขั้นสูงร่วมกับการปลอมแปลงภาพ การสร้างภาพปลอมคุณภาพสูง (deepfake) หรือการจำลององค์กรอย่างละเอียดจุดอ่อนที่สุดก็คือ ปฏิสัมพันธ์ระหว่างมนุษย์นั่นเอง
ผลกระทบต่อองค์กรและนักพัฒนาที่ใช้ Axios
ในแง่ปฏิบัติ ปัญหาหลักคือการระบุว่าใครได้รับผลกระทบจริงบ้างองค์กรใดก็ตามที่ติดตั้ง[email protected]หรือ[email protected] ในช่วงเวลาที่เปิดให้ใช้งาน ควรสันนิษฐานว่าเครื่องหรือระบบที่ทำการติดตั้งอาจได้รับ ผลกระทบ
คำแนะนำจากบริษัทต่างๆ เช่น StepSecurity, Aikido, Huntress และ Elastic นั้นชัดเจนในกรณีที่สงสัย จำเป็นต้องใช้วิธีการเชิงรุก ไม่ใช่แค่ "ลบและติดตั้ง node_modules ใหม่ " เท่านั้น แนวทางที่รอบคอบคือการสร้างเครื่องหรือสภาพแวดล้อมที่ได้รับผลกระทบขึ้นใหม่จากอิมเมจที่เชื่อถือได้ และตรวจสอบบันทึก CI/CD อย่างละเอียดเพื่อระบุว่างานหรือไปป์ไลน์ใดอาจเรียกใช้เวอร์ชันที่ถูกบุกรุก
นอกจากนี้สิ่งสำคัญอย่างยิ่งคือต้องหมุนเวียนข้อมูลประจำตัวและรหัสลับทั้งหมดที่ RAT อาจเข้าถึงจากโหนดเหล่านั้นเช่น โทเค็น npm, คีย์ผู้ให้บริการคลาวด์, รหัสลับของไปป์ไลน์, ข้อมูลประจำตัวฐานข้อมูล, คีย์ SSH เป็นต้น การปล่อยให้ข้อมูลประจำตัวเหล่านี้หมุนเวียนอยู่หลังจากการโจมตีดังกล่าวจะเปิดช่องให้มีการเคลื่อนย้ายไปยังส่วนอื่นของระบบได้อย่างเงียบๆ
ในระดับเทคนิคทีมควรตรวจสอบไฟล์ล็อก (package-lock.json, pnpm-lock.yaml, yarn.lock) เพื่อหาการอ้างอิงถึงเวอร์ชันที่ถูกบุกรุกของ Axios และ plain-crypto-jsหากพบองค์ประกอบเหล่านี้ ขั้นตอนต่อไปคือการตรวจสอบระบบที่ได้รับผลกระทบเพื่อหาหลักฐานของ RAT ที่อาจมีอยู่ ได้แก่ /Library/Caches/com.apple.act.mond บน macOS, %PROGRAMDATA%\wt.exe และ %PROGRAMDATA%\system.bat บน Windows หรือ /tmp/ld.py บน Linux
ในขณะเดียวกันขอแนะนำให้กำหนดเวอร์ชันที่ปลอดภัยของ Axios อย่างชัดเจน เช่น 1.14.0 และ 0.30.3 และใช้การแทนที่หรือการแก้ไขเพื่อป้องกันไม่ให้การพึ่งพาแบบส่งต่อถูกแก้ไขไปยังเวอร์ชันที่ไม่ต้องการการบล็อกการรับส่งข้อมูลขาออกไปยังโดเมน sfrclakcom ก็เป็นมาตรการควบคุมที่เหมาะสมเช่นกัน อย่างน้อยในขณะที่กำลังวิเคราะห์ขอบเขตทั้งหมดของการโจมตี
บทเรียนด้านความปลอดภัยสำหรับห่วงโซ่อุปทานซอฟต์แวร์
เหตุการณ์ที่เกิดขึ้นกับ Axios ไม่ใช่เหตุการณ์โดดเดี่ยว แต่เป็นเพียงอีกหนึ่งส่วนในห่วงโซ่การโจมตีห่วงโซ่อุปทาน ซึ่งรวมถึงกรณีต่างๆ เช่น SolarWinds, Kaseya, 3CX, Polyfill.io และช่องโหว่ที่ถูกใช้ประโยชน์ใน Log4j แนวคิดหลักนั้นเหมือนกันเสมอ คือ การโจมตีส่วนประกอบที่ใช้งานกันอย่างแพร่หลายและได้รับความไว้วางใจ เพื่อเพิ่มขอบเขตการเข้าถึงให้มากที่สุดแทนที่จะพยายามโจมตีทีละเครื่อง
หนึ่งในบทเรียนที่ผู้เชี่ยวชาญย้ำเตือนบ่อยที่สุดคือความไว้วางใจไม่สามารถพึ่งพาได้เพียงแค่ความนิยมของไลบรารีหรือชื่อเสียงของผู้ดูแลเท่านั้นหากช่องทางการเผยแพร่ (บัญชี npm, ไปป์ไลน์ CI/CD, โครงสร้างพื้นฐานการสร้าง) ถูกบุกรุก ทุกสิ่งที่เผยแพร่ผ่านช่องทางนั้นก็จะมีความเสี่ยงไปด้วย การตรวจสอบโค้ดด้วยตนเองก็ไม่เพียงพอเช่นกัน หากมัลแวร์ซ่อนตัวอยู่ในส่วนประกอบที่พึ่งพาและลบตัวเองหลังจากทำงานเสร็จ
นอกจากนี้ ยังมีการเน้นย้ำว่า"ความเร็วเริ่มต้น" สำหรับการอัปเดตส่วนประกอบต่างๆ นั้นมีราคาที่ต้องจ่ายในแง่ของช่องโหว่ด้านความปลอดภัยการนำเวอร์ชันล่าสุดมาใช้โดยอัตโนมัติเสมอเป็นเรื่องสะดวกสบายอย่างมาก แต่ก็เปิดช่องให้การอัปเดตที่เป็นอันตรายแพร่กระจายได้ในเวลาเพียงไม่กี่นาที บางองค์กรกำลังพิจารณานโยบายต่างๆ เช่น การกำหนดให้เวอร์ชันใหม่ต้องอยู่ในระบบนิเวศมาเป็นระยะเวลาหนึ่งก่อนจึงจะนำมาใช้ได้ หรือกำหนดให้การเปลี่ยนแปลงแพ็กเกจที่สำคัญต้องผ่านการตรวจสอบด้วยตนเองเพิ่มเติม
ในส่วนของโครงสร้างพื้นฐานการพัฒนาสภาพแวดล้อม CI/CD ต้องได้รับการดูแลเสมือนเป็นสินทรัพย์ที่มีความอ่อนไหวสูง RAT ใดๆ ที่ถูกเรียกใช้ระหว่างการติดตั้งส่วนประกอบต่างๆ เกือบจะแน่นอนว่าจะพยายามเข้าถึงข้อมูลลับของไปป์ไลน์และเข้าถึงสภาพแวดล้อมอื่นๆ การแบ่งส่วนโหนดเหล่านี้ การตรวจสอบอย่างใกล้ชิด และการหมุนเวียนข้อมูลลับเป็นระยะๆ จึงไม่ใช่เพียงแค่คำแนะนำในอุดมคติอีกต่อไป แต่เป็นสิ่งจำเป็น
สุดท้ายการตรวจจับการโจมตีประเภทนี้จำเป็นต้องรวบรวมข้อมูลจากหลายแหล่ง ได้แก่ เวอร์ชันที่ติดตั้ง ไฟล์ล็อก ตัวบ่งชี้การบุกรุกของระบบปฏิบัติการ และข้อมูลการวัดระยะทางเครือข่ายเครื่องมือที่สร้างและจัดการรายการส่วนประกอบซอฟต์แวร์ (SBOM) ช่วยให้ติดตามได้อย่างรวดเร็วว่าโครงการใดใช้แพ็กเกจใด ซึ่งมีความสำคัญอย่างยิ่งเมื่อมีการแจ้งเตือนจำนวนมากเช่นนี้เกิดขึ้น
เหตุการณ์ทั้งหมดนี้กับ Axios แสดงให้เห็นถึงขอบเขตที่ระบบนิเวศของการพึ่งพาอาศัยกัน แม้จะดูสมบูรณ์และมั่นคงเพียงใด ก็ยังคงพึ่งพาความไว้วางใจและการเฝ้าระวังอย่างต่อเนื่องไลบรารีที่ดูเหมือนไม่มีพิษภัย ซึ่งดูแลโดยบุคคลเพียงคนเดียว หากตกเป็นเหยื่อของการโจมตีทางวิศวกรรมสังคมที่ดำเนินการอย่างดี ก็สามารถกลายเป็นช่องทางระดับโลกในการติดตั้ง RAT ข้ามแพลตฟอร์มเพื่อโจมตีบริษัท ฟรีแลนซ์ และองค์กรทุกขนาดได้ภายในเวลาไม่กี่ชั่วโมงการเสริมสร้างการควบคุมเกี่ยวกับบัญชีการเผยแพร่ กระบวนการทำงาน และการพึ่งพาที่สำคัญจึงไม่ใช่เพียงแค่แนวทางปฏิบัติที่ดีที่เลือกได้อีกต่อไป แต่เป็นสิ่งจำเป็นสำหรับการพัฒนาอย่างต่อเนื่องในสภาพแวดล้อมที่ผู้โจมตีมีความอดทน มีไหวพริบ และมีเครื่องมือที่ดีกว่าเดิม

