
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-toolO‘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 --install2-variant: pipx
pipx barcha qo‘llab-quvvatlanadigan platformalar uchun tavsiya etiladigan o‘rnatish usulidir:
pipx install git+https://github.com/graygnatconsole/mcp-audit-tool.git3-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.git4-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 scanBitta muayyan konfiguratsiyani tekshirish uchun uning yo‘lini argument sifatida bering:
mcp-audit scan ~/.cursor/mcp.jsonRepository’da sinov uchun foydalanish mumkin bo‘lgan, ataylab zaif qilingan misol ham mavjud:
mcp-audit scan examples/vulnerable-claude-config.jsonTerminal 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.jsonvamcp.jsonkabi 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 rulesO‘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,uvxyokipipxpaketlari. - MAT-004:
curlyokiwgetchiqishining shell’ga uzatilishi. - MAT-005:
rm -rf,sudo,chmod 777yokievalkabi xavfli buyruqlar. - MAT-006: buyruq kiritish xavfini oshiruvchi shell
-co‘ramlari. - MAT-007:
/,~yoki$HOMEkataloglariga 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.jsonGitHub Code Scanning va boshqa SARIF bilan mos tizimlar uchun SARIF 2.1.0 faylini yarating:
mcp-audit scan --format sarif --output results.sarifBu 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 highHujjatlarda 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.sarifWorkflow 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.
