Chiến dịch tấn công chuỗi cung ứng TrapDoor trên npm, PyPI và Crates.io đánh cắp khóa ví tiền mã hóa và đầu độc trợ lý lập trình AI bằng các chỉ dẫn Unicode ẩn.

Marcus Webb
Trưởng nghiên cứu DeFi

Một chiến dịch chuỗi cung ứng phối hợp có tên TrapDoor đã làm hỏng 34 gói trên npm, PyPI và Crates.io, nhắm trực tiếp vào các nhà phát triển crypto. Phần mềm độc hại này đánh cắp khóa riêng của ví, thông tin đăng nhập SSH và token AWS, và giới thiệu một vector tấn công mới - đầu độc trợ lý lập trình AI bằng các ký tự Unicode vô hình.
Vào ngày 24 tháng 5 năm 2026, các nhà nghiên cứu bảo mật tại Socket đã tiết lộ một chiến dịch chuỗi cung ứng phối hợp trải rộng qua ba registry gói lớn. Gói độc hại xuất hiện sớm nhất hai ngày trước đó, vào ngày 22 tháng 5. Được gọi là TrapDoor, cuộc tấn công phân phối 34 gói độc hại trên hơn 384 phiên bản, tất cả đều được thiết kế để thu thập thông tin xác thực từ các nhà phát triển crypto, DeFi và AI.
Đây không phải là cuộc tấn công chuỗi cung ứng đầu tiên nhắm vào crypto. Sự cố event-stream năm 2018 đã làm hỏng ví Copay Bitcoin, và việc chiếm quyền ua-parser-js vào năm 2021 đã triển khai cryptominer trên hàng triệu máy. Nhưng TrapDoor biểu thị một bước tiến: đây là chiến dịch xuyên hệ sinh thái lớn đầu tiên vũ khí hóa các trợ lý lập trình AI làm vector tấn công.
Cuộc tấn công sử dụng đường thực thi riêng theo từng hệ sinh thái, kích hoạt trong quy trình làm việc thông thường của nhà phát triển.
Các gói npm sử dụng hook postinstall chạy tự động trong quá trình npm install. Payload chung, một tệp dài 1.149 dòng có tên trap-core.js, quét hệ thống tập tin cục bộ để tìm khóa SSH, thông tin xác thực AWS, token GitHub, dữ liệu trình duyệt và dữ liệu tiện ích mở rộng ví tiền mã hóa từ MetaMask, Phantom và các ví khác. Khác với các trình đánh cắp thông tin thông thường, TrapDoor xác thực các thông tin thu thập được với API trực tiếp trước khi gửi đi, cải thiện tỷ lệ tín hiệu trên nhiễu cho kẻ tấn công.
Các gói PyPI thực thi khi được import, tải một payload JavaScript từ một domain GitHub Pages do kẻ tấn công kiểm soát. Kỹ thuật xuyên ngôn ngữ này cho phép kẻ tấn công cập nhật payload từ xa mà không cần phát hành lại gói Python.
Các gói Crates.io nhúng script build.rs độc hại chạy trong quá trình cargo build, nhắm tới keystore dành cho nhà phát triển Sui và Move một cách cụ thể. Dữ liệu bị đánh cắp được mã hóa bằng khóa XOR mã hóa cứng và gửi ra ngoài tới GitHub Gists.
Nếu bạn đã cài bất kỳ gói nào trong danh sách dưới đây, hãy thay đổi tất cả thông tin xác thực ngay lập tức và chuyển quỹ crypto sang ví mới. Khóa bị xâm phạm có thể bị lợi dụng lâu sau khi gói độc hại bị gỡ.
Các gói ngụy trang như là tiện ích hợp pháp dành cho nhà phát triển. Các tên như solidity-deploy-guard, defi-threat-scanner và wallet-security-checker được thiết kế để thu hút các nhà phát triển crypto quan tâm tới bảo mật.
npm (21 gói): 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 (7 gói): cryptowallet-safety, data-pipeline-check, defi-risk-scanner, env-loader-cli, eth-security-auditor, git-config-sync, solidity-build-guard
Crates.io (6 gói): move-analyzer-build, move-compiler-tools, move-project-builder, sui-framework-helpers, sui-move-build-helper, sui-sdk-build-utils
Điều làm TrapDoor chưa từng có là nó nhắm vào các trợ lý lập trình AI. Phần mềm độc hại cài đặt các tệp .cursorrules và CLAUDE.md vào thư mục dự án - các tệp cấu hình chuẩn mà các công cụ như Claude Code và Cursor đọc làm ngữ cảnh dự án.
Ẩn bên trong những tệp này là các chỉ dẫn được mã hóa bằng các ký tự Unicode không rộng hiển thị (zero-width) (U+200B, U+200C, U+200D, U+FEFF). Những ký tự này vô hình trong các trình soạn thảo văn bản, IDE và thậm chí giao diện xem mã của GitHub. Một nhà phát triển xem file chỉ thấy tài liệu dự án bình thường.
Các chỉ dẫn ẩn này ra lệnh cho trợ lý AI thực hiện một "quét bảo mật bắt buộc" bất cứ khi nào nhà phát triển yêu cầu trợ giúp lập trình. "Quét" này thực chất là một pipeline trích xuất thông tin xác thực, gửi các biến môi trường, khóa SSH và dữ liệu ví tới cơ sở hạ tầng của kẻ tấn công.
Kẻ tấn công cũng đã gửi pull request tới các dự án mã nguồn mở AI lớn gồm browser-use/browser-use, langchain-ai/langchain, langflow-ai/langflow, run-llama/llama_index, FoundationAgents/MetaGPT, và OpenHands/OpenHands. Mỗi PR mang tiêu đề có vẻ vô hại như "docs: add .cursorrules with dev standards" trong khi nhúng dấu hiệu chiến dịch P-2024-001. Nếu được gộp, mọi nhà phát triển mở các kho này với công cụ trợ lý lập trình AI sẽ trở thành mục tiêu.
Đây là một bước ngoặt. Các cuộc tấn công chuỗi cung ứng trước đây nhắm vào pipeline thực thi mã. TrapDoor nhắm vào lớp tương tác giữa con người và AI, một bề mặt tấn công mà các công cụ quét phụ thuộc truyền thống không thể phát hiện.
Ngoài việc đánh cắp thông tin xác thực ban đầu, TrapDoor thiết lập bảy cơ chế duy trì trên các máy bị xâm phạm:
.cursorrules và CLAUDE.md bị đầu độc.bashrc, .zshrc)authorized_keysKhả năng di chuyển ngang đặc biệt đáng lo ngại. Một máy của nhà phát triển bị xâm phạm có thể lan tới cơ sở hạ tầng CI/CD, máy chủ triển khai và máy đồng nghiệp thông qua việc tái sử dụng khóa SSH.
Hệ lụy cho bảo mật giao thức DeFi vượt xa các nhà phát triển cá nhân. Một máy nhà phát triển bị xâm phạm cung cấp quyền truy cập tới khóa deployer, khóa admin multisig, bí mật pipeline CI/CD, khóa validator cầu nối và khóa ký oracle.
Các sự cố gần đây xác thực mô hình đe dọa này. Lỗ hổng Resolv vào tháng 3 năm 2026 (mất $23 triệu) bắt nguồn từ thất bại hạ tầng off-chain, không phải lỗi hợp đồng thông minh. Sự cố Drift vào tháng 4 năm 2026 ($285 triệu) kết hợp tấn công xã hội với quyền truy cập admin hợp lệ. Những cuộc tấn công này bắt đầu ngoài blockchain - chính xác nơi TrapDoor hoạt động.
Các nhà nghiên cứu bảo mật ước tính rằng một cuộc xâm phạm kiểu TrapDoor đạt tới khóa deployer ở một giao thức DeFi cỡ vừa đến lớn có thể gây thiệt hại từ $100 triệu đến $300 triệu.
Socket phát hiện TrapDoor với thời gian phát hiện trung vị là 5 phút 27 giây, nhanh nhất là chỉ 58 giây sau khi công bố. Kẻ tấn công hoạt động từ tài khoản GitHub ddjidd564 và tài khoản npm asdxzxc, sử dụng một domain GitHub Pages để lưu payload.
Các công cụ tiêu chuẩn như npm audit, pip audit, và cargo audit không thể phát hiện vector đầu độc AI. Các "chỉ dẫn" độc hại là ngôn ngữ tự nhiên ẩn trong Unicode, không phải mã thực thi theo nghĩa truyền thống.
Kiểm tra phụ thuộc. Tìm trong package.json, requirements.txt, và Cargo.toml bất kỳ gói nào trong 34 gói liệt kê ở trên.
Thay đổi tất cả thông tin xác thực từ bất kỳ máy nào có khả năng bị ảnh hưởng: khóa SSH, khóa truy cập AWS, token GitHub, và khóa riêng ví. Chuyển quỹ crypto sang ví mới ngay lập tức nếu khóa từng được lưu trên máy.
Kiểm tra cơ chế duy trì. Kiểm tra các tệp .cursorrules và CLAUDE.md xem có ký tự Unicode không rộng hiển thị bằng cat -v hoặc trình chỉnh sửa hex. Kiểm tra Git hooks trong .git/hooks/, các jobs cron, dịch vụ systemd và cấu hình shell để tìm các thay đổi đáng ngờ.
Tắt thực thi script tự động trong CI/CD: dùng npm ci --ignore-scripts và pip install --no-build-isolation.
Triển khai công cụ quét phụ thuộc thực hiện phân tích hành vi, không chỉ đối chiếu CVE. Đưa các tệp .cursorrules và CLAUDE.md vào quản lý phiên bản để mọi thay đổi hiện trong diff. Thêm pre-commit hook kiểm tra ký tự Unicode không rộng hiển thị trong các tệp cấu hình. Sử dụng ví phần cứng cho tất cả khóa triển khai và áp dụng multisig cho chức năng admin.
TrapDoor đánh dấu một bước ngoặt trong bảo mật chuỗi cung ứng. Cuộc tấn công event-stream nhắm vào một gói trong một hệ sinh thái. TrapDoor phối hợp đồng thời trên ba hệ sinh thái, xác thực thông tin trước khi gửi đi, thiết lập nhiều cơ chế duy trì, di chuyển ngang trong mạng, và đầu độc trợ lý lập trình AI - những công cụ đang nhanh chóng trở thành tiêu chuẩn trong quy trình làm việc của mọi nhà phát triển.
Khi các trợ lý AI được tích hợp sâu hơn vào quy trình phát triển, bề mặt tấn công mà chúng tạo ra sẽ ngày càng mở rộng. Mẹo Unicode vô hình hiệu quả vì công cụ AI xử lý toàn bộ nội dung văn bản của các tệp cấu hình. Cho đến khi các framework trợ lý AI thực hiện làm sạch nội dung khỏi ký tự ẩn, vector này vẫn còn mở.
Đối với nhà phát triển crypto, thông điệp rõ ràng: môi trường phát triển của bạn giờ là một bề mặt tấn công chính. Hãy đối xử với bảo mật máy nhà phát triển với cùng mức nghiêm ngặt như kiểm toán hợp đồng thông minh.
Tuyên bố từ chối trách nhiệm: Bài viết này mang tính thông tin và không cấu thành lời khuyên tài chính. Đầu tư vào tiền mã hóa có rủi ro đáng kể. Luôn tự nghiên cứu và tham khảo ý kiến chuyên gia tài chính đủ năng lực trước khi đưa ra quyết định đầu tư.
Phân tích thị trường và thông tin hữu ích. Không spam, bao giờ.