Sunday, April 5, 2026

Hacked Axios 1.14.1 && 0.30.4 และ ตรวจสอบ version axios ใน nodejs project ใน Docker container

Ref: https://www.blognone.com/node/150163

  • ประเด็นคือ  axios โดยวาง trojan ไว้ ซึ่งมันจะทำงานเมื่อ axios ที่ติด malware ทำงานมันจะติดตั้ง plain-crypto-js เพิ่มเข้าไป ใน projecct และ แล้วไปควานหาข้อมูลที่สำคัญทุกอย่างใน .env แล้วส่งข้อมูลออกไปให้ ผู้ไม่ประสงค์ดี remote access trojan (RAT) นำไปใช้เจาะระบบท่านต่อไป และมันจะถอน lib plain-crypto-js ออกไปแบบเนียนๆ เลย

  • axios ที่โดน version 1.14.1 และ 0.30.4
  • เราจะตรวจสอบใน  container เราอย่างไรล่ะทีนี้

Solved

วิธีแรกรันจาก host แม่ได้เลย

$ docker exec mynode_name_container npm ls axios

วิธ๊ที่สอง เข้าไปใน  container ก่อนแล้วรันคำสั่งและ exit ออกมา

$ docker exec -it mynode_name_container sh

  • แล้วรันคำสั่งตรวจสอบ ใน container ต่อได้โดย

# npm ls axios

/usr/src/app # npm ls axios
nodeslide@1.0.0 /usr/src/app
`-- axios@1.xx.2
  • แบบนี้รอดคับ
  • หรือ yarn โดย

# yarn list --pattern axios

วิธีที่สามลองตรวจสอบดูว่า โปรเจคมี plain-crypto-js ติดตั้งไว้หรือไม่

# npm ls plain-crypto-js

  • ถ้าผลลัพธ์ได้ -- (empty) ก็โชคดีไป

กรณีโดนแล้ว

  • ให้ไป revoke token key ของ บริการที่เราเรียกใช้ใน project ที่มีใน .env ก่อนเลย แล้ว invoke  ใหม่
  • จากนั้น ไปแก้ไข package.json แล้ว แก้ axios version  ไปใช้ตัวใหม่ล่าสุด ที่ไม่ใช่ 1.14.1 และ 0.30.4  แล้วบันทึกไฟล์ให้เรียบร้อย

sudo nano ./package.json

  • ลบ folder ชื่อ node_mudules และ ไฟล์ package.lock.json ออก

sudo rm -rf ./node_modules && sudo rm ./package.lock.json

  • แล้วติดตั้ง lib ใหม่

sudo npm install

Popular Posts