PolinRider: Chiến dịch tấn công chuỗi cung ứng của Triều Tiên xâm nhập 1.951 kho lưu trữ GitHub
PolinRider là chiến dịch tấn công chuỗi cung ứng do Triều Tiên (nhóm Lazarus) thực hiện, đã xâm nhập 1.951 kho lưu trữ GitHub của 1.047 chủ sở hữu, tăng gấp 3 lần chỉ trong 5 tuần. Hơn 1.700 gói npm độc hại đã được phát hành, chiến dịch mở rộng sang PyPI, Go, Packagist (PHP) và crates.io (Rust), thậm chí xâm nhập cả...
PolinRider là chiến dịch tấn công chuỗi cung ứng do Triều Tiên (nhóm Lazarus) thực hiện, đã xâm nhập 1.951 kho lưu trữ GitHub của 1.047 chủ sở hữu, tăng gấp 3 lần chỉ trong 5 tuần.
Hơn 1.700 gói npm độc hại đã được phát hành, chiến dịch mở rộng sang PyPI, Go, Packagist (PHP) và crates.io (Rust), thậm chí xâm nhập cả thư viện Axios phổ biến.
Chiến dịch sử dụng kỹ thuật 4 giai đoạn: ẩn mã JavaScript trong file cấu hình, ngụy trang thành file font .woff2, tự động chạy qua VS Code và nhận lệnh từ dữ liệu giao dịch blockchain TRON, Aptos, BSC.
Phát tán mã độc BeaverTail (đánh cắp thông tin), DEV POPPER.js (trojan truy cập từ xa) và OmniStealer (đánh cắp ví tiền mã hóa).
Search & fact-check with cited sources for What are the key details of the PolinRider supply chain campaign linked to North Korean hackers,An artist's conceptualization of the PolinRider supply chain attack chain, showing the compromise of open-source ecosystems.
Prompt AI
Create a landscape editorial hero image for this Studio Global article: Search & fact-check with cited sources for What are the key details of the PolinRider supply chain campaign linked to North Korean hackers,. Article summary: Here is a comprehensive, source-cited breakdown of the PolinRider campaign.. Topic tags: general, general web, user generated, documentation. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, and tiny thumbnail layouts. Make it useful as an illustrative visual, not as factual evide
openai.com
Chiến dịch PolinRider là một trong những cuộc tấn công chuỗi cung ứng mã nguồn mở mạnh mẽ và tinh vi nhất từng được cho là do Triều Tiên thực hiện. Được nhóm OpenSourceMalware phát hiện lần đầu vào tháng 3 năm 2026, chiến dịch này đã nhanh chóng mở rộng trên nhiều hệ sinh thái gói và công cụ phát triển, xâm nhập gần 2.000 kho lưu trữ GitHub và sử dụng công nghệ blockchain cho kênh chỉ huy và điều khiển MO.
Danh tính và chiến dịch
PolinRider được cho là do Cộng hòa Dân chủ Nhân dân Triều Tiên (DPRK) thực hiện, liên quan đến nhóm Lazarus. Đây là một chiến dịch con trong cụm Contagious Interview lớn hơn (còn được gọi là Famous Chollima) MT. Chiến dịch này đã hợp nhất về mặt tác chiến với chiến dịch TasksJacker liên quan, vốn tập trung vào việc lạm dụng tính năng tự động hóa tác vụ của VS Code .
Studio Global AI
Tiếp tục nghiên cứu của bạn
Trang này bao gồm câu trả lời dựa trên nguồn mà bạn có thể tiếp tục bên trong Studio Global.
Câu trả lời ngắn gọn cho "PolinRider: Chiến dịch tấn công chuỗi cung ứng của Triều Tiên xâm nhập 1.951 kho lưu trữ GitHub" là gì?
PolinRider là chiến dịch tấn công chuỗi cung ứng do Triều Tiên (nhóm Lazarus) thực hiện, đã xâm nhập 1.951 kho lưu trữ GitHub của 1.047 chủ sở hữu, tăng gấp 3 lần chỉ trong 5 tuần.
Những điểm chính cần xác nhận đầu tiên là gì?
PolinRider là chiến dịch tấn công chuỗi cung ứng do Triều Tiên (nhóm Lazarus) thực hiện, đã xâm nhập 1.951 kho lưu trữ GitHub của 1.047 chủ sở hữu, tăng gấp 3 lần chỉ trong 5 tuần. Hơn 1.700 gói npm độc hại đã được phát hành, chiến dịch mở rộng sang PyPI, Go, Packagist (PHP) và crates.io (Rust), thậm chí xâm nhập cả thư viện Axios phổ biến.
Tôi nên làm gì tiếp theo trong thực tế?
Chiến dịch sử dụng kỹ thuật 4 giai đoạn: ẩn mã JavaScript trong file cấu hình, ngụy trang thành file font .woff2, tự động chạy qua VS Code và nhận lệnh từ dữ liệu giao dịch blockchain TRON, Aptos, BSC.
Quy mô của PolinRider là rất lớn và đang phát triển nhanh chóng:
1.951 kho lưu trữ GitHub bị xâm nhập thuộc về 1.047 chủ sở hữu tính đến cuối tháng 4 năm 2026 IS
Số lượng kho lưu trữ bị ảnh hưởng đã tăng gần gấp ba chỉ trong năm tuần sau khi bị công bố OS
Hơn 1.700 gói npm độc hại đã được phát hành trong khuôn khổ chiến dịch Contagious Interview rộng lớn hơn TD
Các hệ sinh thái bị nhắm mục tiêu
Chiến dịch đã lan rộng ra ngoài npm, hệ thống bị tấn công đầu tiên:
npm (Node.js): Mục tiêu chính, với hàng trăm gói độc hại bao gồm dev-log-core, logger-base, logkitx, pino-debugger, debug-fmt và debug-glitT
PyPI (Python): Các gói Python được phân phối trong chiến dịch Contagious Interview D
Go (Go Module Mirror): Các gói Go độc hại được Socket Security xác định DT
Packagist (PHP/Composer): Mở rộng sang hệ sinh thái này vào tháng 7 năm 2026 D
Rust (crates.io): Bị nhắm mục tiêu trong chiến dịch lớn hơn T
GitHub Actions và tiện ích mở rộng VS Code: Bị xâm nhập thông qua các tệp .vscode/tasks.json độc hại và các đường dẫn CI/CD bị can thiệp DI
Chiến dịch cũng đã xâm nhập thư viện Axios npm phổ biến (phiên bản 1.14.1 và 0.30.0) vào tháng 4 năm 2026 thông qua một phụ thuộc độc hại có tên plain-crypto-js, ảnh hưởng đến khoảng 100 triệu lượt tải xuống hàng tuần DC.
Kỹ thuật lây nhiễm nhiều giai đoạn
Chuỗi lây nhiễm PolinRider là một quy trình bốn giai đoạn được dàn dựng cẩn thận, được thiết kế nhằm tối đa hóa khả năng ẩn mình và giảm thiểu sự tương tác của nạn nhân.
Giai đoạn 1: Trình tải JavaScript bị làm rối trong tệp cấu hình
Kẻ tấn công thêm mã JavaScript bị làm rối nặng vào cuối các tệp cấu hình hợp pháp của nhà phát triển như postcss.config.mjs, tailwind.config.js, eslint.config.mjs và next.config.mjsFB. Các dòng mã độc hại được đệm khoảng trắng quá mức, đẩy mã vượt quá chiều rộng xem mặc định của IDE, khiến nó vô hình trong quá trình xem xét mã thông thường DB.
Giai đoạn 2: Phương pháp che giấu tinh vi
PolinRider sử dụng ba kỹ thuật che giấu chính:
Tệp phông chữ .woff2 giả mạo: Mã JavaScript bị làm rối được ngụy trang thành tệp phông chữ web, một định dạng nhị phân mà hầu hết các nhà phát triển không bao giờ kiểm tra TB
Đệm khoảng trắng: Các dòng thực thi được đệm xa về bên phải khung nhìn hiển thị DB
Giả mạo lịch sử Git (ForceMemo): Một mô-đun viết lại lịch sử Git, đưa các commit độc hại trở về trước hàng tháng để trông như bảo trì thông thường từ các người bảo trì hợp pháp OL
Giai đoạn 3: Thực thi tác vụ VS Code (TasksJacker)
Các tệp .vscode/tasks.json độc hại được tiêm vào kho lưu trữ. Khi nhà phát triển clone kho đã bị xâm phạm và mở nó trong VS Code, tác vụ sẽ thực thi tự động mà không cần tương tác thêm. Điều này hoàn toàn loại bỏ bước kỹ thuật xã hội vốn được sử dụng trong các chiến dịch Contagious Interview trước đây DIT.
Giai đoạn 4: Truy xuất tải trọng dựa trên blockchain (C2)
Trình tải JavaScript sau khi giải mã sẽ truy xuất tải trọng giai đoạn tiếp theo bằng cách đọc dữ liệu mã hóa được nhúng trong các giao dịch blockchain tiền mã hóa. Chiến dịch sử dụng các mạng blockchain TRON, Aptos và BSC (BNB Smart Chain) làm kênh C2 dạng "dead-drop" DIB. Kỹ thuật "etherhiding" này khiến việc gỡ bỏ trở nên cực kỳ khó khăn vì dữ liệu C2 tồn tại bất biến trên blockchain công cộng.
Các tải trọng mã độc được phân phối
PolinRider phân phối một loạt các tải trọng độc hại, mỗi loại có khả năng cụ thể:
BeaverTail (Bộ cài/Dropper/Trộm thông tin dựa trên JavaScript)
Họ mã độc chính được phân phối là một biến thể mới của BeaverTail, một mã độc JavaScript nổi tiếng liên quan đến các hoạt động của DPRK. Nó hoạt động như một bộ cài/dropper giai đoạn đầu và trình thu thập thông tin xác thực TF.
DEV#POPPER.js (Trojan truy cập từ xa)
Chuỗi lây nhiễm cung cấp một RAT dựa trên JavaScript được theo dõi là DEV#POPPER.js. Nó cung cấp khả năng thực thi mã từ xa (RCE) hoàn toàn, truy cập liên tục và khả năng thực thi các lệnh tùy ý trên máy trạm của nhà phát triển bị xâm phạm. Đơn vị Ứng phó Mối đe dọa (TRU) của eSentire đã phát hiện ra nó trong thực tế nhắm mục tiêu vào lĩnh vực Năng lượng, Tiện ích và Chất thải vào tháng 2 năm 2026 IE.
OmniStealer (Trình đánh cắp thông tin)
Được triển khai cùng với DEV#POPPER, OmniStealer mạnh mẽ nhắm mục tiêu vào thông tin xác thực ví tiền mã hóa, khóa riêng, thông tin xác thực được lưu trữ trong trình duyệt, mã thông báo phiên, khóa API và bí mật CI/CD IR.
Các tải trọng khác
PylangGhost: Một backdoor dựa trên Python, đánh dấu lần đầu tiên mã độc này được lan truyền qua các gói npm T
Socket.io backdoor: Thiết lập giao tiếp reverse-shell liên tục với cơ sở hạ tầng của kẻ tấn công T
Mối liên hệ với Contagious Interview
PolinRider là một sự phát triển trực tiếp về mặt tác chiến của chiến dịch Contagious Interview. Trong khi Contagious Interview trước đây dựa vào các mồi nhử phỏng vấn xin việc làm giả và kỹ thuật xã hội để lừa các nhà phát triển cài đặt các dự án bị cài mã độc, PolinRider đánh dấu sự chuyển dịch sang thỏa hiệp chuỗi cung ứng hoàn toàn tự động, không cần kỹ thuật xã hộiMTI.
Sự khác biệt và chồng chéo chính bao gồm:
Cả hai chiến dịch đều sử dụng chung họ mã độc BeaverTail và cơ sở hạ tầng C2 chồng lấn IC
PolinRider/TasksJacker loại bỏ hoàn toàn lớp xã hội — việc xâm nhập diễn ra tự động thông qua các gói độc hại và tác vụ tự động chạy của VS Code
Cả hai đều sử dụng truy xuất tải trọng dựa trên blockchain IC
Ứng phó phòng thủ được khuyến nghị
Dựa trên hướng dẫn từ OpenSourceMalware, Socket Security, Sonatype và các nhà nghiên cứu khác, các tổ chức nên thực hiện các bước sau:
Hành động ngay lập tức
Coi bất kỳ môi trường bị ảnh hưởng nào là đã bị xâm phạm hoàn toàn — giả định rằng thông tin xác thực và bí mật đã bị đánh cắp cho đến khi có bằng chứng ngược lại IS
Xóa các gói bị ảnh hưởng khỏi package.json, go.mod và các tệp khóa (lockfile) SG
Xem xét tất cả hoạt động mạng đi ra từ máy trạm của nhà phát triển, đặc biệt là các kết nối đến các nút blockchain và các IP không xác định SG
Tạm dừng công việc trên bất kỳ cơ sở mã nào đã chạy gói bị ảnh hưởng — khôi phục về commit từ trước thời điểm có nguy cơ xâm nhập S
Lưu giữ bằng chứng pháp y (nhật ký, ảnh đĩa) trước khi khắc phục I
Dọn dẹp mã và kho lưu trữ
Quét tất cả các tệp postcss.config.mjs, tailwind.config.js, eslint.config.mjs, next.config.mjs và các tệp tương tự để tìm mã JavaScript bị làm rối được thêm vào FB
Kiểm tra các thư mục .vscode/ để tìm tasks.json không mong muốn với cấu hình tự động chạy DI
Xem xét các tệp .woff2 và các tài sản nhị phân khác để tìm mã JavaScript nhúng TB
Kiểm tra lịch sử Git để tìm các commit bị đưa về quá khứ từ các tác giả không xác định — không tin tưởng vào lịch sử commit hiển thị một mình O
Tăng cường lâu dài
Thực hiện lọc lưu lượng đi ra (egress filtering) trên mạng của nhà phát triển để hạn chế các kết nối đi ra G
Sử dụng xác minh tính toàn vẹn của gói (tệp khóa, xác thực tổng kiểm tra, npm audit, quét socket.dev) trước khi cài đặt G
Tắt các tác vụ tự động chạy của VS Code trong các môi trường phát triển khi không thực sự cần thiết DI
Triển khai các quy tắc phân tích tĩnh — Datadog cung cấp quy tắc phát hiện PolinRider chuyên dụng để quét bảo mật mã JavaScript/Node.js D
Theo dõi các chỉ số C2 dựa trên blockchain — tra cứu DNS bất thường đến các API blockchain hoặc các kết nối đi ra không chuẩn trên máy của nhà phát triển I
Xây dựng lại từ các tệp khóa đã biết là an toàn và thay đổi tất cả bí mật, khóa API và khóa mật mã có thể đã bị lộ trên bất kỳ máy trạm bị ảnh hưởng nào IS