Backdoor trong Postmark đang tải xuống email
(koi.security)- Gần đây đã phát hiện hành vi độc hại trong mô-đun postmark-mcp
- Từ phiên bản 1.0.16, mã sao chép email sang máy chủ bên ngoài của nhà phát triển đã được thêm vào
- Một lỗ hổng mang tính cấu trúc khiến email nhạy cảm của hàng trăm tổ chức có thể bị rò rỉ đã bị phơi bày
- Do thiếu mô hình tin cậy cho máy chủ MCP, rủi ro tấn công chuỗi cung ứng đang gia tăng
- Tất cả người dùng MCP cần kiểm tra và gỡ bỏ ngay lập tức
Bản chất của máy chủ MCP và tổng quan vụ việc postmark-mcp
- Máy chủ MCP là công cụ giúp trợ lý AI tự động xử lý các tác vụ lặp lại như gửi email, chạy truy vấn cơ sở dữ liệu
- Các công cụ này hoạt động với đặc quyền rất cao, nhưng mã do nhà phát triển tạo ra gần như được cài đặt chỉ dựa trên niềm tin và thực tế hầu như không có cơ chế xác minh
- Gói phổ biến postmark-mcp lấy mã nguồn từ kho GitHub chính thức của Postmark, thêm một dòng BCC độc hại rồi phát hành lên npm với cùng tên
- Từ phiên bản 1.0.16, một dòng được thêm vào đoạn mã trông vẫn bình thường, khiến mọi email bị sao chép sang máy chủ cá nhân của nhà phát triển (giftshop.club)
- Nói cách khác, đây là sự cố làm lộ toàn bộ thông tin email, từ đặt lại mật khẩu, hóa đơn, ghi chú nội bộ đến tài liệu mật
Phát hiện hành vi bất thường và cấu trúc tấn công
- Risk Engine của Koi đã phát hiện dấu hiệu bất thường ở phiên bản 1.0.16
- Danh tính của nhà phát triển trên GitHub và các nền tảng khác trông bình thường, và 15 phiên bản đầu hoạt động không vấn đề gì để xây dựng lòng tin
- Ở bản 1.0.16, chỉ với một dòng mã, chức năng làm rò rỉ thông tin quan trọng ra bên ngoài đã được thêm vào
- Kẻ tấn công đồng thời dùng kỹ thuật mạo danh nhà phát triển hiện có (Classic impersonation) khi sao chép mã
- Một công cụ vốn được dùng ổn định, hợp pháp đã dần trở thành hạ tầng dựa trên niềm tin, rồi sau đó thực hiện hành vi độc hại
Tác động và cách thức rò rỉ email
- Với khoảng 1.500 lượt tải mỗi tuần, giả định khoảng 20% được sử dụng tích cực thì hàng trăm tổ chức nằm trong diện phơi nhiễm
- Ước tính có khoảng 3.000 đến 15.000 email mỗi ngày bị gửi tới giftshop.club
- Người dùng không tự xác minh từng hành vi của công cụ mà giao phần lớn việc thực thi tự động cho trợ lý AI
- Hoàn toàn không có mô hình bảo mật, sandbox hay quy trình xác minh riêng biệt
- Dù nhà phát triển đã xóa gói khỏi npm, việc đó không có tác dụng với các môi trường đã cài đặt nên dữ liệu vẫn tiếp tục bị rò rỉ
Phân tích các giai đoạn tấn công
-
Giai đoạn 1: Phân phối công cụ bình thường
- Từ 1.0.0 đến 1.0.15 hoạt động bình thường, tích lũy lòng tin
-
Giai đoạn 2: Chèn mã độc
- Ở 1.0.16, thêm một dòng BCC để sao chép email ra bên ngoài
-
Giai đoạn 3: Thu thập thông tin
- Mật khẩu, khóa API, dữ liệu tài chính/khách hàng... bị rò rỉ tới giftshop.club
-
Không thể liên hệ được với nhà phát triển; dù gói đã bị xóa khỏi npm, thiệt hại trong các môi trường đã cài đặt vẫn đang tiếp diễn
Khiếm khuyết mang tính cấu trúc của hệ sinh thái MCP
- Không giống gói npm thông thường, máy chủ MCP là công cụ rủi ro cao mà trợ lý AI tự động gọi hàng trăm, hàng nghìn lần
- AI hay các giải pháp bảo mật hiện tại không phát hiện được mã độc hại, và hệ thống chỉ đang dựa vào niềm tin
- Toàn bộ hệ sinh thái MCP có cấu trúc rủi ro khi ủy toàn bộ quyền với tài sản nhạy cảm cho các nhà phát triển ẩn danh
- Cần có cơ chế kiểm soát bảo mật như nhận diện tấn công thông qua phát hiện thay đổi hành vi và gateway chuỗi cung ứng
- Koi đang thúc đẩy việc chặn và xác minh các gói độc hại tương tự bằng Risk Engine và gateway của mình
Biện pháp ứng phó và IOC
- Gói độc hại: postmark-mcp (npm)
- Phiên bản độc hại: 1.0.16 trở lên
- Email rò rỉ: phan@giftshop[.]club
- Tên miền: giftshop[.]club
Cách phát hiện
- Kiểm tra log email để tìm dấu vết gửi BCC tới giftshop.club
- Kiểm tra các tham số chuyển tiếp email ngoài dự kiến trong cấu hình máy chủ MCP
- Rà soát kỹ lịch sử cài đặt postmark-mcp phiên bản 1.0.16 trở lên
Ứng phó và khôi phục
- Gỡ bỏ postmark-mcp ngay lập tức
- Xoay vòng toàn bộ thông tin xác thực đã chia sẻ qua email trong thời gian bị xâm nhập
- Điều tra toàn bộ log email chứa thông tin nhạy cảm đã bị đánh cắp
- Nếu xác nhận có thiệt hại, báo cáo ngay cho cơ quan có thẩm quyền
Kết luận và khuyến nghị
- Với mọi máy chủ MCP, bắt buộc phải triển khai quy trình xác minh danh tính nhà phát triển, kiểm chứng mã và kiểm tra bảo mật
- Do đặc tính của MCP (hạ tầng hỗ trợ AI tự động), cần áp dụng tối thiểu mô hình không tin cậy và giám sát liên tục
- Người dùng postmark-mcp từ phiên bản 1.0.16 trở lên phải xóa ngay và thực hiện các biện pháp bảo mật
- Cần ghi nhớ rằng việc sử dụng dựa trên niềm tin đồng nghĩa với việc đối mặt với rủi ro tấn công chuỗi cung ứng
- Xem Paranoia (không tin tưởng/nghi ngờ) là nguyên tắc mặc định là chiến lược hợp lý khi sử dụng MCP
1 bình luận
Ý kiến trên Hacker News
npm i) hoặc thứ gì đó (môi trường tự động hóa) đã cài nó. Trong thực tế, nếu CI được cấu hình sơ sài thìnpm icó thể chạy mỗi lần thực thi, thậm chí mỗi bước. Vì vậy 1.500 lượt tải thực ra có thể chỉ đến từ 2 công ty. Một nơi có lập trình viên dùng cho PoC, nơi kia thì CI được cấu hình tệ. Ngay cả repo chính thức cũng chỉ có 1 watch, 0 fork, 2 star https://github.com/ActiveCampaign/postmark-mcp. MCP và các vấn đề chuỗi cung ứng tự thân là nghiêm trọng, nhưng trường hợp này gần như không có tác động thực tếplain bccthì rất có thể đúng là mã debugsmtpsmtpthì người ta thường dùng các thư viện lâu đời đã được kiểm chứng và có độ tin cậy cao. Còn MCP thì mọi thứ đều mới, chưa có lịch sử tích lũy niềm tin nên đó mới là vấn đề. Nó giống một vùng hoang địa phần mềm, nơi bạn phải luôn mang sẵn khẩu ổ quay 6 viên để tự vệ vậy