Asosiy kontentga o‘tish
AI qo‘llanmalari

MCP server konfiguratsiyalarini xavfsizlik xatarlari bo‘yicha qanday tekshirish

Model Context Protocol konfiguratsiyalarini skanerlash uchun mcp-audit-tool dasturini o‘rnatish va undan foydalanish, uning 12 ta aniqlash qoidasini tushunish, JSON yoki SARIF hisobotlarini yaratish hamda GitHub Actions’da xavfsizlik chegaralarini joriy etishni o‘rganing.

MCP server konfiguratsiyalarini xavfsizlik xatarlari bo‘yicha tekshirish

mcp-audit-tool nima qiladi

mcp-audit-tool — Model Context Protocol (MCP) mijozlari konfiguratsiyalarini tahlil qiluvchi, faqat Python’da ishlaydigan buyruq satri xavfsizlik analizatori. U Claude Desktop, Cursor, Windsurf, Cline, Zed va VS Code kabi mijozlar foydalanadigan konfiguratsiyalarni statik tarzda tekshiradi.

MCP serverlari fayllarni o‘qishi, buyruqlarni bajarishi, hisob ma’lumotlariga kirishi va AI yordamchilariga vositalar taqdim etishi mumkin. Bitta xavfli konfiguratsiya yozuvi maxfiy ma’lumotlarni oshkor qilishi, fayl tizimiga haddan tashqari keng kirish huquqini berishi, ishonchsiz paketni yuklab olishi yoki model kontekstiga ko‘rsatmalar kiritishi mumkin. Auditor MCP serveri ishga tushishidan oldin ushbu xatarlarni aniqlashga yordam beradi.

Ushbu vosita Node.js, Docker yoki LLM API kalitini talab qilmaydi. U Python 3.9 va undan keyingi versiyalarni qo‘llab-quvvatlaydi hamda terminal, JSON va SARIF 2.1.0 hisobotlarini yaratadi.

Asosiy imkoniyatlar

  • macOS, Linux va Windows tizimlarida qo‘llab-quvvatlanadigan MCP konfiguratsiyalarini avtomatik aniqlaydi.
  • Maxfiy ma’lumotlar, buyruqlarni bajarish, ruxsatlar, transport, autentifikatsiya, vositalarni zaharlash va ta’minot zanjiri xatarlarini qamrab oluvchi 12 ta xavfsizlik qoidasini tekshiradi.
  • A+ dan F gacha bo‘lgan xavfsizlik bali va darajasini hisoblaydi.
  • Aniqlangan muammolar uchun amaliy tuzatish tavsiyalarini ko‘rsatadi.
  • Mashinada o‘qiladigan JSON va SARIF hisobotlarini eksport qiladi.
  • CI/CD quvurlari uchun jiddiylik darajasiga asoslangan build xatoliklarini qo‘llab-quvvatlaydi.
  • Kelajakdagi tekshiruvlarni qo‘shish imkonini beruvchi kengaytiriladigan qoidalar mexanizmidan foydalanadi.

O‘rnatish va sozlash

1-variant: macOS va Linux o‘rnatuvchisi

README faylida macOS va Linux uchun quyidagi bir qatorli o‘rnatish buyrug‘i berilgan:

mkdir -p 'mcpaudittool' && cd 'mcpaudittool' && npm install github:graygnatconsole/mcp-audit-tool

O‘rnatuvchi Python 3.9 yoki undan yangi versiyasi mavjudligini tekshiradi, imkon bo‘lsa Homebrew orqali pipx ni sozlaydi va CLI’ni ajratilgan muhitga o‘rnatadi. Yangi Mac’da zarur bo‘lsa, avval Apple’ning buyruq satri vositalarini o‘rnating:

xcode-select --install

2-variant: pipx

pipx barcha qo‘llab-quvvatlanadigan platformalar uchun tavsiya etiladigan o‘rnatish usulidir:

pipx install git+https://github.com/graygnatconsole/mcp-audit-tool.git

3-variant: pip

Paketni to‘g‘ridan-to‘g‘ri Python muhitiga ham o‘rnatishingiz mumkin:

pip install git+https://github.com/graygnatconsole/mcp-audit-tool.git

4-variant: manba kodidan o‘rnatish

Repository’ni klonlang va uni ishlab chiqish bog‘liqliklari bilan tahrirlanadigan rejimda o‘rnating:

git clone https://github.com/graygnatconsole/mcp-audit-tool.git
cd mcp-audit-tool
pip install -e ".[dev]"

Birinchi auditni ishga tushirish

O‘rnatishdan so‘ng, kompyuterdagi MCP konfiguratsiyalarini avtomatik aniqlash uchun skanerni yo‘lsiz ishga tushiring:

