RAD Security

resmi

Kubernetes ve bulut ortamları için yapay zeka destekli güvenlik içgörüleri sağlayan RAD Security platformu ile etkileşim kurun.

RAD Security MCP ile neler yapabilirsiniz?

  • Güvenlik bulgularını inceleyin — Güvenlik bulgularını listeleyip analiz edin, ardından bir bulgunun durumunu güncelleyin.
  • Görüntüleri ve CVE'leri inceleyin — SBOM'ları alın, güvenlik açıkları bulunan görüntüleri listeleyin, en fazla güvenlik açığı bulunan görüntüleri bulun ve CVE'leri yok sayın veya yeniden dikkate alın.
  • Çalışma zamanı davranışını izleyin — Çalışan kapsayıcıların süreç ağaçlarını ve çalışma zamanı temel çizgilerini alın, süreç davranışlarını analiz edin.
  • Pod erişimini denetleyin — Bir pod'a kabuk üzerinden kimlerin eriştiğini listeleyin.
  • RadQL sorguları çalıştırın — Veri türlerini listeleyin, şemaları alın ve filtrelenmiş veya toplulaştırılmış sorguları, birden fazlasını paralel olarak çalıştırmak da dahil olmak üzere yürütün.
  • Otomasyonları yönetin — Otomasyonları, çalıştırmaları ve zamanlamaları listeleyin; çalıştırma ayrıntılarını alın; bir otomasyonu çalıştırın veya oluşturup güncelleyin.

Dokümantasyon

RAD Security MCP Sunucusu

npm version

Kubernetes ve bulut ortamları için yapay zekâ destekli güvenlik öngörüleri sunan, RAD Security için bir Model Context Protocol (MCP) sunucusu.

RAD Security MCP server

Bağlanma (barındırılan — önerilen)

RAD Security, MCP sunucusunu sizin için çalıştırır; bu nedenle çoğu kullanıcının herhangi bir şey yüklemesi veya barındırması gerekmez. MCP istemcinizi barındırılan uç noktaya yönlendirin ve RAD Security kimlik bilgilerinizle kimlik doğrulaması yapın.

  • Uç nokta: https://api.rad.security/mcp/ — sondaki eğik çizgiye dikkat edin.

  • Aktarım: Streamable HTTP.

  • Kimlik doğrulama: Kimlik bilginizi Authorization başlığında gönderin:

    Authorization: Bearer <access_key_id>:<secret_key>:<account_id>
    

    <access_key_id> ve <secret_key>, RAD Security API erişim anahtarıdır (RAD Security konsolunda oluşturun); <account_id> ise hesap kimliğinizdir. Sunucu her isteğin kimliğini RAD Security API'sine karşı doğrular — sunucu tarafında hiçbir kimlik bilgisi saklanmaz.

Kısa ömürlü bir Bearer ory_st_<session_token>:<account_id> biçimi de çalışır, ancak oturum belirteçlerinin süresi dolar — uzun süreli kullanımlar için (ör. Slack / Claude Tag) erişim anahtarını tercih edin.

Tüm kiracı için tek bağlantı

Tek bir MCP yapılandırmasından tüm hesaplarınızda çalışmak için kiracınızda bir erişim anahtarı oluşturun ve hesap kimliği yerine tenant=<tenant_id> kullanın:

Authorization: Bearer <access_key_id>:<secret_key>:tenant=<tenant_id>

Kiracı kapsamlı bir oturumda:

  • Bir list_accounts aracı, kiracının hesaplarını döndürür.
  • Hesap kapsamlı araçlar, kiracının alt hesabı olması gereken bir account_id bağımsız değişkeni gerektirir. Her çağrı tek bir hesabı kapsar; sonuçlar hesaplar arasında birleştirilmez.
  • Kiracı kimlik bilgisi tüm hesaplara eriştiğinden, varsayılan olarak yalnızca salt okunur araçlar kullanılabilir. Yazma araçlarını etkinleştirmek için X-Rad-Readonly: false gönderin.

npx/stdio sunucusu için RAD_SECURITY_ACCOUNT_ID olmadan RAD_SECURITY_TENANT_ID ayarlayın ve yazma araçlarını etkinleştirmek için RAD_SECURITY_READONLY=false kullanın.

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>" }

Veya sırrı bir ortam değişkeninde tutarak CLI üzerinden (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 — sarmalayıcı anahtarının mcpServers değil, servers olduğuna dikkat edin:

{
  "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 — URL alanının url değil, httpUrl olduğuna dikkat edin:

{
  "mcpServers": {
    "rad-security": {
      "httpUrl": "https://api.rad.security/mcp/",
      "headers": {
        "Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
      }
    }
  }
}

Cline

cline_mcp_settings.json — type tam olarak streamableHttp olmalıdır (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 — URL alanının serverUrl olduğuna dikkat edin:

{
  "mcpServers": {
    "rad-security": {
      "serverUrl": "https://api.rad.security/mcp/",
      "headers": {
        "Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
      }
    }
  }
}

Diğer istemciler

Çoğu MCP istemcisi, URL ve Authorization başlığı olan uzak bir Streamable HTTP sunucusunu kabul eder — yalnızca alan adları farklıdır. Her durumda URL'deki sondaki eğik çizgiyi koruyun.

İstemciYapılandırma konumuURL alanıAktarım işaretçisiBaşlık alanı
Claude Codeclaude mcp addkonumsal bağımsız değişken--transport http--header
OpenAI Codex CLI~/.codex/config.tomlurlçıkarımla belirlenirhttp_headers / bearer_token_env_var
Cursor.cursor/mcp.jsonurltype: "http"headers
VS Code.vscode/mcp.json (servers)urltype: "http"headers
Gemini CLI~/.gemini/settings.jsonhttpUrlçıkarımla belirlenirheaders
Clinecline_mcp_settings.jsonurltype: "streamableHttp"headers
Windsurf~/.codeium/windsurf/mcp_config.jsonserverUrlçıkarımla belirlenirheaders

Claude.ai / Claude Desktop / Claude Tag (Slack)

Bu arayüzler uzak MCP sunucularını bağlayıcılar olarak ekler; bu bağlayıcılar ham istek başlığı yerine kendi kimlik bilgisi ayarlarını kullanır. Özel bir bağlayıcı olarak https://api.rad.security/mcp/ ekleyin, ardından taşıyıcı kimlik bilgisini bağlayıcının ayarlarından sağlayın:

Test edin (MCP Inspector veya 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"}}}'

Bir aracının göreceği araçları kapsamlandırma

Varsayılan olarak bir bağlantı tüm araç takımlarını alır. Bir aracıya daha küçük bir küme vermek — bağlam/belirteç yükünü azaltmak ve en az ayrıcalık ilkesini uygulamak — için bu bağlantıya Authorization ile birlikte bir kapsamlandırma başlığı ekleyin. Alt küme zorunlu kılınır: kapsam dışındaki bir araç tools/list içinde gizlenir ve çağrılırsa reddedilir.

BaşlıkEtkisi
X-Rad-Toolkits: findings, imagesyalnızca bu araç takımları
X-Rad-Exclude-Toolkits: workflowsbunlar dışındaki tüm araç takımları
X-Rad-Readonly: trueyalnızca salt okunur araçlar (yazma araçlarını kaldırır)

Araç takımları: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. Varsayılan olarak tümü etkindir — yukarıdaki başlıklarla kapsamı daraltın ve tüm yazma araçlarını hariç tutmak istediğinizde X-Rad-Readonly kullanın.

Örnek — salt okunur bulgular/görüntüler aracısı (başlıkları destekleyen herhangi bir istemci; Cursor örnek olarak gösterilmiştir):

{
  "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"
      }
    }
  }
}

Claude Code'da ek bir --header iletin:

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"

Özellikler

Tüm araçlar kimlik doğrulaması ve RAD Security'de bir hesap gerektirir. Barındırılan uç nokta varsayılan olarak aşağıdaki tüm araç takımlarını sunar; X-Rad-Toolkits / X-Rad-Exclude-Toolkits ile istemci kapsamını daraltın veya tüm yazma araçlarını X-Rad-Readonly: true ile kaldırın.

  • Hesap Envanteri

    • Kümeleri ve ayrıntılarını listeleme
  • Container Envanteri

    • Container'ları ve ayrıntılarını listeleme
  • Güvenlik Bulguları

    • Güvenlik bulgularını listeleme ve analiz etme
    • Bir güvenlik bulgusunun durumunu güncelleme
  • Çalışma Zamanı Güvenliği

    • Çalışan container'ların süreç ağaçlarını alma
    • Çalışan container'ların çalışma zamanı temel çizgilerini alma
    • Çalışan container'ların süreç davranışlarını analiz etme
  • Denetim

    • Bir pod'a kimin kabuk erişimi sağladığını listeleme
  • Görüntüler ve Güvenlik Açıkları

    • SBOM'ları alma
    • Görüntüleri ve güvenlik açıklarını listeleme
    • En fazla güvenlik açığı bulunan görüntüleri alma
    • CVE'leri yok sayma / yok saymayı kaldırma ve etkin CVE kararlarını listeleme
  • Kubernetes Nesneleri

    • Belirli bir Kubernetes kaynağının ayrıntılarını alma
    • Kubernetes kaynaklarını listeleme
  • Gelen Kutusu

    • Gelen kutusu öğelerini ve ayrıntılarını listeleme
    • Bir gelen kutusu öğesini yanlış pozitif olarak işaretleme
  • Otomasyonlar (workflows)

    • Otomasyonları, çalıştırmaları ve zamanlamaları listeleme
    • Otomasyon ve çalıştırma ayrıntılarını alma
    • Bir otomasyonu çalıştırma
    • Otomasyon oluşturma ve güncelleme, ayrıca cron zamanlamaları ekleme

    "Automation", kullanıcıların gördüğü ürün adıdır; "workflow", API ve araç adlarının kullandığı temel Windmill nesnesidir. İkisi aynı şeyi ifade eder.

  • Bilgi Bankası

    • Bilgi bankasında arama yapma
    • Koleksiyonları ve belgeleri listeleme
    • Bir belge üzerinde yapılandırılmış sorgular çalıştırma
  • Panolar

    • Panoları listeleme ve ayrıntılarını alma
    • Pano ve widget şablonlarını listeleme ve alma
    • Pano oluşturma ve mevcut panoyu yerinde güncelleme (atlanmış alanlar değiştirilmeden bırakılır; bu nedenle küçük bir düzenleme için panonun tamamını yeniden göndermek gerekmez)
  • Entegrasyonlar

    • Harici entegrasyonları listeleme
  • RadQL (Gelişmiş Sorgulama)

    • Sorgulama için kullanılabilir veri türlerini listeleme (containers, findings, kubernetes_resources vb.)
    • Belirli veri türleri için şema/üst verileri alma
    • Filtre alanları için olası değerleri listeleme
    • Filtreleme, arama ve toplama işlemleriyle RadQL sorguları yürütme
    • Yapılandırılmış koşullardan programlı olarak sorgular oluşturma
    • Birden fazla sorguyu paralel olarak yürütme

Kendi sunucunuzda barındırma

Sunucuyu kendiniz çalıştırmayı mı tercih ediyorsunuz — örneğin yalıtılmış bir ortamda, veri yerleşimi gereksinimleri nedeniyle veya barındırılan ağ geçidinden geçmesini istemediğiniz için? Sunucu npm'de ve bir container görüntüsü olarak yayımlanmıştır.

Ön koşullar

  • Node.js 20.x veya üzeri

Kimlik bilgileri

RAD Security kimlik bilgilerinizi ortam değişkenleri aracılığıyla sağlayın:

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.
# Set this without RAD_SECURITY_ACCOUNT_ID for a session across all the tenant's accounts.
RAD_SECURITY_TENANT_ID="your_tenant_id"

# Optional: true exposes only read-only tools. Tenant-scoped sessions are read-only unless this is false.
RAD_SECURITY_READONLY="true"

npx (stdio) — ör. 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

Araç takımı filtreleme

Kendi sunucunuzun hangi araç takımlarını sunacağını denetleyin:

  • INCLUDE_TOOLKITS: dahil edilecek araç takımlarının virgülle ayrılmış listesi (yalnızca bunlar etkinleştirilir).
  • EXCLUDE_TOOLKITS: hariç tutulacak araç takımlarının virgülle ayrılmış listesi (diğer tümü etkinleştirilir). INCLUDE_TOOLKITS ayarlanmışsa yok sayılır.

Kullanılabilir araç takımları: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. Varsayılan olarak tümü etkindir.

# Only the workflows toolkit
INCLUDE_TOOLKITS="workflows"

# Everything except runtime
EXCLUDE_TOOLKITS="runtime"

Çok kiracılı (istek başına kimlik doğrulama)

MCP_AUTH_MODE, Streamable HTTP dağıtımının gelen isteklerin kimliğini nasıl doğrulayacağını denetler — barındırılan uç noktanın kullandığı yöntem budur:

  • MCP_AUTH_MODE=env (varsayılan) — her oturum RAD_SECURITY_* ortam kimlik bilgilerini kullanır. Tek kiracılıdır ve HTTP katmanında kimlik doğrulaması yapılmaz; bu nedenle güvenilmeyen ağlardan erişilebilir olmamalıdır.
  • MCP_AUTH_MODE=header — her istek, kendi kimlik bilgisini Authorization başlığında taşımalıdır (yukarıdaki Bearer <access_key_id>:<secret_key>:<account_id> biçimi); eksik veya hatalı biçimlendirilmiş bir başlık 401 ile reddedilir. Yalnızca TRANSPORT_TYPE=streamable ile desteklenir. RAD_SECURITY_API_URL, çağırandan değil sunucu yapılandırmasından alınır.
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

SSE aktarımı (TRANSPORT_TYPE=sse) kullanımdan kaldırılmıştır; yerine Streamable HTTP kullanılması önerilir ve yalnızca ortam kimlik bilgilerini kullanır.

Geliştirme

# Install dependencies
npm install

# Run type checking
npm run type-check

# Run linter
npm run lint

# Build
npm run build

Lisans

MIT Lisansı - ayrıntılar için LICENSE dosyasına bakın