10 Lỗ Hổng Bảo Mật Phổ Biến Trên Máy Chủ MCP (Kèm Ví Dụ Mã)
Bài viết tổng hợp 10 lỗ hổng bảo mật thường gặp nhất trên các máy chủ MCP mã nguồn mở, kèm theo ví dụ mã và cách khắc phục chi tiết. Những lỗi này gồm Path Traversal, Command Injection, SSRF, và nhiều hơn nữa, ảnh hưởng đến hàng loạt dự án phần mềm.

10 Lỗ Hổng Bảo Mật Phổ Biến Trên Máy Chủ MCP (Kèm Ví Dụ Mã)
Bảo mật phần mềm luôn là mối quan tâm hàng đầu khi phát triển các máy chủ, đặc biệt với các dự án MCP (Machine Communication Protocol). Sau khi kiểm tra hàng chục máy chủ MCP mã nguồn mở, nhóm tác giả đã phát hiện ra 10 lỗ hổng bảo mật phổ biến nhất, kèm theo minh họa bằng mã nguồn thực tế cùng giải pháp khắc phục hiệu quả.
1. Path Traversal (Truy cập vượt thư mục)
- Tần suất: Khoảng 65% máy chủ xử lý file cơ bản có lỗi này.
- Lỗi này cho phép tấn công viên truy cập các tệp tin ngoài vùng cho phép, ví dụ đột nhập vào file cá nhân nhạy cảm như
~/.ssh/id_rsa. - Cách khắc phục là sử dụng phương pháp
path.resolvekết hợp kiểm tra đường dẫn mục tiêu có nằm trong thư mục an toàn hay không.
// Lỗi:
async function readFile(path: string) {
return fs.readFileSync(path, 'utf8'); // Có thể đọc nhầm file nhạy cảm
}
// Sửa lại:
async function readFile(relativePath: string) {
const base = path.resolve('./allowed');
const target = path.resolve(base, relativePath);
if (!target.startsWith(base + path.sep)) throw new Error('Access denied');
return fs.readFileSync(target, 'utf8');
}
2. Command Injection (Chèn lệnh nguy hiểm)
- Tần suất: Khoảng 43% máy chủ thực thi lệnh shell gặp lỗi này.
- Kẻ tấn công có thể chèn thêm các lệnh độc hại qua tham số người dùng, gây rò rỉ dữ liệu hoặc thay đổi hệ thống.
- Sử dụng
execFilethay vìexecvới chuỗi shell để tách biệt đối số, ngăn ngừa chèn lệnh.
// Lỗi:
const result = await exec(`git log --oneline ${userInput}`);
// Sửa:
const result = await execFile('git', ['log', '--oneline', userInput]);
3. Prompt Injection qua Nội Dung Công Cụ
- Tần suất: Khoảng 38% máy chủ tải nội dung bên ngoài dễ bị.
- Trả về nội dung HTML thô có thể khiến hệ thống xử lý bị dẫn dắt theo ý đồ của trang web độc hại.
- Giải pháp là trích xuất dữ liệu có cấu trúc (tiêu đề, liên kết, số từ) thay vì trả nguyên bản HTML.
4. Hardcoded Credentials (Lưu trữ thông tin nhạy cảm cứng mã)
- Tần suất: Khoảng 27%.
- Việc để API key ngay trong mã nguồn rất dễ bị lộ khi công khai hoặc qua leak.
- Nên sử dụng biến môi trường để lưu trữ thông tin nhạy cảm.
5. Credentials trong Thông báo lỗi
- Tần suất: Khoảng 31%.
- Thông tin nhạy cảm như API key không nên được trả lại hay hiển thị trực tiếp trong lỗi phản hồi.
- Thay vào đó, chỉ ghi log nội bộ và trả về lỗi chung chung cho khách.
6. Thiếu Kiểm Tra Đầu Vào
- Tần suất: Đây là lỗ hổng phổ biến nhất (~61%).
- Không validate dữ liệu đầu vào có thể gây ra lỗi hoặc tấn công injection.
- Nên sử dụng các thư viện xác thực đầu vào như Zod để kiểm soát dữ liệu hợp lệ.
7. SSRF (Server-Side Request Forgery)
- Tần suất: Khoảng 18%.
- Máy chủ cho phép gửi yêu cầu HTTP tùy ý có thể bị lạm dụng để tấn công nội bộ.
- Cần kiểm tra và giới hạn URL hợp lệ, chỉ chấp nhận HTTPS và chặn các địa chỉ IP nội bộ.
8. Dependency Confusion / Typosquatting
- Tần suất: 12%.
- Do phụ thuộc vào các thư viện bên ngoài, có nguy cơ sử dụng bản phần mềm giả mạo hoặc độc hại.
- Phải thực hiện kiểm tra bảo mật các package qua
npm audithoặc công cụ nâng cao.
9. Ghi File Không Giới Hạn Vùng An Toàn
- Tần suất: Khoảng 22% máy chủ ghi file có vấn đề.
- Ghi vào file không kiểm soát có thể làm thay đổi các file hệ thống quan trọng.
- Tương tự như đọc file, cần giới hạn phạm vi ghi bằng cách resolve và xác thực đường dẫn.
10. Thiếu Xác Thực Khi Giao Tiếp HTTP
- Tần suất: Gần 45% máy chủ dùng giao thức HTTP chưa kiểm tra quyền gọi.
- Bất kỳ ai cũng có thể gửi yêu cầu đến máy chủ mà không bị giới hạn.
- Cần verify API key hoặc token trước khi xử lý yêu cầu.
Phát Hiện Tự Động
Kiểm tra thủ công các mẫu lỗ hổng này trong dự án có thể tốn đến 30-60 phút, trong khi công cụ MCP Security Scanner Pro hỗ trợ quét toàn diện 22 quy tắc bảo mật chỉ trong chưa đến 60 giây, cung cấp báo cáo mức độ nghiêm trọng kèm đường dẫn file và dòng code cần sửa.
Trước bối cảnh ngày càng nhiều hệ thống MCP được sử dụng, việc nắm rõ và khắc phục nhanh những lỗ hổng bảo mật phổ biến này là rất cần thiết đối với các lập trình viên và tổ chức phát triển phần mềm tại Việt Nam, nhằm tránh thiệt hại do sự cố an ninh và xây dựng hệ thống an toàn, tin cậy hơn.
Tham khảo: Atlas – công cụ bảo mật tại whoffagents.com
Bài viết liên quan

Phần mềm
Anthropic ra mắt Claude Opus 4.7: Nâng cấp mạnh mẽ cho lập trình nhưng vẫn thua Mythos Preview
16 tháng 4, 2026

Công nghệ
Qwen3.6-35B-A3B: Quyền năng Lập trình Agentic, Nay Đã Mở Cửa Cho Tất Cả
16 tháng 4, 2026

Công nghệ
Spotify thắng kiện 322 triệu USD từ nhóm pirate Anna's Archive nhưng đối mặt với bài toán thu hồi
16 tháng 4, 2026
