Vào tháng 6 2026, những kẻ tấn công đã xâm nhập hơn 1,500 gói trong Arch User Repository (AUR). Các nhà nghiên cứu của Sonatype đặt tên cho chiến dịch này là Atomic Arch. Đây là một trong những cuộc tấn công lớn nhất nhắm vào AUR từ trước đến nay.
AUR là một bộ sưu tập các script xây dựng gói do cộng đồng duy trì. Nó tách biệt với các kho chính thức của Arch Linux. Các kho chính thức không bị ảnh hưởng.
Cuộc tấn công không khai thác lỗ hổng trong Arch Linux hay pacman. Nó lạm dụng quy trình nhận nuôi gói của AUR để chiếm đoạt các gói mồ côi mà người dùng đã tin tưởng.
Bài viết này giải thích những gì đã xảy ra, tại sao nó thành công và bạn có thể làm gì để giảm rủi ro trong tương lai.
Atomic Arch: Tấn công mã độc AUR (Tháng 6 2026)
Những kẻ tấn công không khai thác lỗ hổng trong Arch Linux. Chúng lạm dụng một tính năng hợp lệ của AUR gọi là nhận nuôi gói (package adoption). Nhận nuôi gói cho phép các gói mồ côi có người bảo trì mới sau khi người bảo trì ban đầu ngừng duy trì chúng.
Những kẻ tấn công đã nhận nuôi các gói mồ côi và sửa đổi tệp PKGBUILD của chúng. PKGBUILD là một script Bash hướng dẫn makepkg cách tải xuống, xây dựng và đóng gói phần mềm. Vì nó là một script, nó có thể thực thi các lệnh tùy ý trong quá trình xây dựng.
Nhiều tệp PKGBUILD bị sửa đổi đã tải xuống một gói npm độc hại có tên atomic-lockfile. Gói npm là phần mềm được phân phối qua kho Node Package Manager (npm). Gói npm này đã thả một tệp thực thi ELF Linux vào hệ thống. Tệp thực thi ELF là định dạng nhị phân tiêu chuẩn được Linux sử dụng.
Mã độc đã đánh cắp cookie trình duyệt, token phiên, thông tin đăng nhập, khóa SSH, thông tin xác thực Docker, hồ sơ VPN và bí mật đám mây. Nó cũng có thể triển khai một rootkit eBPF tùy chọn sau khi giành được quyền root. Rootkit eBPF sử dụng khung Extended Berkeley Packet Filter (eBPF) của Linux để che giấu hoạt động độc hại khỏi hệ điều hành.
Chiến dịch bắt đầu với khoảng 400 gói bị xâm nhập và tăng lên hơn 1,500 trong những ngày tiếp theo. Người bảo trì Arch đã đóng băng đăng ký tài khoản AUR mới trong khi họ điều tra sự cố và loại bỏ các gói độc hại.
Các kho chính thức của Arch (core, extra, multilib) không bao giờ bị ảnh hưởng. Cuộc tấn công nhắm vào mô hình tin cậy của AUR, không phải cơ sở hạ tầng đóng gói hoặc ký gói của Arch Linux.
Tại sao điều này xảy ra
Cuộc tấn công không thành công vì Arch Linux không an toàn. Nó thành công vì AUR được xây dựng dựa trên lòng tin.
AUR là một bộ sưu tập các script xây dựng gói do cộng đồng duy trì. Bất kỳ ai cũng có thể gửi gói mới và các gói mồ côi có thể được nhận nuôi bởi người bảo trì mới. Không giống như các kho chính thức, các gói AUR không trải qua quá trình đánh giá chính thức trước khi có sẵn.
Điều đó không làm cho AUR mất an toàn. Nó có nghĩa là trách nhiệm quyết định xem một gói có đáng tin cậy hay không thuộc về người dùng. AUR được thiết kế để giúp việc đóng gói cộng đồng trở nên dễ dàng, không phải để chứng nhận rằng mọi gói đều đáng tin cậy.
Những kẻ tấn công đã lợi dụng mô hình đó. Thay vì tạo các gói độc hại mới, chúng nhận nuôi các gói mồ côi đã có người dùng hiện tại và lịch sử đã được thiết lập. Sau khi trở thành người bảo trì, chúng sửa đổi các tệp PKGBUILD để bao gồm mã độc.
Sự cố này cho thấy lòng tin thuộc về người bảo trì, không phải gói. Khi một gói đổi chủ, lòng tin đó cần được xây dựng lại. Một gói đáng tin cậy năm ngoái không tự động đáng tin cậy hôm nay. Xem xét các thay đổi cũng quan trọng như xem xét gói lần đầu tiên.
Cách sử dụng AUR an toàn hơn
Bạn không cần ngừng sử dụng AUR. Bạn cần có chủ đích hơn về thời điểm và cách bạn sử dụng nó.
1. Ưu tiên các kho chính thức
Kiểm tra các kho chính thức trước khi sử dụng AUR. Các gói chính thức trải qua quy trình đóng gói của Arch và được duy trì bởi nhóm Arch Linux. Chỉ sử dụng AUR khi phần mềm không có sẵn trong các kho chính thức.
Một số nhà cung cấp phần mềm cũng cung cấp kho Arch chính thức hoặc gói chính thức. Khi họ làm vậy, hãy ưu tiên chúng hơn các gói AUR do cộng đồng duy trì. Các bản cập nhật đến trực tiếp từ nhà xuất bản thay vì người bảo trì AUR.
2. Xem xét PKGBUILD trước khi xây dựng
PKGBUILD là một script Bash. Hãy xem xét nó trước khi xây dựng gói. Nếu bạn đã tin tưởng gói, hãy tập trung vào những gì đã thay đổi kể từ lần cập nhật cuối cùng.
Đặc biệt chú ý nếu gói có người bảo trì mới hoặc vừa được nhận nuôi. Tìm kiếm các bản tải xuống bất ngờ, các lệnh không liên quan đến việc xây dựng phần mềm hoặc các thay đổi không khớp với dự án thượng nguồn.
Tệp .install đi kèm cũng có thể chạy các lệnh trong quá trình cài đặt gói. Hãy xem xét nó nếu gói bao gồm một tệp như vậy.
Đọc các bình luận về gói. Những người dùng khác thường báo cáo bản dựng bị hỏng, thay đổi người bảo trì hoặc hành vi đáng ngờ.
3. Xây dựng gói trong chroot sạch
Chroot sạch là một môi trường xây dựng biệt lập chỉ chứa các gói cần thiết cho bản dựng. Nó giảm rủi ro script xây dựng truy cập tệp từ môi trường làm việc của bạn và giúp tạo ra các bản dựng sạch, có thể tái tạo. Gói devtools cung cấp các công cụ để tạo và sử dụng chroot sạch.
Bạn có thể tìm thêm chi tiết tại liên kết bên dưới:
4. Cân nhắc Flatpak cho ứng dụng desktop
Flatpak phân phối các ứng dụng desktop được xây dựng sẵn chạy trong sandbox. Sandbox giới hạn những gì ứng dụng có thể truy cập trừ khi bạn cấp thêm quyền. Điều đó làm giảm tác động của một ứng dụng bị xâm nhập, nhưng không đảm bảo ứng dụng đó đáng tin cậy.
Bạn có thể cài đặt flatpak và kích hoạt kho flathub bằng các lệnh:
sudo pacman -S flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
5. Sử dụng container khi bạn cần phần mềm từ bản phân phối khác
Nếu bạn cần phần mềm dễ cài đặt hơn trên một bản phân phối Linux khác, hãy cân nhắc chạy nó bên trong container Distrobox thay vì dựa vào gói AUR không chính thức. Distrobox giữ phần mềm đó biệt lập với hệ thống chính của bạn trong khi tích hợp nó với desktop của bạn.
Để cài đặt Distrobox và tạo container (ví dụ: Void Linux), thực hiện:
sudo pacman -S distrobox
distrobox create --name void-box --image voidlinux/voidlinux
distrobox enter void-box
6. Kiểm tra các gói AUR đã cài đặt
Lệnh sau liệt kê các gói ngoại lai (foreign packages), là các gói không được cài đặt từ kho chính thức:
pacman -Qm
Thường xuyên xem xét danh sách. Đặc biệt chú ý đến các gói vừa thay đổi người bảo trì hoặc được nhận nuôi sau khi trở thành mồ côi.
7. Giữ các bản snapshot hệ thống
Snapshot hệ thống tệp ghi lại trạng thái hiện tại của hệ thống. Các công cụ như Snapper hoặc Timeshift cho phép bạn khôi phục sau một bản cập nhật, cài đặt gói hoặc thay đổi cấu hình xấu. Snapshot không thể bảo vệ thông tin xác thực đã bị đánh cắp, nhưng nó có thể giúp khôi phục hệ thống nhanh hơn nhiều.
Trước khi cài đặt hoặc cập nhật một gói AUR, hãy tự hỏi ba câu hỏi:
- Phần mềm có sẵn từ kho chính thức hoặc nhà xuất bản không?
- Các thay đổi gần đây trong
PKGBUILDcó hợp lý không? - Tôi có tin tưởng người bảo trì hiện tại không?
Nếu bạn không thể trả lời cả ba một cách tự tin, hãy dừng lại và điều tra trước khi tiếp tục.
Tóm tắt
Chiến dịch mã độc AUR tháng 6 2026 không phải là lý do để ngừng sử dụng Arch Linux hay AUR. Đó là lời nhắc nhở rằng lòng tin cần được xây dựng và xem xét lại theo thời gian.
Cuộc tấn công không khai thác lỗ hổng trong Arch Linux. Nó khai thác lòng tin mà người dùng đặt vào các gói đã thay đổi người bảo trì. Ý tưởng tương tự xuất hiện trong nhiều cuộc tấn công chuỗi cung ứng phần mềm. Những kẻ tấn công thường nhắm vào phần mềm đáng tin cậy thay vì các lỗ hổng kỹ thuật.
AUR cung cấp cho cộng đồng một cách đơn giản để đóng gói và chia sẻ phần mềm không có sẵn trong các kho chính thức. Sự cởi mở đó cũng có nghĩa là người dùng phải quyết định gói nào đáng tin cậy.
Mọi khuyến nghị trong bài viết này đều tuân theo cùng một nguyên tắc. Giảm lượng lòng tin bạn đặt vào phần mềm và giảm tác động nếu lòng tin đó bị đặt sai chỗ.
Hãy coi mọi PKGBUILD như mã thực thi, bởi vì đó chính xác là những gì nó là. Xem xét các thay đổi trước khi xây dựng. Chú ý đến các thay đổi người bảo trì. Sử dụng AUR khi nó mang lại giá trị, không chỉ vì nó thuận tiện.
Bảo mật không phải là tránh mọi rủi ro. Đó là hiểu nơi lòng tin tồn tại và quyết định xem nó có xứng đáng hay không.
Nếu bạn mới làm quen với Arch, hãy xây dựng hệ thống cơ bản từ kho chính thức, sử dụng Flatpak cho các ứng dụng bổ sung, sử dụng container cho nhu cầu đa bản phân phối và coi AUR như thứ bạn đọc trước khi tin tưởng.
Tài nguyên và Đọc thêm:



