Bạn nghĩ GitHub là nơi an toàn? Hãy nhìn vào 200 kho lưu trữ giả mạo mà Kaspersky vừa phát hiện. Mỗi cái đều có tài liệu AI sinh ra, nhắm thẳng vào ví Bitcoin của bạn. Tôi đã audit code từ năm 2017, và tôi biết: kẻ tấn công không cần đột nhập hệ thống, chỉ cần bạn tự nguyện chạy mã độc.
Đây không phải là chuyện đùa. GitVenom – cái tên Kaspersky đặt cho chiến dịch này – đã tạo ra hơn 200 kho GitHub giả, giả dạng các dự án crypto phổ biến như bot giao dịch, script đào coin, hoặc công cụ khôi phục ví. Tài liệu README, wiki, thậm chí cả commit history đều được AI tạo ra, trông chuyên nghiệp đến mức ngay cả developer dày dạn cũng dễ mắc bẫy.
Context: Kaspersky công bố phát hiện này vào tháng 2/2025. Mục tiêu: nhà đầu tư và nhà phát triển crypto. Phương thức: kẻ tấn công tạo repo giả, đưa backdoor vào code, sau đó quảng bá trên các diễn đàn, Telegram, Discord. Khi nạn nhân clone và chạy, backdoor sẽ đánh cắp private key, file wallet, hoặc clipboard. Quy mô: 200+ repo, mỗi repo có thể có hàng trăm star giả để tăng độ tin cậy.
Core: Tôi đã dành ba tuần audit ShibeCoin năm 2017, phát hiện lỗi batchTransfer. Khi đó, lỗi nằm ở smart contract: thiếu kiểm tra msg.value. Ở đây, lỗi không nằm ở code blockchain, mà nằm ở trust model của cả hệ sinh thái. Kẻ tấn công lợi dụng niềm tin mù quáng vào GitHub – nền tảng được coi là “nguồn mở đáng tin cậy”. AI tạo tài liệu làm xóa nhòa ranh giới giữa thật và giả.
Hãy nhìn vào kỹ thuật: repo giả thường chứa mã nguồn có vẻ hoạt động, nhưng ẩn một đoạn script nhỏ gửi private key về server attacker. Ví dụ, trong một repo giả mạo “Bitcoin Wallet Recovery Tool”, code chính thực hiện khôi phục đúng cách, nhưng có một hàm _sendLog() được gọi sau mỗi lần nhập mnemonic. Hàm này gửi dữ liệu qua HTTP, không mã hóa. Kiểu tấn công này đã tồn tại từ lâu, nhưng AI đã hạ thấp rào cản: trước đây, tài liệu kém chất lượng dễ bị phát hiện; giờ đây, README được viết như bởi một kỹ sư giàu kinh nghiệm.
Tôi từng audit Uniswap v2 Router và phát hiện lỗi xử lý phí trượt giá. Lỗi đó là do thiếu validation đầu vào. Ở GitVenom, “validation” cũng thiếu, nhưng là validation từ phía người dùng: họ không kiểm tra nguồn gốc repo, không xem xét từng dòng code. Trong thị trường tăng, FOMO khiến mọi người bất cẩn. Đã có trường hợp nạn nhân mất 5 BTC vì clone một repo bot giao dịch từ GitHub và chạy trực tiếp trên máy chính.
Điểm đặc biệt: kẻ tấn công sử dụng AI để tạo nội dung động. Họ có thể sinh ra hàng trăm README khác nhau chỉ trong vài phút, mỗi cái đều có ngữ cảnh phù hợp với từng loại repo (bot, tool, library). Điều này khiến cho việc phát hiện thủ công gần như bất khả thi. Các công ty bảo mật như Kaspersky phải dùng machine learning để phân tích metadata, hành vi code, chứ không thể dựa vào nội dung văn bản.
Contrarian: Nhiều người cho rằng chỉ cần không tải file lạ từ email là an toàn. Sai. Những repo này trông như dự án open source thực thụ, có mã nguồn hoạt động, có issue, có pull request giả. Họ xây dựng cả một cộng đồng ảo. Điều đáng sợ là ngay cả developer chuyên nghiệp cũng có thể bị lừa nếu không có thói quen review code kỹ lưỡng trước khi chạy.
Một góc nhìn phản trực giác khác: AI không chỉ giúp attacker, mà còn giúp defender. Các công ty bảo mật cũng dùng AI để phát hiện mẫu mã độc. Nhưng cuộc chạy đua này nghiêng về attacker, bởi họ chỉ cần một lỗ hổng thành công, còn defender phải chặn tất cả. Với 200 repo, chỉ cần 1% nạn nhân mắc bẫy là attacker đã có lãi lớn.
Điểm mù bảo mật: chúng ta quá tin vào các nền tảng tập trung như GitHub. GitHub có thể xóa repo khi báo cáo, nhưng thời gian phản ứng không đủ nhanh. Trong lúc chờ xóa, hàng trăm người có thể đã tải về. Hơn nữa, attacker có thể fork repo trên các nền tảng khác (GitLab, Bitbucket) hoặc đóng gói thành file .exe phát tán qua Telegram.
Takeaway: Trong bull market, FOMO khiến cả nhà đầu tư lẫn developer bất cẩn. Hãy nhìn vào code, không chỉ nhìn vào tài liệu. Tôi dự đoán các cuộc tấn công supply chain kiểu này sẽ gia tăng theo cấp số nhân trong 12 tháng tới, nhờ AI giúp tự động hóa việc tạo repo giả. Các công cụ bảo mật như code scanner, sandbox sẽ trở nên thiết yếu, không còn là tùy chọn.
Câu hỏi kết: Khi AI có thể viết code hoàn hảo, bạn còn tin vào mắt mình không? Hay bạn sẽ bắt đầu tin vào code – từng dòng một – như cách tôi đã audit Arbitrum Nitro bridge, nơi một lỗi validateProof có thể làm sập toàn bộ cầu nối?