Lỗ hổng RCE Nghiêm trọng trong Anthropic MCP Inspector đe dọa Nhà phát triển AI

Một lỗ hổng vừa được công bố trong công cụ Model Context Protocol (MCP) Inspector của Anthropic đã gây chấn động cộng đồng phát triển AI, phơi bày một vector tấn công nghiêm trọng có thể cho phép kẻ tấn công thực thi mã tùy ý (arbitrary code execution) trên máy của các nhà phát triển—chỉ đơn giản bằng cách dụ họ truy cập vào một website độc hại.

Lỗ hổng này được định danh là CVE-2025-49596 và có điểm CVSS 9.4, được phát hiện bởi Oligo Security Research. Nó ảnh hưởng đến tất cả các phiên bản của MCP Inspector trước 0.14.1. Nguyên nhân cốt lõi của lỗ hổng bắt nguồn từ việc thiếu xác thực giữa máy khách (client) và máy chủ proxy của Inspector, cho phép các yêu cầu không được xác thực kích hoạt các lệnh tùy ý thông qua giao diện đầu vào/đầu ra chuẩn của công cụ.

Cơ chế Khai thác Lỗ hổng (Exploit Mechanism)

MCP Inspector được sử dụng rộng rãi để gỡ lỗi và kiểm tra các máy chủ MCP, vốn là nền tảng cho sự hợp tác giữa các tác nhân AI trên nhiều nền tảng như PythonJavaScript. Theo mặc định, MCP Inspector chạy một máy chủ HTTP trên địa chỉ 0.0.0.0:6277, khiến nó bị lộ ra ngoài và có thể nhận kết nối từ bất kỳ giao diện mạng nào. Điều cực kỳ quan trọng là cấu hình mặc định này thiếu xác thực và mã hóa, tạo ra một cánh cửa mở cho kẻ tấn công.

Cuộc tấn công tận dụng một lỗ hổng trình duyệt đã tồn tại từ lâu—được gọi là “0.0.0.0-day”. Lỗ hổng này cho phép các website gửi yêu cầu đến các dịch vụ chạy trên localhost. Mặc dù hành vi này thường được coi là vô hại đối với các dịch vụ đã được xác thực hoặc không cung cấp khả năng thực thi lệnh, nhưng nó trở thành một điểm yếu nghiêm trọng khi kết hợp với một công cụ như MCP Inspector thiếu các biện pháp kiểm soát truy cập thích hợp.

Kẻ tấn công có thể tạo một website độc hại chứa JavaScript. Khi một nhà phát triển truy cập website này, đoạn JavaScript sẽ gửi các yêu cầu đến endpoint Server-Sent Events (SSE) của MCP Inspector. Các yêu cầu này được thiết kế để kích hoạt công cụ thực thi các lệnh hệ thống. Do thiếu cơ chế xác thực và kiểm tra nguồn gốc, MCP Inspector sẽ xử lý các yêu cầu này như thể chúng đến từ một nguồn đáng tin cậy, dẫn đến việc thực thi mã tùy ý trên máy của nhà phát triển.

Ví dụ, JavaScript độc hại có thể gửi một yêu cầu HTTP POST hoặc GET tới http://127.0.0.1:6277/sse với một payload được thiết kế để tiêm lệnh vào quy trình của MCP Inspector thông qua giao diện standard input/output. Điều này có thể được thực hiện bằng cách lợi dụng các hàm hoặc luồng xử lý dữ liệu của Inspector mà không có kiểm tra đầu vào đầy đủ, cho phép kẻ tấn công chèn các lệnh hệ thống như sau:


fetch('http://127.0.0.1:6277/sse', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        "command": "system_command_to_execute",
        "args": ["-c", "echo 'Hello from attacker' > /tmp/test.txt"]
    })
});

Lưu ý rằng đoạn mã trên chỉ là một minh họa cho cơ chế khai thác dựa trên mô tả về việc kích hoạt lệnh thông qua giao diện input/output chuẩn của công cụ, và payload thực tế có thể phức tạp hơn nhiều tùy thuộc vào cách MCP Inspector xử lý các yêu cầu và đầu vào.

Tác động của Việc Khai thác Thành công

Việc khai thác thành công lỗ hổng này có thể dẫn đến việc kiểm soát hoàn toàn máy tính của nhà phát triển. Điều này bao gồm:

  • Đánh cắp dữ liệu nhạy cảm: Các tệp dự án, mã nguồn, khóa API, thông tin xác thực và dữ liệu khách hàng.
  • Cài đặt backdoor: Tạo điểm truy cập bền vững cho kẻ tấn công, cho phép truy cập liên tục vào hệ thống.
  • Di chuyển ngang (Lateral Movement): Kẻ tấn công có thể sử dụng máy của nhà phát triển làm bàn đạp để xâm nhập sâu hơn vào mạng nội bộ của tổ chức, tiếp cận các máy chủ sản xuất, hệ thống kiểm soát phiên bản (VCS) hoặc hệ thống CI/CD.

