Chiến dịch Megalodon tấn công hơn 5.500 kho lưu trữ GitHub bằng CI/CD độc hại
Các nhà nghiên cứu an ninh mạng đã phát hiện chiến dịch tự động Megalodon, đẩy hàng nghìn commit độc hại vào các kho lưu trữ GitHub, đánh cắp thông tin nhạy cảm như khóa SSH, token OIDC và thông tin...
Các nhà nghiên cứu an ninh mạng vừa công bố chi tiết về một chiến dịch tự động mới mang tên Megalodon. Chiến dịch này đã đẩy 5.718 commit độc hại vào 5.561 kho lưu trữ GitHub chỉ trong vòng sáu giờ.
Theo báo cáo của SafeDep, kẻ tấn công đã sử dụng các tài khoản dùng một lần và giả mạo danh tính tác giả (build-bot, auto-ci, ci-bot, pipeline-bot) để chèn các workflow GitHub Actions chứa payload bash được mã hóa Base64. Các payload này được thiết kế để đánh cắp các bí mật CI, thông tin xác thực cloud, khóa SSH, token OIDC và bí mật mã nguồn, sau đó gửi về máy chủ C2 tại 216.126.225[.]129:8443.
Dữ liệu bị malware thu thập bao gồm:
- Các biến môi trường CI, /proc/*/environ và môi trường PID 1
- Thông tin xác thực Amazon Web Services (AWS)
- Token truy cập Google Cloud
- Thông tin xác thực vai trò instance lấy từ AWS IMDSv2, Google Cloud metadata và Microsoft Azure Instance Metadata Service (IMDS) endpoints
- Khóa riêng SSH
- Cấu hình Docker và Kubernetes
- Token Vault
- Thông tin xác thực Terraform
- Lịch sử shell
- API keys, chuỗi kết nối cơ sở dữ liệu, JWTs, khóa riêng PEM và token cloud khớp với hơn 30 mẫu biểu thức chính quy bí mật
- URL yêu cầu token OIDC của GitHub Actions và token
- GITHUB_TOKEN, token GitLab CI/CD và token Bitbucket
- Các file .env, credentials.json, service-account.json và các file cấu hình khác
Một trong những gói bị ảnh hưởng là @tiledesk/tiledesk-server, chứa payload bash được mã hóa Base64 trong một file workflow GitHub Actions. Tổng cộng, 5.718 commit đã được đẩy vào 5.561 kho lưu trữ riêng biệt vào ngày 18 tháng 5 năm 2026, từ 11:36 sáng đến 5:48 chiều UTC.
SafeDep cho biết: "Kẻ tấn công đã luân phiên sử dụng bốn tên tác giả (build-bot, auto-ci, ci-bot, pipeline-bot) và bảy thông điệp commit, tất cả đều giả mạo các hoạt động bảo trì CI thông thường." Kẻ tấn công đã sử dụng các tài khoản GitHub dùng một lần với tên người dùng ngẫu nhiên 8 ký tự (ví dụ: rkb8el9r, bhlru9nr, lo6wt4t6), thiết lập git config để giả mạo danh tính tác giả và đẩy commit thông qua các PAT hoặc deploy key bị đánh cắp.
Hai biến thể payload đã được quan sát trong chiến dịch quy mô lớn này: SysDiag, một biến thể đại trà thêm một workflow mới được kích hoạt trên mọi push và pull request; và Optimize-Build, một biến thể nhắm mục tiêu chỉ kích hoạt trên workflow_dispatch, một trigger của GitHub Actions cho phép người dùng chạy workflow theo yêu cầu. Trong trường hợp của Tiledesk, phương pháp nhắm mục tiêu được sử dụng để tấn công các CI/CD runner, chứ không phải khi gói npm được cài đặt.
SafeDep nói thêm: "Sự đánh đổi ở đây là phạm vi tiếp cận: on: push sẽ đảm bảo thực thi trên mọi commit vào master, tấn công nhiều mục tiêu hơn mà không cần can thiệp. Workflow_dispatch hy sinh điều đó để đảm bảo an ninh vận hành. Với hơn 5.700 kho lưu trữ bị xâm nhập, ngay cả một phần nhỏ trong số đó cung cấp GITHUB_TOKEN có thể sử dụng được cũng đủ cho kẻ tấn công có đủ mục tiêu để kích hoạt theo yêu cầu."
Kết quả là, một khi chủ sở hữu kho lưu trữ hợp nhất commit, malware sẽ thực thi bên trong các pipeline CI/CD của họ và lây lan rộng hơn, cho phép đánh cắp thông tin xác thực và bí mật trên quy mô lớn.
Moshe Siman Tov Bustan của OX Security nhận định: "Chúng ta đã bước vào một kỷ nguyên tấn công chuỗi cung ứng mới, và việc TeamPCP xâm nhập GitHub chỉ là khởi đầu. Điều tiếp theo sẽ là một làn sóng không ngừng, một cơn sóng thần các cuộc tấn công mạng nhằm vào các nhà phát triển trên toàn thế giới."
Sự việc này diễn ra khi TeamPCP đã vũ khí hóa chuỗi cung ứng phần mềm liên kết để làm hỏng hàng trăm công cụ mã nguồn mở, lây lan qua nhiều hệ sinh thái và trong một số trường hợp, tống tiền nạn nhân để kiếm lợi nhuận. GitHub, thuộc sở hữu của Microsoft, đã trở thành nạn nhân mới nhất trong danh sách dài của nhóm, bao gồm cả TanStack, Grafana Labs, OpenAI và Mistral AI.
Các cuộc tấn công của TeamPCP đã thúc đẩy một chu kỳ khai thác các dự án mã nguồn mở phổ biến, nơi một sự xâm nhập này lại tạo điều kiện cho sự xâm nhập tiếp theo, cho phép malware lây lan nhanh chóng như một loại sâu. Nhóm này cũng có vẻ có động cơ tài chính và đã thiết lập quan hệ đối tác với BreachForums và các nhóm tống tiền khác như LAPSUS$ và VECT.
Hơn nữa, nhóm này dường như cũng có động cơ địa chính trị, bằng chứng là việc triển khai wiper malware khi phát hiện các máy tính đặt tại Iran và Israel.
Hậu quả từ chuỗi tấn công của TeamPCP và sâu Mini Shai-Hulud đã khiến npm phải vô hiệu hóa các token truy cập chi tiết có quyền ghi mà bỏ qua xác thực hai yếu tố (2FA). NPM cũng đang kêu gọi người dùng chuyển sang Trusted Publishing để giảm sự phụ thuộc vào các token như vậy.
Công ty bảo mật ứng dụng Socket cho biết: "Bằng cách vô hiệu hóa mọi token bỏ qua 2FA trên nền tảng, npm cắt đứt các thông tin xác thực mà sâu đã thu thập. Các nhà bảo trì sẽ cấp các token mới. Con sâu, vẫn đang hoạt động, sẽ quay lại thu thập chúng. Việc đặt lại này giúp có thêm thời gian, nhưng không đóng được lỗ hổng cơ bản."
Các nhóm hoạt động như Megalodon và TeamPCP liên quan đến việc xâm nhập các gói hợp pháp để phân phối malware. Ngược lại, một tài khoản dùng một lần tên "polymarketdev" đã được phát hiện xuất bản chín gói npm độc hại giả mạo các công cụ CLI giao dịch Polymarket trong vòng 30 giây để đánh cắp khóa riêng Ethereum/Polygon của nạn nhân thông qua một hook postinstall.
Tính đến thời điểm viết bài, chúng vẫn có sẵn để tải xuống từ npm. Tên của các gói là:
- polymarket-trading-cli
- polymarket-terminal
- polymarket-trade
- polymarket-auto-trade
- polymarket-copy-trading
- polymarket-bot
- polymarket-claude-code
- polymarket-ai-agent
- polymarket-trader
SafeDep cho biết: "Khi cài đặt, một script postinstall hiển thị một lời nhắc onboarding ví giả mạo yêu cầu người dùng dán khóa riêng của họ, tuyên bố ‘nó vẫn được mã hóa’. Script POST khóa thô ở dạng plaintext đến một Cloudflare Worker tại hxxps://polymarketbot.polymarketdev.workers[.]dev/v1/wallets/keys."
"Kẻ tấn công đã xây dựng một CLI giao dịch chức năng xung quanh hoạt động đánh cắp thông tin xác thực. Kỹ thuật xã hội thực hiện cuộc tấn công: lời nhắc postinstall trông giống như onboarding ví tiêu chuẩn, việc che giấu bắt chước nhập liệu an toàn và kho lưu trữ GitHub cung cấp độ tin cậy giả."
Cập nhật
Trong một phân tích tiếp theo được công bố vào ngày 23 tháng 5 năm 2026, Hudson Rock tiết lộ rằng cuộc tấn công chuỗi cung ứng Megalodon bắt nguồn từ các lây nhiễm infostealer, cho phép kẻ tấn công đứng sau chiến dịch đánh cắp thông tin xác thực GitHub và đẩy payload độc hại.
Cụ thể, hơn 33% tên người dùng duy nhất liên quan đến các kho lưu trữ bị ảnh hưởng — tức là 331 trên 978 — đã được tìm thấy là "khớp trực tiếp với các máy tính bị nhiễm infostealer," công ty cho biết. Ngay cả trong các trường hợp không có sự trùng lặp chính xác chỉ dựa trên tên người dùng, các địa chỉ email liên kết với tài khoản GitHub đã phát hiện thêm các sự xâm nhập của stealer.
Hudson Rock kết luận: "Điều này dẫn chúng tôi đến một kết luận dứt khoát: Các tài khoản bị ảnh hưởng cho phép cuộc tấn công chuỗi cung ứng Megalodon được lấy độc quyền từ dữ liệu infostealer. Chiến dịch Megalodon là một lời nhắc nhở rõ ràng rằng nếu các nhà phát triển và nhân viên bị nhiễm infostealer, các nền tảng như GitHub sẽ trở thành bệ phóng cho các sự kiện leo thang tàn khốc."
Nguồn tham khảo: The Hacker News



No Comment! Be the first one.