Tất cả bài viếtAll articles

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

·9 Th7 · 6 phút đọcJul 9 · 6 min read
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 npm4 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_KEY có 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.

Sơ đồ cơ chế tấn công: npm vs PyPI
13 package npm và 4 package PyPI nhắm vào cùng hệ sinh thái thanh toán, với cơ chế kích hoạt khác nhau

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 install hoặc pip install bấ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ặc pip 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ư skrillneteller - 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_KEY và 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

via BleepingComputer

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.

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 — BADO Agency