mcp-audit scan

Bitta muayyan konfiguratsiyani tekshirish uchun uning yo‘lini argument sifatida bering:

mcp-audit scan ~/.cursor/mcp.json

Repository’da sinov uchun foydalanish mumkin bo‘lgan, ataylab zaif qilingan misol ham mavjud:

mcp-audit scan examples/vulnerable-claude-config.json

Terminal hisoboti umumiy ball, daraja, serverlar va konfiguratsiya fayllari soni, jiddiylik darajalari bo‘yicha hisoblar, ta’sirlangan serverlar, qoida identifikatorlari va tavsiya etilgan tuzatishlarni o‘z ichiga oladi. Past natija qattiq kodlangan hisob ma’lumotlari, xavfli shell buyruqlari, versiyasi belgilanmagan paketlar, fayl tizimining keng yo‘llari, xavfsiz bo‘lmagan masofaviy endpointlar yoki shubhali vosita tavsiflarini ko‘rsatishi mumkin.

Konfiguratsiyani avtomatik aniqlashni tushunish

Fayl yo‘li berilmasa, vosita qo‘llab-quvvatlanadigan MCP mijozlarining umumiy joylashuvlarini qidiradi. Misollar:

  • macOS, Linux va Windows tizimlarida ilovani qo‘llab-quvvatlash katalogidagi Claude Desktop konfiguratsiyasi.
  • Cursor uchun ~/.cursor/mcp.json.
  • macOS’da Windsurf uchun ~/.codeium/windsurf/mcp_config.json.
  • Tegishli VS Code global saqlash katalogidagi Cline sozlamalari.
  • macOS va Linux’da Zed uchun ~/.config/zed/settings.json.
  • .vscode/mcp.json, .cursor/mcp.json, .mcp.json va mcp.json kabi loyiha darajasidagi fayllar.

Audit qamrovini aniq belgilashni istasangiz, avtomatik aniqlashga tayanish o‘rniga konfiguratsiya fayllarining aniq yo‘llarini bering.

Aniqlash qoidalarini ko‘rib chiqish

Mavjud tekshiruvlar ro‘yxatini ko‘rish uchun rules buyrug‘idan foydalaning:

mcp-audit rules

O‘rnatilgan qoidalar:

  • MAT-001: server muhit o‘zgaruvchilaridagi OpenAI, Anthropic, GitHub, AWS, Slack, Google yoki shaxsiy kalitlarga oid qattiq kodlangan maxfiy ma’lumotlar.
  • MAT-002: maxfiy host muhit o‘zgaruvchilarining server jarayoniga uzatilishi.
  • MAT-003: rug-pull va ta’minot zanjiri xatarlarini yuzaga keltirishi mumkin bo‘lgan versiyasi belgilanmagan npx, uvx yoki pipx paketlari.
  • MAT-004: curl yoki wget chiqishining shell’ga uzatilishi.
  • MAT-005: rm -rf, sudo, chmod 777 yoki eval kabi xavfli buyruqlar.
  • MAT-006: buyruq kiritish xavfini oshiruvchi shell -c o‘ramlari.
  • MAT-007: /, ~ yoki $HOME kataloglariga ildizlangan fayl tizimi serverlari.
  • MAT-008: ochiq HTTP’dan foydalanadigan masofaviy MCP serverlari.
  • MAT-009: sozlangan autentifikatsiyasiz masofaviy MCP serverlari.
  • MAT-010: vosita tavsiflaridagi yashirin ko‘rsatma belgilari, ular vositani zaharlashga ishora qilishi mumkin.
  • MAT-011: avtomatik tasdiqlash ro‘yxatiga kiritilgan buzuvchi vositalar.
  • MAT-012: * belgisi bilan berilgan umumiy ruxsatlar.

JSON va SARIF hisobotlarini yaratish

Boshqa skript yoki xavfsizlik jarayoni aniqlangan muammolarni qayta ishlashi kerak bo‘lsa, JSON’dan foydalaning:

mcp-audit scan --format json --output report.json

GitHub Code Scanning va boshqa SARIF bilan mos tizimlar uchun SARIF 2.1.0 faylini yarating:

mcp-audit scan --format sarif --output results.sarif

Bu formatlar terminal chiqishi yetarli bo‘lmagan holatlarda, masalan, rejalashtirilgan auditlar, boshqaruv panellari, pull-request tekshiruvlari yoki markazlashtirilgan xavfsizlik hisobotlarida foydalidir.

Jiddiy topilmalar aniqlanganda build jarayonini muvaffaqiyatsiz yakunlash

Topilmalar belgilangan jiddiylik chegarasiga teng yoki undan yuqori bo‘lganda buyruq muvaffaqiyatsiz status qaytarishi uchun --fail-on parametridan foydalaning:

mcp-audit scan --fail-on high

Hujjatlarda ko‘rsatilgan chiqish kodlari:

  • 0: skanerlash tanlangan chegaraga teng yoki undan yuqori topilmalarsiz yakunlandi.
  • 1: bir yoki bir nechta topilma tanlangan chegaraga teng yoki undan yuqori bo‘ldi.
  • 2: foydalanish xatosi yuz berdi, masalan, fayl yetishmasligi, tahlil qilish xatosi yoki noto‘g‘ri parametr.

Auditni GitHub Actions bilan integratsiya qilish

Push va pull requestlar vaqtida loyiha darajasidagi MCP fayllarini audit qilishingiz, so‘ng natijalarni GitHub Security bo‘limiga yuklashingiz mumkin:

name: MCP Security Audit
on: [push, pull_request]

permissions:
  security-events: write

jobs:
  mcp-audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: "3.12"
      - run: pipx install git+https://github.com/graygnatconsole/mcp-audit-tool.git
      - name: Audit MCP configs
        run: mcp-audit scan .vscode/mcp.json .cursor/mcp.json --format sarif --output results.sarif
      - name: Upload to GitHub Code Scanning
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: results.sarif

Workflow security-events: write ruxsatini beradi, tanlangan konfiguratsiya fayllarini skanerlaydi va yaratilgan SARIF faylini GitHub CodeQL action orqali yuklaydi.

Kengaytirilgan foydalanish va muammolarni bartaraf etish bo‘yicha maslahatlar

Serverni ishga tushirishga ruxsat berishdan oldin audit qiling

MCP server konfiguratsiyasini qo‘shganingizda yoki yangilaganingizda auditni ishga tushiring. Bu npx yoki uvx kabi paket ishga tushiruvchilaridan foydalanadigan yozuvlar uchun ayniqsa muhim, chunki versiyasi mahkamlanmagan paketlar ishga tushirishlar orasida o‘zgarishi mumkin.

Kritik topilmalarga e’tibor bering

Kritik topilmalarga kodga qattiq kiritilgan maxfiy ma’lumotlar, shell orqali ishga tushiriladigan installerlar va vositani zaharlash belgilari kiradi. Oshkor bo‘lgan hisob ma’lumotlarini secrets manager’ga ko‘chiring va ularni darhol almashtiring. Installer skriptlarini ko‘rib chiqish uchun yuklab oling, ularning checksums qiymatlarini mahkamlang va masofaviy kontentni bevosita shell’ga uzatish o‘rniga ko‘rib chiqilgan mahalliy nusxalarni ishga tushiring.

Ruxsatlarni kamaytiring

Fayl tizimi serverlarini /, ~ yoki $HOME o‘rniga zarur bo‘lgan eng kichik katalog bilan cheklang. Umumiy wildcard ruxsatlarini aniq cheklangan ruxsatlar bilan almashtiring va buzuvchi vositalarni avtomatik tasdiqlash ro‘yxatiga kiritishdan oldin tekshiring.

Masofaviy serverlarni himoyalang

Masofaviy MCP serverlari uchun oddiy HTTP o‘rniga xavfsiz transportni afzal ko‘ring va autentifikatsiyani sozlang. Skaner xavfsiz bo‘lmagan transport hamda autentifikatsiya mavjud emasligini belgilaydi, shuning uchun masofaviy kirish sukut bo‘yicha himoyasiz qolmaydi.

Qoidalar mexanizmidan boshlang‘ich nuqta sifatida foydalaning

Loyiha o‘z qoidalar mexanizmini kengaytiriladigan deb ta’riflaydi: yangi qoida qo‘shish uchun bitta kichik funksiya kifoya. Tashkilotingizda qo‘shimcha MCP xavfsizlik talablari bo‘lsa, qoida yaratish va unga hissa qo‘shishdan oldin repository’ning hissa qo‘shish bo‘yicha ko‘rsatmalarini ko‘rib chiqing.

Xulosa

mcp-audit-tool MCP mijoz konfiguratsiyalari uchun amaliy dastlabki xavfsizlik tekshiruvini taqdim etadi. Uni pipx orqali o‘rnating, aniqlangan yoki aniq tanlangan fayllarni skanerlang, ball va muammolarni bartaraf etish bo‘yicha ko‘rsatmalarni ko‘rib chiqing hamda avtomatlashtirishga integratsiya qilishda JSON yoki SARIF formatiga eksport qiling. Skanerlashni CI’ga qo‘shish AI yordamchisi ularni ishga tushirishidan oldin xavfli MCP o‘zgarishlarini aniqlashga yordam beradi.