Chuyển đến nội dung
tinAI
Quay lại

Malware Shai-Hulud trên PyTorch Lightning: chỉ cần pip install là token AWS, GCP, Azure bị steal

Bản dịch tiếng Việt của tinAI · Từ Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library (semgrep.dev) · Ngày gốc: · Dịch ngày:

Bài gốc: Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library (semgrep.dev)

Tác giả: Semgrep

Ngày đăng: Dịch ngày:

TL;DR

Package PyPI `lightning` version 2.6.2 và 2.6.3 bị compromise — chỉ cần pip install là kích hoạt malware steal credentials AWS, Azure, GCP, GitHub tokens, và lan truyền sang npm. Đáng sợ nhất: malware persist qua hook Claude Code (.claude/settings.json) và VS Code (.vscode/tasks.json).

Ước tính đọc: 6 phút

Package PyPI lightning (PyTorch Lightning — framework deep learning được dùng rộng rãi) bị compromise trong supply chain attack ảnh hưởng version 2.6.2 và 2.6.3 publish ngày 30/04/2026. Team build image classifier, fine-tune LLM, chạy diffusion model, hoặc develop time-series forecaster thường xuyên có lightning đâu đó trong dependency tree.

Chỉ cần pip install lightning là kích hoạt. Version độc hại chứa directory ẩn _runtime với payload JavaScript obfuscated tự động execute khi module được import. Attack steal credentials, authentication token, environment variable và cloud secret, đồng thời cố gắng poison GitHub repository. Có theme Shai-Hulud bao gồm tạo public repository tên EveryBoiWeBuildIsaWormBoi.

Semgrep tin rằng attack này là của cùng threat actor đứng sau chiến dịch mini Shai-Hulud. Cấu trúc IOC nhất quán: commit message độc hại theo cùng convention Dune-themed, lần này dùng prefix EveryBoiWeBuildIsAWormyBoi để phân biệt với attack Mini Shai-Hulud gốc.

Package bị ảnh hưởng

Cách lan rộng cross-ecosystem: từ PyPI sang npm

Khác mini Shai-Hulud target npm trực tiếp, entry point lần này là PyPI. Payload malware vẫn là JavaScript, và worm propagation xảy ra qua npm.

Khi chạy, nếu malware tìm được npm publish credentials, nó inject setup.mjs dropper và router_runtime.js vào mọi package mà token đó có thể publish, set scripts.preinstall để execute dropper, bump patch version, và republish. Bất kỳ downstream developer nào install một trong những package đó sẽ chạy full malware trên máy mình, bị steal token, và package của họ tiếp tục bị wormed.

Cách hoạt động

Thành phần exfiltration chia sẻ design với cơ chế “Mini Shai-Hulud” lần trước, dùng 4 channel song song để đảm bảo data steal được ra ngay cả khi từng đường bị block:

Steal những gì

Malware target credentials trên local file, environment, CI/CD pipeline và cloud provider:

Target bao trùm local dev environment, CI runner, và cả 3 major cloud provider. Bất kỳ máy nào import package độc hại trong cửa sổ thời gian bị ảnh hưởng nên được treat như fully compromised.

Persistence qua developer tooling

Một khi vào trong repository, malware plant persistence hook target hai trong những công cụ developer phổ biến nhất: Claude Code và VS Code. Đây có thể là một trong những trường hợp đầu tiên được document về malware abuse Claude Code hook system trong real-world attack.

Claude Code: .claude/settings.json. Malware ghi SessionStart hook với matcher "*" vào Claude Code settings của repository, point đến node .vscode/setup.mjs. Nó fire mỗi lần developer mở Claude Code trong repo bị nhiễm — không cần tool use hay user action nào ngoài việc launch session.

VS Code: .vscode/tasks.json. Hook song song target VS Code user qua runOn: folderOpen task chạy node .claude/setup.mjs mỗi lần mở folder project.

Dropper: setup.mjs. Cả 2 hook đều invoke setup.mjs, một self-contained Bun runtime bootstrapper. Nếu Bun chưa được install, nó silently download bun-v1.3.13 từ GitHub release, handle Linux x64/arm64/musl, macOS x64/arm64, và Windows x64/arm64. Sau đó execute .claude/router_runtime.js (full 14.8MB payload) và cleanup từ /tmp.

Bonus payload: malicious GitHub Actions workflow. Nếu malware giữ GitHub token có quyền write, nó push workflow tên Formatter vào repository của victim. Mỗi push, nó dump tất cả repository secret qua ${{ toJSON(secrets) }} và upload dưới dạng downloadable Actions artifact tên format-results. Action được pin vào commit SHA cụ thể để trông legitimate.

Bất kỳ repository nào nhận lightning bị nhiễm trong CI và giữ token có quyền write nên được audit cho các file này.

Indicator of Compromise

Look for:

Package

File / System Artifact

Hành động ngay

  1. Check toàn bộ repo của bạn xem có dependency lightning@2.6.2 hoặc 2.6.3 không
  2. Nếu match: rotate ngay GitHub token, AWS/Azure/GCP credentials, npm token đã từng có trên môi trường đó
  3. Audit .claude/.vscode/ directory cho các file lạ liệt kê ở IOC
  4. Search org GitHub cho repo có description A Mini Shai-Hulud has Appeared hoặc commit message có prefix EveryBoiWeBuildIsAWormyBoi

Đường dẫn nguồn

tinAI dịch bài này sang tiếng Việt từ Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library (semgrep.dev) · Loại nguồn: công ty/blog và giữ bối cảnh từ bản tin tinAI đã giới thiệu bài này .

Bản tin này có 3 bài dịch liên quan từ cùng bản tin.