Cảnh báo: 17 SDK giả Paysafe, Skrill và Neteller trên npm và PyPI đang đánh cắp API key của bạn

TL;DR
Socket - công ty bảo mật ứng dụng - đã phát hiện ít nhất 17 package độc hại trên npm và PyPI giả mạo SDK hợp pháp của Paysafe, Skrill và Neteller. Các package này đánh cắp Paysafe API keys, AWS keys, GitHub tokens, npm tokens cùng với thông tin hostname và username. Điểm đặc biệt nguy hiểm: chúng còn trả về kết quả success giả để developer không nghi ngờ. Nếu bạn đã cài và sử dụng bất kỳ package nào trong danh sách dưới đây, hãy rotate credentials ngay lập tức.
Tấn công supply-chain nhắm vào developer thanh toán
Tấn công supply-chain thông qua package registry không phải điều mới trong ngành bảo mật, nhưng mức độ tinh vi ngày càng gia tăng. Thay vì exploit lỗ hổng trong code của bạn, kẻ tấn công len lỏi ngay vào giai đoạn bạn tìm kiếm thư viện - khi developer gõ "paysafe npm" hoặc "skrill python sdk" và cài package đứng đầu kết quả.
Chiến dịch này được Socket ghi nhận vào tháng 7/2026 với quy mô đáng lo ngại: 13 package trên npm và 4 package trên PyPI, tất cả tập trung vào hệ sinh thái thanh toán của Paysafe, Skrill và Neteller - ba nhà cung cấp cổng thanh toán phổ biến tại châu Âu và toàn cầu. Theo Socket, mức độ kỹ thuật của kẻ tấn công "đủ để vượt qua các hệ thống phân tích tự động cơ bản".
Cơ chế hoạt động: npm và PyPI khác biệt quan trọng
npm: Kích hoạt có chọn lọc
13 package độc hại trên npm hoạt động theo chiến lược "kích hoạt có điều kiện" để giảm khả năng bị phát hiện. Mã đánh cắp credential chỉ thực sự chạy khi đồng thời thỏa mãn hai điều kiện:
- SDK được gọi thực sự trong code - không chỉ cài đặt mà phải được import và sử dụng
- Biến môi trường
PAYSAFE_API_KEYcó mặt - môi trường đang có API key thật đang hoạt động
Điều này đồng nghĩa: developer cài package trong môi trường dev chưa có API key thật sẽ không bị trigger ngay. Nhưng khi triển khai sang staging hoặc production - nơi key thật được set - đó chính là mục tiêu mà kẻ tấn công nhắm đến.
PyPI: Nguy hiểm hơn, kích hoạt vô điều kiện
4 package trên PyPI hoạt động nguy hiểm hơn đáng kể. Routine đánh cắp tự động kích hoạt ngay khi package được import - không cần bất kỳ điều kiện môi trường nào. Bất kỳ lệnh import paysafe_sdk nào, dù trong môi trường test hay production, đều đủ để trigger. Developer chỉ thử thư viện trong notebook? Đã bị exfiltrate. CI pipeline build? Đã bị exfiltrate.
Anti-analysis: Tránh sandbox phân tích
Cả hai loại package đều có cơ chế tự bảo vệ chống phân tích tự động:
- Ngừng execution nếu hệ thống có ít hơn 2 CPU cores - đặc trưng của môi trường sandbox tự động
- Ngừng nếu hostname hoặc username chứa chuỗi gợi lên môi trường ảo hóa
Kỹ thuật này giúp package qua được scan tự động của registry, chỉ kích hoạt trong môi trường thật của developer hoặc CI/CD pipeline.
Dữ liệu bị đánh cắp
Khi điều kiện kích hoạt được thỏa mãn, stealer thu thập và exfiltrate về máy chủ của kẻ tấn công:
- Paysafe API keys - truy cập trực tiếp vào cổng thanh toán, có thể thực hiện giao dịch gian lận
- AWS access keys - quyền kiểm soát toàn bộ infrastructure cloud của tổ chức
- GitHub tokens - truy cập source code, CI/CD secrets, và khả năng modify repository
- npm tokens - đặc biệt nguy hiểm vì cho phép publish package mới, tạo vòng lặp supply-chain attack tiếp theo
- Hostname và username - phục vụ fingerprinting và nhắm mục tiêu tiếp theo
- Metadata về API usage - thông tin quy mô tích hợp giúp kẻ tấn công đánh giá giá trị nạn nhân
Với npm token bị đánh cắp, kẻ tấn công có thể publish thêm package độc hại dưới danh tính của bạn - biến nạn nhân thành vector tấn công tiếp theo trong chuỗi supply-chain.
Danh sách 17 package độc hại
npm - 13 package (phiên bản 1.0.0 đến 1.0.3):
paysafe-checkout paysafe-vault neteller
skrill-payments paysafe-js paysafe-api
paysafe-node paysafe-cards paysafe-fraud
paysafe-kyc skrill skrill-sdk
paysafe-payments
PyPI - 4 package (phiên bản 1.0.0):
paysafe-kyc paysafe-payments paysafe-sdk paysafe-api
Đáng chú ý: một số tên xuất hiện trùng trên cả hai registry (paysafe-api, paysafe-kyc, paysafe-payments), cho thấy kẻ tấn công kiểm soát cả hai hệ sinh thái đồng thời.
Ai có nguy cơ
Nhóm có rủi ro cao nhất:
- Developer đang hoặc đã tích hợp cổng thanh toán Paysafe, Skrill hoặc Neteller - đặc biệt nếu tìm kiếm SDK qua npm hoặc PyPI
- CI/CD pipeline có biến
PAYSAFE_API_KEY- môi trường đủ điều kiện để trigger npm stealer - Machine đã chạy
npm installhoặcpip installbất kỳ package nào trong danh sách và đã thực thi code sau đó - Tổ chức dùng shared CI/CD runner - một runner bị compromise có thể ảnh hưởng toàn bộ pipeline
Hành động cần làm ngay nếu bạn bị ảnh hưởng
1. Rotate toàn bộ secrets trên máy đã cài package
- Revoke và tạo mới: Paysafe API key, AWS access key (IAM), GitHub personal access token hoặc GitHub App private key, npm access token
- Xem lại AWS CloudTrail và GitHub audit log trong 30 ngày qua để phát hiện hoạt động bất thường
2. Rà soát dependency tree
- Chạy
npm ls <tên-package>hoặcpip show <tên-package>để xác nhận - Kiểm tra
package-lock.json,yarn.lock,requirements.txt,Pipfile.lock
3. Chặn ở registry proxy
- Nếu tổ chức dùng Artifactory, Nexus hoặc proxy nội bộ, thêm toàn bộ tên package trong danh sách vào blocklist
- Cẩn thận với tên trùng như
skrillvàneteller- cần xác nhận publisher trước khi blocklist
4. Kiểm tra log CI/CD
- Tìm kiếm trong log pipeline bất kỳ entry nào có cả
PAYSAFE_API_KEYvà tên các package độc hại - Nếu cả hai xuất hiện trong cùng một pipeline run, coi đây là incident và bắt đầu quy trình incident response
Kết
Chiến dịch này một lần nữa nhắc nhở rằng tên package trên registry công cộng không đồng nghĩa với tính an toàn. Trong hệ sinh thái thanh toán - nơi credential có thể trực tiếp dẫn đến gian lận tài chính - chi phí của một lần cài nhầm package là không thể đánh giá thấp. Xây dựng thói quen kiểm tra publisher, dùng registry proxy kiểm soát, và giới hạn scope của secrets trong CI/CD là những biện pháp phòng ngừa dài hạn tốt nhất.
