Bạn có đang cài một extension VSCode của hacker?

Trong thời đại lập trình viên ngày càng phụ thuộc vào các extension, một mối đe dọa âm thầm nhưng cực kỳ nguy hiểm đã xuất hiện: nhóm hacker WhiteCobra đã lợi dụng các kho extension của Visual Studio Code để phát tán hàng chục plugin giả mạo. Những extension này được thiết kế rất chuyên nghiệp, nhằm đánh cắp ví tiền mã hóa (crypto wallet) và dữ liệu nhạy cảm từ người dùng.
Bạn đâu có biết rằng đằng sau giao diện “vô hại” là một chiến dịch tấn công chuỗi cung ứng tinh vi, nhắm đến cộng đồng Web3, lập trình viên blockchain, và bất kỳ ai cài đặt các công cụ từ VSCode Marketplace hoặc OpenVSX.
Bạn nghĩ mình đang lập trình? WhiteCobra đang lập trình lại ví của bạn.
Một lập trình viên đã chia sẻ trên trang cá nhân về việc toàn bộ số tiền trong ví điện tử của anh ta bị rút sạch sau khi thực hiện cài đặt một Extensions trông rất hợp pháp “contractshark.solidity-lang“.
.png)
Lập trình viên này giải thích rằng phần mở rộng có tất cả các dấu hiệu của một sản phẩm hợp pháp với biểu tượng được thiết kế chuyên nghiệp, mô tả chi tiết và 54.000 lượt tải xuống trên OpenVSX. Cũng vào tháng 07 nhóm tin tặc này đã thực hiện một vụ trộm 500,000 đô la tiền mã hóa với các Entensions tương tự.

Đôi nét về WhiteCobra
WhiteCobra được biết đến như một tổ chức Hacker đứng đằng sau các vụ trộm ví tiền điện tử thông qua chiến dịch phát tán extension giả mạo trên Visual Studio Code và OpenVSX Marketplace. Mục tiêu chính của nhóm này là đánh cắp ví tiền mã hóa (crypto wallets), thông tin đăng nhập, và dữ liệu nhạy cảm từ các lập trình viên, đặc biệt là những người hoạt động trong lĩnh vực Web3 và blockchain.
WhiteCobra không hoạt động theo kiểu "gõ cửa từng máy tính", mà lén lút xâm nhập chuỗi cung ứng phần mềm - cụ thể là lợi dụng lòng tin của lập trình viên vào các extension trên VSCode:
Phát hành các extension giả mạo với tên, mô tả và icon giống hệt extension hợp pháp.
Tích hợp mã độc vào file
extension.js, kết nối ra ngoài để tải payload.Cài malware như Lumma Stealer để đánh cắp dữ liệu trình duyệt, ví tiền mã hóa, thông tin hệ thống...
Có “playbook” riêng: hướng dẫn chi tiết cách phát tán, tối ưu hóa lượt tải, và cả mục tiêu lợi nhuận ($10K đến $500K).
Cách WhiteCobra tấn công
Theo như Playbook nội bộ mà nhóm này hướng dẫn luồng thực hiện thì sẽ có 5 giai đoạn tấn công
Giai đoạn 1: Packaging - Tạo extension độc hại
.vsix.Giai đoạn 2: Deployment - Phát hành trên marketplace.
Giai đoạn 3: Promotion - Marketing để thu hút người dùng.
Giai đoạn 4: Inflation - Tăng lượt tải giả (social proof).
Giai đoạn 5: Exfiltration - Trộm dữ liệu & chuyển tiền ngay lập tức.

Đầu tiên, tin tặc sẽ thực hiện triển khai và tải các Extension lên các marketplace như OpenVSX (Cursor, Windsurf) và VSCode Marketplace. Khi upload, dùng tên extension, description, biểu tượng, chi tiết “thuyết phục” để gây tin cậy từ các lập trình viên.

Mã độc thật được đẩy sang một script phụ: prompt.js. Đây mới là nơi chứa logic thực thi nguy hiểm, được gọi từ extension.js qua hàm ShowPrompt().

Hàm ShowPrompt() sẽ được thực thi và đây cũng là một điểm bắt đầu tải mã độc base64 đã mã hóa từ bên ngoài hoặc nhúng vào bên trong. Để vượt qua các trình kiểm duyệt, tin tặc sẽ sử dụng eval() gián tiếp và làm rối string bằng các ký tự $, &, và reverse() để khó bị phát hiện.

Mã độc sẽ được tải xuống thông một đoạn Script với Domain độc hại:
- g83u.pages.dev


Một file payload sau đó sẽ được tải xuống và thực thi nhằm tải bổ sung Python embed (của Python 3.12.8) nếu chưa có. Bên cạnh đó Payload này sẽ ẩn mình và tự động dọn dẹp sau đó sẽ kết thúc nhanh để không bị nghi ngờ.

Tiếp theo một mã độc cực kỳ nguy hiểm sẽ được tải và thực thi: LummaStealer - phần mềm đánh cắp thông tin (ví crypto, cookie, mật khẩu, extension trình duyệt, app nhắn tin, ứng dụng VPN / VNC…)