Đối với các nhóm AI, dự án mã nguồn mở và doanh nghiệp đang phụ thuộc vào MCP, những rủi ro này là vô cùng nghiêm trọng. Việc kiểm soát máy của nhà phát triển có thể dẫn đến việc chèn mã độc vào các mô hình AI, đánh cắp các mô hình độc quyền, hoặc thậm chí làm hỏng quá trình phát triển, gây ra thiệt hại tài chính và danh tiếng lớn.

Tầm quan trọng và Rủi ro trong Hệ sinh thái AI

Các công ty công nghệ lớn như MicrosoftGoogle, cũng như vô số dự án mã nguồn mở, đều đang dựa vào MCP Inspector cho quá trình phát triển AI của họ. Sự phụ thuộc rộng rãi này làm tăng mức độ nghiêm trọng của lỗ hổng. Nếu một nhà phát triển làm việc cho một trong những tổ chức này bị tấn công thông qua MCP Inspector, hậu quả có thể lan rộng ra toàn bộ chuỗi cung ứng phần mềm AI.

Các nhà nghiên cứu đã xác định một số phiên bản MCP Inspector đang lộ thiên trên Internet, khẳng định nguy cơ thực tế và tức thì của việc thực thi mã từ xa (Remote Code Execution – RCE) đối với cả cá nhân và tổ chức. Sự hiện diện của các phiên bản này trên Internet cho thấy nhiều nhà phát triển có thể đã triển khai công cụ mà không nhận thức được rủi ro bảo mật tiềm ẩn của cấu hình mặc định thiếu an toàn.

Biện pháp Khắc phục và Khuyến nghị Bảo mật

Đội ngũ bảo mật của Anthropic đã phản ứng nhanh chóng bằng cách phát hành phiên bản 0.14.1 vào ngày 13 tháng 6 năm 2025. Bản cập nhật này giới thiệu các tính năng bảo mật quan trọng để giải quyết lỗ hổng:

  • Xác thực dựa trên session token: Tương tự như cách các notebook Jupyter hoạt động, phiên bản mới yêu cầu một token phiên duy nhất để xác thực các yêu cầu. Điều này đảm bảo rằng chỉ các phiên làm việc được ủy quyền mới có thể tương tác với MCP Inspector, ngăn chặn các yêu cầu độc hại từ các nguồn không đáng tin cậy.
  • Kiểm tra nguồn gốc nghiêm ngặt (Strict Origin Checks): Bản cập nhật này cũng triển khai các kiểm tra nguồn gốc chặt chẽ, giúp chặn các yêu cầu trái phép và giảm thiểu các cuộc tấn công Cross-Site Request Forgery (CSRF). Các kiểm tra này đảm bảo rằng các yêu cầu chỉ được chấp nhận từ các nguồn đã được ủy quyền, ngăn chặn các website độc hại lợi dụng trình duyệt của người dùng để thực hiện các hành động không mong muốn.

Người dùng được khuyến nghị mạnh mẽ nâng cấp lên phiên bản 0.14.1 hoặc các phiên bản mới hơn ngay lập tức. Hiện tại, không có biện pháp khắc phục tạm thời (workarounds) hiệu quả nào cho các phiên bản cũ hơn. Điều này có nghĩa là bất kỳ phiên bản nào trước 0.14.1 đều vẫn dễ bị tấn công nếu được tiếp xúc với môi trường có nguy cơ.

Sự cố này một lần nữa nhấn mạnh tầm quan trọng của các cấu hình bảo mật mặc định (secure defaults) và những rủi ro liên quan đến các công cụ phát triển được tiếp xúc với localhost. Các nhà phát triển và tổ chức phải đảm bảo rằng các cài đặt MCP Inspector của họ được cập nhật và không bao giờ được tiếp xúc với các mạng không đáng tin cậy. Việc thực hiện các biện pháp này bao gồm:

  • Cập nhật thường xuyên: Luôn đảm bảo rằng tất cả các công cụ và thư viện được sử dụng trong môi trường phát triển đều được cập nhật lên phiên bản mới nhất.
  • Phân đoạn mạng: Hạn chế quyền truy cập vào các công cụ phát triển chỉ trong các mạng nội bộ đáng tin cậy hoặc thông qua các kênh bảo mật như VPN.
  • Nguyên tắc đặc quyền tối thiểu (Principle of Least Privilege): Chỉ cấp cho các công cụ và người dùng quyền truy cập tối thiểu cần thiết để thực hiện công việc của họ.
  • Kiểm tra bảo mật: Thường xuyên thực hiện kiểm tra bảo mật và đánh giá lỗ hổng trên các công cụ và hệ thống phát triển.

Khi hệ sinh thái AI ngày càng phát triển, việc áp dụng các thực tiễn bảo mật mạnh mẽ là điều cần thiết để bảo vệ tính toàn vẹn của cơ sở hạ tầng phát triển quan trọng. Lỗ hổng CVE-2025-49596 trong Anthropic MCP Inspector là một lời nhắc nhở rõ ràng về sự cần thiết phải cảnh giác liên tục và chủ động trong bối cảnh mối đe dọa không ngừng phát triển.