MasterMCP tiết lộ những nguy cơ an toàn của MCP, trình diễn thực chiến nhiều phương thức tấn công

robot
Đang tạo bản tóm tắt

Rủi ro an ninh và trình diễn tấn công của hệ thống MCP

MCP (Mô Hình Bối Cảnh Giao Thức ) Hệ thống hiện đang ở giai đoạn phát triển sớm, môi trường tổng thể khá hỗn loạn, nhiều phương thức tấn công tiềm ẩn xuất hiện liên tục, các giao thức và công cụ hiện có khó có thể phòng thủ hiệu quả. Để nâng cao tính bảo mật của MCP, SlowMist đã mã nguồn mở công cụ MasterMCP, thông qua các buổi diễn tập tấn công thực tế giúp phát hiện các lỗ hổng bảo mật trong thiết kế sản phẩm, từ đó củng cố dự án MCP.

Bài viết này sẽ trình bày các phương thức tấn công phổ biến trong hệ thống MCP, như tiêm nhiễm thông tin, ẩn giấu lệnh độc hại và các trường hợp thực tế khác. Tất cả các tập lệnh trình diễn cũng sẽ được mã nguồn mở lên GitHub, để mọi người có thể tái hiện toàn bộ quy trình trong môi trường an toàn, thậm chí phát triển các plugin kiểm tra tấn công của riêng mình.

Tổng quan về kiến trúc tổng thể

Mục tiêu tấn công mẫu MCP:Toolbox

smithery.ai là một trong những trang web plugin MCP phổ biến hiện nay, tập hợp nhiều danh sách MCP và người dùng hoạt động. Trong đó, @smithery/toolbox là công cụ quản lý MCP do chính thức phát hành.

Lựa chọn Toolbox làm mục tiêu kiểm tra chủ yếu dựa trên:

  • Cơ sở người dùng lớn, có tính đại diện
  • Hỗ trợ cài đặt tự động các plugin khác, bổ sung một số tính năng của client
  • Bao gồm cấu hình nhạy cảm ( như API Key ), thuận tiện cho việc trình diễn

MCP ác ý sử dụng cho mục đích trình diễn: MasterMCP

MasterMCP là công cụ mô phỏng MCP độc hại được SlowMist phát triển đặc biệt cho việc kiểm tra an ninh, thiết kế theo kiến trúc plugin, bao gồm các mô-đun chính sau:

  1. Mô phỏng dịch vụ website địa phương:

MasterMCP được tích hợp mô-đun dịch vụ trang web cục bộ, nhanh chóng thiết lập máy chủ HTTP đơn giản thông qua khung FastAPI, mô phỏng môi trường trang web phổ biến. Những trang này bề ngoài trông bình thường, nhưng thực tế trong mã nguồn hoặc trả về API ẩn chứa các tải trọng độc hại được thiết kế tinh vi.

  1. Kiến trúc MCP plugin hóa địa phương

MasterMCP sử dụng phương pháp mở rộng theo kiểu plugin, thuận tiện cho việc nhanh chóng thêm các phương thức tấn công mới. Sau khi chạy, MasterMCP sẽ chạy dịch vụ FastAPI của module trước đó trong một tiến trình con.

Thực chiến xuất phát: Đầu độc và thao túng ẩn trong hệ thống MCP

Ứng dụng trình diễn

  • Cursor: Một trong những IDE lập trình hỗ trợ AI phổ biến nhất toàn cầu hiện nay
  • Claude Desktop: Ứng dụng chính thức của Anthropic

mô hình lớn dùng để trình diễn

  • Claude 3.7

Chọn phiên bản Claude 3.7, vì nó đã có cải tiến trong việc nhận diện các thao tác nhạy cảm, đồng thời đại diện cho khả năng thao tác mạnh mẽ trong hệ sinh thái MCP hiện tại.

Gọi Mã Độc Hại Cross-MCP

Bản trình bày này bao gồm hai nội dung: tấn công tiêm nhiễm và gọi ác Cross-MCP.

tấn công tiêm nhiễm nội dung trang web

  1. Tiêm nhiễm kiểu chú thích

Trình con trỏ truy cập vào trang web thử nghiệm cục bộ, đây là một trang "Thế giới bánh ngon" có vẻ vô hại.

Thực hiện lệnh: Lấy nội dung của

Kết quả cho thấy, Cursor không chỉ đọc nội dung trang web, mà còn truyền dữ liệu cấu hình nhạy cảm cục bộ về máy chủ kiểm tra. Trong mã nguồn, các từ khóa độc hại được nhúng dưới dạng chú thích HTML.

Thực chiến khởi đầu: Đầu độc và thao túng ẩn trong hệ thống MCP

  1. Tiêm độc chú thích kiểu mã hóa

Truy cập trang /encode, đây là một trang web trông giống nhau, nhưng các từ khóa độc hại đã được mã hóa, khiến cho việc tiêm độc exp trở nên kín đáo hơn, ngay cả khi truy cập mã nguồn trang web cũng khó phát hiện trực tiếp.

Ngay cả khi mã nguồn không chứa từ gợi ý rõ ràng, cuộc tấn công vẫn thực hiện thành công.

Thực chiến xuất phát: Đầu độc ẩn và thao túng trong hệ thống MCP

Tấn công ô nhiễm giao diện bên thứ ba

Bản trình bày này chủ yếu nhắc nhở rằng, bất kể MCP có ác ý hay không, khi gọi API của bên thứ ba, nếu trả lại dữ liệu của bên thứ ba trực tiếp vào ngữ cảnh, đều có thể gây ra ảnh hưởng nghiêm trọng.

Thực hiện yêu cầu: Lấy json từ /api/data