Sau khi tiến hành phân tích và đọc log từ Process Monitor (Procmon) các chuyên gia ghi nhận được tiến trình sinh ra từ shellcode đã được thực thi trong bộ nhớ như đã đề cập bên trên.
.png)
.avif)
Từ đoạn log ghi nhận được ý đồ của kẻ tấn công ở giai đoạn này là thu thập thông tin nhạy cảm về tài khoản và kết nối từ hệ thống, bao gồm:
Tài khoản đăng nhập Telegram
Thông tin đăng nhập FTP và dịch vụ chia sẻ tệp
Cấu hình VPN để ẩn danh/phục vụ di chuyển ngang
Token truy cập hệ thống cloud như AWS, Azure
Cuối cùng sau khi đã hoàn tất quá trình thu thập “seed phrases” (cụm từ khôi phục ví), thông tin tài khoản và các dữ liệu nhạy cảm khác, extension thực hiện gửi về máy chủ điều khiển (C2). Kẻ tấn công dùng backdoor ScreenConnect trên port 8041 để duy trì quyền kiểm soát dài hạn.


Kết luận
Chiến dịch WhiteCobra là minh chứng rõ ràng cho một trong những mối đe dọa nguy hiểm nhất hiện nay: tấn công chuỗi cung ứng phần mềm (software supply chain attacks). Bằng cách lợi dụng các nền tảng phân phối extension như VSCode Marketplace hoặc OpenVSX. Nhóm này đã thành công trong việc:
Ngụy trang extension độc hại thành công cụ phát triển hợp pháp
Xâm nhập hệ thống của lập trình viên một cách âm thầm, tinh vi
Đánh cắp tài sản số (crypto) trực tiếp từ môi trường làm việc
Điều đáng lo ngại là các kỹ thuật được sử dụng không hề phức tạp, nhưng lại cực kỳ hiệu quả vì đánh vào sự tin tưởng – yếu tố mà cộng đồng lập trình viên luôn đặt vào các công cụ mã nguồn mở.
Khuyến nghị
Kiểm soát mở rộng (extensions) trong VS Code
Chỉ cài đặt extensions từ nguồn chính thống, ưu tiên trên marketplace của Microsoft, không nên tin tưởng các nguồn không rõ ràng như OpenVSX.
Tắt hoặc giới hạn quyền cài extension cho người dùng không cần thiết, đặc biệt trong môi trường doanh nghiệp.
Sử dụng danh sách cho phép (whitelist) extension cho developer nội bộ.
Đào tạo nâng cao nhận thức người dùng
Cảnh báo nhân viên kỹ thuật và lập trình viên về chiến thuật “Inflation + Promotion” của kẻ tấn công:
Tăng lượt tải giả mạo extension để gây tin tưởng
Quảng cáo trên mạng xã hội với bot
Không nên tải extension chỉ vì thấy nhiều lượt tải nếu chưa được xác minh mã nguồn.
bảo vệ thông tin nhạy cảm
Không lưu trữ seed phrase, token API, SSH key ở dạng plaintext trong thư mục VS Code hoặc user profile.
Sử dụng secret manager (như HashiCorp Vault, AWS Secrets Manager) thay vì
.env,secrets.jsonthủ công.Thiết lập permission hợp lý cho thư mục chứa thông tin nhạy cảm.
IOC
Domain
File Hash
1a728a7b7f68a71474a6a04f92960b18aae45ae5d00ea9a1d88174f8bd4ffa10
89848e8a1c8840a0561fcae2948b5941ed55a53474298007d7272f391b28c1b9
fa078483566de02cb64d970d06aa82470beee4c665cfee6915968cb0adb2c6c4
39459ad404c9f0ad361d82b9f96d60f13a9281d3746ada4ef8675dd80fcb9a7e
e8ce84a6e84d4bb0ee50dcde0a72dab9f2e6a2c2f80eeab4df243d5eaaa57a6f
99b976ff0908b03d277bc96d0010b0f1aef8ae1529b753c645c57b7399760a51
22350ef4cdee6af4cbe7809f98256dbfd882dab08ea51ab14880d5da9ce9c06d
118b10295fea2613f72bc89074db9ab82a57c44ab7f62bddb3a86a4ed87f379f
Extension
OpenVSX:
ChainDevTools.solidity-prokilocode-ai.kilo-codenomic-fdn.hardhat-solidityoxc-vscode.oxcjuan-blanco.soliditykineticsquid.solidity-ethereum-vscETHFoundry.solidityethereumJuanFBlanco.solidity-ai-ethereumEthereum.solidity-ethereumjuan-blanco.solidityNomicFdn.hardhat-solidityjuan-blanco.vscode-soliditynomic-foundation.hardhat-soliditynomic-fdn.solidity-hardhatCrypto-Extensions.solidityCrypto-Extensions.SnowShsoNo
VSCode Marketplace:
JuanFBlanco.awswhhETHFoundry.etherfoundrysEllisonBrett.givingblankiesMarcusLockwood.wgbkVitalikButerin-EthFoundation.blan-coShowSnowcrypto.SnowShoNoCrypto-Extensions.SnowShsoNoRojo.rojo-roblox-vscode






