RAD Security
chính thứcTương tác với nền tảng RAD Security cung cấp thông tin chi tiết về bảo mật dựa trên AI cho môi trường Kubernetes và đám mây.
Bạn có thể làm gì với RAD Security MCP?
- Liệt kê các phát hiện bảo mật — Yêu cầu trợ lý của bạn liệt kê và phân tích các phát hiện bảo mật trên môi trường Kubernetes và đám mây của bạn.
- Điều tra hành vi runtime — Nhận cây tiến trình, đường cơ sở runtime và phân tích hành vi tiến trình cho các container đang chạy.
- Truy vấn hình ảnh và lỗ hổng — Truy xuất SBOM, liệt kê các hình ảnh dễ bị tấn công hàng đầu và quản lý trạng thái CVE như bỏ qua hoặc bỏ bỏ qua CVE.
- Quản lý tự động hóa — Liệt kê, tạo, cập nhật và chạy các tự động hóa (quy trình làm việc) với lịch trình cron trực tiếp từ chat.
- Tìm kiếm cơ sở tri thức — Tìm kiếm bộ sưu tập và tài liệu, đồng thời chạy các truy vấn có cấu trúc trên các tài liệu cụ thể.
- Thực thi truy vấn RadQL — Chạy các truy vấn nâng cao với bộ lọc, tìm kiếm và tổng hợp trên các loại dữ liệu như container và phát hiện.
Tài liệu
RAD Security MCP Server
Máy chủ MCP (Model Context Protocol) dành cho RAD Security, cung cấp thông tin chi tiết bảo mật hỗ trợ bởi AI cho môi trường Kubernetes và đám mây.
Kết nối (được lưu trữ — khuyến nghị)
RAD Security vận hành máy chủ MCP cho bạn, vì vậy hầu hết người dùng không cần cài đặt hoặc tự lưu trữ bất cứ thứ gì. Trỏ ứng dụng MCP client của bạn đến endpoint được lưu trữ và xác thực bằng thông tin đăng nhập RAD Security của bạn.
-
Endpoint:
https://api.rad.security/mcp/— lưu ý dấu gạch chéo ở cuối. -
Giao thức truyền tải: Streamable HTTP.
-
Xác thực: gửi thông tin đăng nhập của bạn trong header
Authorization:Authorization: Bearer <access_key_id>:<secret_key>:<account_id><access_key_id>và<secret_key>là khóa truy cập API RAD Security (tạo một khóa trong bảng điều khiển RAD Security);<account_id>là ID tài khoản của bạn. Máy chủ xác thực mọi yêu cầu với API RAD Security — không có thông tin đăng nhập nào được lưu trữ phía máy chủ.
Một dạng
Bearer ory_st_<session_token>:<account_id>ngắn hạn cũng hoạt động, nhưng token phiên sẽ hết hạn — hãy ưu tiên khóa truy cập cho bất kỳ thứ gì dài hạn (ví dụ: Slack / Claude Tag).
Claude Code
claude mcp add --transport http rad-security https://api.rad.security/mcp/ \
--header "Authorization: Bearer <access_key_id>:<secret_key>:<account_id>"
OpenAI Codex CLI
~/.codex/config.toml:
[mcp_servers.rad-security]
url = "https://api.rad.security/mcp/"
http_headers = { "Authorization" = "Bearer <access_key_id>:<secret_key>:<account_id>" }
Hoặc qua CLI, giữ bí mật trong biến môi trường (export RAD_MCP_TOKEN=<access_key_id>:<secret_key>:<account_id>):
codex mcp add rad-security --url https://api.rad.security/mcp/ --bearer-token-env-var RAD_MCP_TOKEN
Cursor
.cursor/mcp.json:
{
"mcpServers": {
"rad-security": {
"type": "http",
"url": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}
VS Code (GitHub Copilot)
.vscode/mcp.json — lưu ý khóa bọc ngoài là servers, không phải mcpServers:
{
"servers": {
"rad-security": {
"type": "http",
"url": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}
Gemini CLI
~/.gemini/settings.json — lưu ý trường URL là httpUrl (không phải url):
{
"mcpServers": {
"rad-security": {
"httpUrl": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}
Cline
cline_mcp_settings.json — lưu ý type phải chính xác là streamableHttp (camelCase):
{
"mcpServers": {
"rad-security": {
"type": "streamableHttp",
"url": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json — lưu ý trường URL là serverUrl:
{
"mcpServers": {
"rad-security": {
"serverUrl": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}
Các client khác
Hầu hết các MCP client chấp nhận máy chủ Streamable HTTP từ xa với URL và header Authorization — chỉ khác tên trường. Giữ dấu gạch chéo ở cuối trên URL trong mọi trường hợp.
| Client | Vị trí cấu hình | Trường URL | Dấu hiệu giao thức truyền tải | Trường header |
|---|---|---|---|---|
| Claude Code | claude mcp add | đối số vị trí | --transport http | --header |
| OpenAI Codex CLI | ~/.codex/config.toml | url | được suy ra | http_headers / bearer_token_env_var |
| Cursor | .cursor/mcp.json | url | type: "http" | headers |
| VS Code | .vscode/mcp.json (servers) | url | type: "http" | headers |
| Gemini CLI | ~/.gemini/settings.json | httpUrl | được suy ra | headers |
| Cline | cline_mcp_settings.json | url | type: "streamableHttp" | headers |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | serverUrl | được suy ra | headers |
Claude.ai / Claude Desktop / Claude Tag (Slack)
Các bề mặt này thêm máy chủ MCP từ xa dưới dạng connector, sử dụng cài đặt thông tin đăng nhập riêng thay vì header yêu cầu thô. Thêm https://api.rad.security/mcp/ làm connector tùy chỉnh, sau đó cung cấp thông tin đăng nhập bearer qua cài đặt của connector:
- Claude Tag (Slack): đính kèm máy chủ như một plugin có
.mcp.jsontrỏ đến endpoint, và thêm thông tin đăng nhập bearer trên tab Credentials của gói Access. Xem Claude Tag — kết nối máy chủ MCP tùy chỉnh. - Claude.ai / Desktop: thêm nó trong Settings → Connectors; xem connector tùy chỉnh.
Kiểm thử (MCP Inspector hoặc curl)
npx @modelcontextprotocol/inspector
# Transport: Streamable HTTP
# URL: https://api.rad.security/mcp/ (trailing slash)
# Custom headers: { "Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>" }
curl -H "authorization: Bearer <access_key_id>:<secret_key>:<account_id>" \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-X POST https://api.rad.security/mcp/ \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'
Giới hạn phạm vi công cụ mà agent thấy
Theo mặc định, một kết nối nhận được mọi bộ công cụ. Để cấp cho agent một tập nhỏ hơn — ít chi phí context/token hơn và quyền tối thiểu — hãy thêm header giới hạn phạm vi vào kết nối đó cùng với Authorization. Tập con được thực thi: một công cụ ngoài phạm vi sẽ bị ẩn khỏi tools/list và bị từ chối nếu được gọi.
| Header | Hiệu ứng |
|---|---|
X-Rad-Toolkits: findings, images | chỉ các bộ công cụ này |
X-Rad-Exclude-Toolkits: workflows | mọi bộ công cụ trừ những bộ này |
X-Rad-Readonly: true | chỉ các công cụ chỉ đọc (loại bỏ các công cụ ghi) |
Các bộ công cụ: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. Tất cả đều được bật theo mặc định — thu hẹp bằng các header trên và sử dụng X-Rad-Readonly khi bạn muốn loại trừ mọi công cụ ghi.
Ví dụ — một agent chỉ đọc về findings/images (bất kỳ client nào hỗ trợ header; Cursor được hiển thị):
{
"mcpServers": {
"rad-security-findings": {
"type": "http",
"url": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>",
"X-Rad-Toolkits": "findings, images",
"X-Rad-Readonly": "true"
}
}
}
}
Trong Claude Code, truyền thêm --header:
claude mcp add --transport http rad-security https://api.rad.security/mcp/ \
--header "Authorization: Bearer <access_key_id>:<secret_key>:<account_id>" \
--header "X-Rad-Toolkits: findings, images"
Tính năng
Tất cả công cụ đều yêu cầu xác thực và một tài khoản trong RAD Security. Endpoint được lưu trữ hiển thị mọi bộ công cụ bên dưới theo mặc định; giới hạn phạm vi client bằng X-Rad-Toolkits / X-Rad-Exclude-Toolkits, hoặc loại bỏ tất cả công cụ ghi bằng X-Rad-Readonly: true.
-
Kiểm kê tài khoản
- Liệt kê các cụm (cluster) và chi tiết của chúng
-
Kiểm kê container
- Liệt kê các container và chi tiết của chúng
-
Phát hiện bảo mật
- Liệt kê và phân tích các phát hiện bảo mật
- Cập nhật trạng thái của một phát hiện bảo mật
-
Bảo mật thời gian chạy
- Lấy cây tiến trình của các container đang chạy
- Lấy đường cơ sở thời gian chạy của các container đang chạy
- Phân tích hành vi tiến trình của các container đang chạy
-
Kiểm toán
- Liệt kê ai đã shell vào một pod
-
Hình ảnh và lỗ hổng
- Lấy SBOM
- Liệt kê hình ảnh và lỗ hổng của chúng
- Lấy các hình ảnh dễ bị tấn công hàng đầu
- Bỏ qua / bỏ bỏ qua CVE và liệt kê các xử lý CVE đang hoạt động
-
Đối tượng Kubernetes
- Lấy chi tiết của một tài nguyên Kubernetes cụ thể
- Liệt kê các tài nguyên Kubernetes
-
Hộp thư đến
- Liệt kê các mục hộp thư đến và chi tiết của chúng
- Đánh dấu một mục hộp thư đến là dương tính giả
-
Tự động hóa (
workflows)- Liệt kê các tự động hóa, lần chạy và lịch trình
- Lấy chi tiết tự động hóa và lần chạy
- Chạy một tự động hóa
- Tạo và cập nhật tự động hóa, và thêm lịch trình cron
"Automation" là tên sản phẩm người dùng thấy; "workflow" là đối tượng Windmill bên dưới mà API và tên công cụ sử dụng. Chúng là cùng một thứ.
-
Cơ sở tri thức
- Tìm kiếm cơ sở tri thức
- Liệt kê các bộ sưu tập và tài liệu
- Chạy truy vấn có cấu trúc trên một tài liệu
-
Bảng điều khiển
- Liệt kê các bảng điều khiển và lấy chi tiết của chúng
- Liệt kê và lấy các mẫu bảng điều khiển và widget
- Tạo bảng điều khiển và cập nhật một bảng tại chỗ (các trường bị bỏ qua sẽ được giữ nguyên, vì vậy một chỉnh sửa nhỏ không yêu cầu gửi lại toàn bộ bảng điều khiển)
-
Tích hợp
- Liệt kê các tích hợp bên ngoài
-
RadQL (Truy vấn nâng cao)
- Liệt kê các loại dữ liệu có sẵn để truy vấn (container, findings, kubernetes_resources, v.v.)
- Lấy schema/siêu dữ liệu cho các loại dữ liệu cụ thể
- Liệt kê các giá trị có thể cho các trường lọc
- Thực thi truy vấn RadQL với lọc, tìm kiếm và tổng hợp
- Xây dựng truy vấn theo chương trình từ các điều kiện có cấu trúc
- Thực thi nhiều truy vấn song song
Tự lưu trữ
Muốn tự chạy máy chủ — ví dụ môi trường cách ly mạng, yêu cầu cư trú dữ liệu, hoặc nếu bạn không muốn định tuyến qua cổng được lưu trữ? Nó được xuất bản lên npm và dưới dạng image container.
Điều kiện tiên quyết
- Node.js 20.x trở lên
Thông tin đăng nhập
Cung cấp thông tin đăng nhập RAD Security của bạn qua biến môi trường:
RAD_SECURITY_ACCESS_KEY_ID="your_access_key"
RAD_SECURITY_SECRET_KEY="your_secret_key"
RAD_SECURITY_ACCOUNT_ID="your_account_id"
# Optional: fetched automatically from the account if not set
RAD_SECURITY_TENANT_ID="your_tenant_id"
npx (stdio) — ví dụ: Claude Desktop
{
"mcpServers": {
"rad-security": {
"command": "npx",
"args": ["-y", "@rad-security/mcp-server"],
"env": {
"RAD_SECURITY_ACCESS_KEY_ID": "<your-access-key-id>",
"RAD_SECURITY_SECRET_KEY": "<your-secret-key>",
"RAD_SECURITY_ACCOUNT_ID": "<your-account-id>"
}
}
}
}
Docker (Streamable HTTP)
docker build -t rad-security/mcp-server .
docker run \
-e TRANSPORT_TYPE=streamable \
-e RAD_SECURITY_ACCESS_KEY_ID=your_access_key \
-e RAD_SECURITY_SECRET_KEY=your_secret_key \
-e RAD_SECURITY_ACCOUNT_ID=your_account_id \
-p 3000:3000 \
rad-security/mcp-server
Lọc bộ công cụ
Kiểm soát bộ công cụ nào mà máy chủ tự lưu trữ hiển thị:
INCLUDE_TOOLKITS: danh sách phân tách bằng dấu phẩy các bộ công cụ để bao gồm (chỉ những bộ này được bật).EXCLUDE_TOOLKITS: danh sách phân tách bằng dấu phẩy các bộ công cụ để loại trừ (tất cả các bộ khác được bật). Bị bỏ qua nếuINCLUDE_TOOLKITSđược đặt.
Các bộ công cụ có sẵn: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. Tất cả đều được bật theo mặc định.
# Only the workflows toolkit
INCLUDE_TOOLKITS="workflows"
# Everything except runtime
EXCLUDE_TOOLKITS="runtime"
Đa khách thuê (xác thực theo yêu cầu)
MCP_AUTH_MODE kiểm soát cách một triển khai streamable HTTP xác thực các yêu cầu đến — đây là thứ mà endpoint được lưu trữ sử dụng:
MCP_AUTH_MODE=env(mặc định) — mọi phiên sử dụng thông tin đăng nhập môi trườngRAD_SECURITY_*. Đơn khách thuê và không xác thực ở lớp HTTP, vì vậy nó không được truy cập từ các mạng không tin cậy.MCP_AUTH_MODE=header— mọi yêu cầu phải mang thông tin đăng nhập riêng trong headerAuthorization(dạngBearer <access_key_id>:<secret_key>:<account_id>ở trên); một yêu cầu thiếu hoặc có header sai định dạng sẽ bị từ chối với401. Chỉ được hỗ trợ vớiTRANSPORT_TYPE=streamable.RAD_SECURITY_API_URLđược lấy từ cấu hình máy chủ, không phải từ người gọi.
docker run \
-e TRANSPORT_TYPE=streamable \
-e MCP_AUTH_MODE=header \
-e RAD_SECURITY_API_URL=https://api.rad.security \
-p 3000:3000 \
rad-security/mcp-server
Giao thức truyền tải SSE (
TRANSPORT_TYPE=sse) đã bị ngừng sử dụng để chuyển sang Streamable HTTP và chỉ sử dụng thông tin đăng nhập môi trường.
Phát triển
# Install dependencies
npm install
# Run type checking
npm run type-check
# Run linter
npm run lint
# Build
npm run build
Giấy phép
Giấy phép MIT — xem tệp LICENSE để biết chi tiết