Một chiến dịch tấn công chuỗi cung ứng phần mềm xuyên hệ sinh thái mới đã nhắm mục tiêu vào npm, PyPI và Crates.io để phát tán mã độc đánh cắp thông tin đăng nhập (credential-stealing malware).
Chiến dịch mang mật danh TrapDoor, bao gồm hơn 34 gói độc hại với hơn 384 phiên bản khác nhau. Hoạt động sớm nhất được ghi nhận vào lúc 8:20 tối UTC ngày 22 tháng 5 năm 2026, với các gói mới được tải lên các hệ sinh thái theo từng đợt từ một nhóm tài khoản trong thời gian ngắn.
"TrapDoor nhắm mục tiêu vào các nhà phát triển trong cộng đồng crypto, DeFi, Solana và AI," Socket cho biết. "Các gói độc hại được thiết kế để đánh cắp các bí mật của nhà phát triển (developer secrets), ví tiền điện tử, SSH keys, thông tin đăng nhập đám mây, dữ liệu trình duyệt và các biến môi trường (environment variables)."
"Một số gói npm cũng triển khai một mã độc thực thi (payload) chung là trap-core.js. Payload này thực hiện quét thông tin đăng nhập, xác thực token AWS và GitHub, cố gắng di chuyển ngang (lateral movement) qua SSH và thiết lập sự hiện diện lâu dài (persistence) thông qua các tệp .cursorrules, CLAUDE.md, Git hooks, shell hooks, systemd, cron và SSH."
Đáng chú ý là hoạt động này không có mối liên hệ nào với một chiến dịch cùng tên khác mà Nhóm Nghiên cứu và Tình báo Đe dọa Satori của HUMAN đã chi tiết hóa vào tuần trước, vốn liên quan đến gian lận quảng cáo thông qua việc phát tán 455 ứng dụng Android trên Google Play Store.
Danh sách các gói phần mềm bị xác định
-
Crates.io
- move-analyzer-build
- move-compiler-tools
- move-project-builder
- sui-framework-helpers
- sui-move-build-helper
- sui-sdk-build-utils
-
npm
- async-pipeline-builder
- build-scripts-utils
- chain-key-validator
- crypto-credential-scanner
- defi-env-auditor
- defi-threat-scanner
- deployment-key-auditor
- dev-env-bootstrapper
- eth-wallet-sentinel
- llm-context-compressor
- mnemonic-safety-check
- model-switch-router
- node-setup-helpers
- project-init-tools
- prompt-engineering-toolkit
- solidity-deploy-guard
- token-usage-tracker
- wallet-backup-verifier
- wallet-security-checker
- web3-secrets-detector
- workspace-config-loader
-
PyPI
- cryptowallet-safety
- data-pipeline-check
- defi-risk-scanner
- env-loader-cli
- eth-security-auditor
- git-config-sync
- solidity-build-guard
Chiến dịch này gây chú ý bởi các con đường lây nhiễm đa dạng, sử dụng postinstall hooks, các JavaScript payload từ xa được thực thi khi import gói, và các mã build.rs độc hại để nhắm vào các nhà phát triển Sui và Move. Các gói này giả mạo là các công cụ vô hại, cho phép kẻ tấn công tiếp cận được lượng lớn người dùng.
Các gói npm được phát hiện chạy JavaScript payload ("trap-core.js"), quét các thông tin đăng nhập và bí mật của nhà phát triển, xác thực thông tin bị đánh cắp bằng các lệnh gọi API AWS và GitHub, đồng thời tạo cơ chế duy trì (persistence) trên máy chủ bằng cron jobs, systemd services, Git hooks và di chuyển qua mạng bằng SSH.
Tương tự, các Rust crates tìm kiếm các kho khóa (keystores) cục bộ, mã hóa dữ liệu bằng khóa XOR cứng (hardcoded) và gửi dữ liệu đó đến GitHub Gists. Các gói này cũng đáng chú ý khi sử dụng tập lệnh xây dựng ("build.rs") để kích hoạt việc thực thi mã độc.
Các gói Python liên quan đến TrapDoor được thiết kế để tự động thực thi khi được import. Mục tiêu chính của chúng là tải xuống JavaScript từ một miền GitHub Pages do kẻ tấn công kiểm soát ("ddjidd564.github[.]io") và chạy nó bằng lệnh "node -e."
"Kỹ thuật này cho phép gói Python ủy quyền thực thi cho một JavaScript payload từ xa, giúp kẻ tấn công linh hoạt hơn sau khi phát hành," Socket giải thích. "Bằng cách lưu trữ payload bên ngoài, kẻ tấn công có thể cập nhật hành vi mà không cần phát hành phiên bản PyPI mới."
Một khía cạnh bất thường của chiến dịch là việc chèn các tệp .cursorrules và CLAUDE.md chứa các hướng dẫn ẩn nhằm lừa các trợ lý trí tuệ nhân tạo (AI) chạy "quét bảo mật", dẫn đến việc phát hiện và đánh cắp các bí mật. Điều này được thực hiện bằng cách mở các pull requests (PRs) trên GitHub cho các dự án AI và nhà phát triển phổ biến, bao gồm "browser-use/browser-use", "langchain-ai/langchain" và "langflow-ai/langflow".
Hoạt động PR cho thấy TrapDoor không chỉ dừng lại ở việc đẩy các gói độc hại lên các hệ sinh thái mã nguồn mở. Socket cho biết kẻ tấn công có thể đang thử nghiệm xem liệu các tệp dự án liên quan đến AI có thể được đưa vào thông qua các quy trình đóng góp mã nguồn mở thông thường hay không, từ đó khiến các công cụ lập trình AI phân tích các hướng dẫn ẩn đó và áp dụng chúng.
Những phát hiện này một lần nữa cho thấy các tác nhân đe dọa đang ngày càng nhắm mục tiêu vào quy trình làm việc của nhà phát triển, nhằm đánh cắp nhiều loại thông tin có thể giúp chúng xâm nhập sâu hơn vào môi trường mục tiêu cho các cuộc tấn công tiếp theo.
"TrapDoor cho thấy cách những kẻ tấn công kết hợp kỹ thuật typosquatting truyền thống với các con đường tấn công môi trường phát triển mới hơn," Socket nhận định. "Tên các gói được điều chỉnh để có vẻ liên quan đến phát triển crypto, công cụ AI, thiết lập môi trường cục bộ và quy trình bảo mật. Sau đó, mã độc sử dụng các đường dẫn thực thi đặc thù của hệ sinh thái: build.rs trong Rust, postinstall hooks trong npm và thực thi lúc import trong Python."