Kết quả: Các từ khóa độc hại đã được nhúng vào dữ liệu JSON trả về và đã kích hoạt thành công việc thực thi độc hại.

Thực chiến bắt đầu: Đầu độc và thao túng ẩn trong hệ thống MCP

Kỹ thuật tiêm độc trong giai đoạn khởi tạo MCP

Bản trình bày này bao gồm hai nội dung: tiêm từ khóa khởi đầu và xung đột tên.

tấn công ghi đè hàm độc hại

MasterMCP đã viết một công cụ có cùng tên hàm remove_server với Toolbox và mã hóa để ẩn các từ khóa độc hại.

Thực hiện lệnh: công cụ loại bỏ plugin fetch server

Claude Desktop không gọi phương thức remove_server gốc của toolbox, mà đã kích hoạt phương thức cùng tên do MasterMCP cung cấp.

Nguyên lý là nhấn mạnh "phương pháp ban đầu đã bị loại bỏ", ưu tiên dẫn dắt mô hình lớn gọi hàm bị ghi đè độc hại.

Thực chiến bắt đầu: Đầu độc và kiểm soát ẩn trong hệ thống MCP

Thêm logic kiểm tra toàn cầu độc hại

MasterMCP đã viết công cụ banana, có tác dụng chính là bắt buộc tất cả các công cụ phải thực hiện công cụ này để kiểm tra an toàn trước khi chạy trong các từ gợi ý.

Trước mỗi lần thực thi hàm, hệ thống sẽ ưu tiên gọi cơ chế kiểm tra banana. Điều này được thực hiện thông qua việc nhấn mạnh trong mã rằng "phải chạy kiểm tra banana" để thực hiện việc tiêm logic toàn cầu.

Thực chiến xuất phát: Đầu độc ẩn giấu và thao túng trong hệ thống MCP

Kỹ thuật nâng cao để ẩn các từ gợi ý độc hại

cách mã hóa thân thiện với mô hình lớn

Do khả năng phân tích định dạng đa ngôn ngữ mạnh mẽ của các mô hình ngôn ngữ lớn, điều này lại bị lợi dụng để ẩn giấu thông tin độc hại, các phương pháp thường dùng bao gồm:

  • Môi trường tiếng Anh: Sử dụng mã Hex Byte
  • Môi trường tiếng Trung: sử dụng mã NCR hoặc mã JavaScript

Thực chiến khởi đầu: Đầu độc và thao túng ẩn trong hệ thống MCP

cơ chế trả lại tải độc hại ngẫu nhiên

Khi yêu cầu /random, mỗi lần sẽ ngẫu nhiên trả về một trang có tải trọng độc hại, làm tăng đáng kể độ khó trong việc phát hiện và truy vết.

Thực chiến xuất phát: Đầu độc và thao túng ẩn trong hệ thống MCP

Tóm tắt

Thông qua buổi trình diễn thực tế MasterMCP, chúng ta đã thấy một cách trực quan các rủi ro an ninh ẩn chứa trong hệ thống MCP. Từ việc tiêm từ khóa đơn giản, gọi chéo MCP, đến các cuộc tấn công trong giai đoạn khởi tạo kín đáo hơn và việc ẩn giấu lệnh độc hại, mỗi giai đoạn đều nhắc nhở chúng ta: Dù hệ sinh thái MCP rất mạnh mẽ, nhưng cũng rất dễ bị tổn thương.

Đặc biệt, khi các mô hình lớn ngày càng thường xuyên tương tác với các plugin và API bên ngoài, việc ô nhiễm đầu vào nhỏ có thể gây ra rủi ro an ninh hệ thống. Các phương thức tấn công đa dạng ( mã hóa ẩn, ô nhiễm ngẫu nhiên, ghi đè hàm ) có nghĩa là tư duy bảo vệ truyền thống cần được nâng cấp toàn diện.

Hy vọng buổi trình diễn lần này có thể gióng lên hồi chuông cảnh báo cho mọi người: cả nhà phát triển và người sử dụng đều nên cảnh giác với hệ thống MCP, chú ý đến từng tương tác, từng dòng mã, từng giá trị trả về. Chỉ khi nghiêm túc với từng chi tiết, chúng ta mới có thể xây dựng một môi trường MCP vững chắc và an toàn.

SlowMist sẽ tiếp tục hoàn thiện kịch bản MasterMCP, mã nguồn mở nhiều trường hợp thử nghiệm cụ thể hơn, giúp hiểu sâu, thực hành và củng cố bảo vệ trong môi trường an toàn. Nội dung liên quan đã được đồng bộ lên GitHub, độc giả quan tâm có thể xem.

Thực chiến khởi đầu: Đầu độc và thao túng ẩn giấu trong hệ thống MCP

BANANA-4.94%
CROSS3.67%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 6
  • Chia sẻ
Bình luận
0/400
screenshot_gainsvip
· 6giờ trước
gm lại xuất hiện lỗ hổng mới
Xem bản gốcTrả lời0
AirdropSweaterFanvip
· 6giờ trước
Cẩn thận bị chơi đùa với mọi người nhé
Xem bản gốcTrả lời0
ContractCollectorvip
· 6giờ trước
MCP gửi rồi gửi rồi
Xem bản gốcTrả lời0
ForkItAllvip
· 6giờ trước
Đen đã đen rồi, còn gì để nói nữa.
Xem bản gốcTrả lời0
MissedAirdropBrovip
· 6giờ trước
Xe tang còn ổn định hơn nó.
Xem bản gốcTrả lời0
MEVSandwichVictimvip
· 6giờ trước
Lại bị chơi đùa với mọi người à? Chơi đùa với mọi người thì không bằng chơi đùa với chúng tôi, những đồ ngốc~
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)