
mcp-audit-tool hufanya nini
mcp-audit-tool ni kichanganuzi cha usalama cha mstari wa amri kilichoandikwa kwa Python pekee, kwa ajili ya usanidi wa wateja wa Model Context Protocol (MCP). Huchanganua bila kuendesha usanidi unaotumiwa na wateja kama Claude Desktop, Cursor, Windsurf, Cline, Zed na VS Code.
Seva za MCP zinaweza kusoma faili, kutekeleza amri, kufikia vitambulisho na kutoa zana kwa wasaidizi wa AI. Kipengele kimoja kisicho salama cha usanidi kinaweza kufichua siri, kutoa ufikiaji mpana kupita kiasi wa mfumo wa faili, kupakua kifurushi kisichoaminika au kuingiza maagizo katika muktadha wa modeli. Kikaguzi husaidia kutambua hatari hizi kabla seva ya MCP haijaendeshwa.
Zana hii haihitaji Node.js, Docker wala ufunguo wa API wa LLM. Inatumia Python 3.9 na matoleo ya baadaye, na hutengeneza ripoti za terminali, JSON na SARIF 2.1.0.
Sifa kuu
- Hutambua kiotomatiki usanidi wa MCP unaoungwa mkono kwenye macOS, Linux na Windows.
- Hukagua sheria 12 za usalama zinazohusu siri, utekelezaji wa amri, ruhusa, usafirishaji, uthibitishaji, sumu ya zana na hatari za mnyororo wa usambazaji.
- Hukokotoa alama na daraja la usalama kutoka A+ hadi F.
- Huonyesha mwongozo wa vitendo wa kurekebisha matokeo.
- Hutoa ripoti za JSON na SARIF zinazoweza kusomwa na mashine.
- Inaauni kushindwa kwa miundo ya CI/CD kulingana na kiwango cha ukali.
- Inatumia injini ya sheria inayoweza kupanuliwa ili kuongeza ukaguzi wa baadaye.
Usakinishaji na usanidi
Chaguo la 1: Kisakinishi cha macOS na Linux
README hutoa amri ifuatayo ya mstari mmoja ya usakinishaji kwa macOS na Linux:
mkdir -p 'mcpaudittool' && cd 'mcpaudittool' && npm install github:graygnatconsole/mcp-audit-toolKisakinishi hukagua Python 3.9 au mpya zaidi, huweka pipx kupitia Homebrew inapopatikana, na husakinisha CLI katika mazingira yaliyotengwa. Kwenye Mac mpya, sakinisha kwanza zana za mstari wa amri za Apple ikihitajika:
xcode-select --installChaguo la 2: pipx
pipx ndiyo njia inayopendekezwa ya usakinishaji kwenye jukwaa lolote linaloungwa mkono:
pipx install git+https://github.com/graygnatconsole/mcp-audit-tool.gitChaguo la 3: pip
Pia unaweza kusakinisha kifurushi moja kwa moja katika mazingira ya Python:
pip install git+https://github.com/graygnatconsole/mcp-audit-tool.gitChaguo la 4: sakinisha kutoka kwenye msimbo chanzi
Fanya clone ya hazina na uisakinishe katika hali ya kuhariri pamoja na vitegemezi vya usanidi:
git clone https://github.com/graygnatconsole/mcp-audit-tool.git
cd mcp-audit-tool
pip install -e ".[dev]"Endesha ukaguzi wako wa kwanza
Baada ya usakinishaji, endesha kichanganuzi bila njia ili kitambue kiotomatiki usanidi wa MCP kwenye mashine:
mcp-audit scanIli kuchanganua usanidi mmoja mahususi, pitisha njia yake kama hoja:
mcp-audit scan ~/.cursor/mcp.jsonHazina pia inajumuisha mfano ulioathiriwa kimakusudi, unaofaa kwa majaribio:
mcp-audit scan examples/vulnerable-claude-config.jsonRipoti ya terminali hujumuisha alama ya jumla, daraja, idadi ya seva na faili za usanidi, hesabu za viwango vya ukali, seva zilizoathiriwa, vitambulisho vya sheria na mapendekezo ya kurekebisha. Matokeo mabaya yanaweza kubainisha vitambulisho vilivyowekwa moja kwa moja, amri hatari za shell, vifurushi visivyowekewa matoleo maalum, njia pana za mfumo wa faili, vituo vya mbali visivyo salama au maelezo ya zana yenye kutia shaka.
Elewa utambuzi wa usanidi kiotomatiki
Wakati hakuna njia ya faili iliyotolewa, zana hutafuta maeneo ya kawaida ya wateja wa MCP wanaoungwa mkono. Mifano ni pamoja na:
- Usanidi wa Claude Desktop katika saraka ya usaidizi wa programu kwenye macOS, Linux na Windows.
~/.cursor/mcp.jsonkwa Cursor.~/.codeium/windsurf/mcp_config.jsonkwa Windsurf kwenye macOS.- Mipangilio ya Cline katika saraka husika ya hifadhi ya kimataifa ya VS Code.
~/.config/zed/settings.jsonkwa Zed kwenye macOS na Linux.- Faili za kiwango cha mradi kama vile
.vscode/mcp.json,.cursor/mcp.json,.mcp.jsonnamcp.json.
Ukitaka upeo wa ukaguzi unaotabirika, pitisha faili halisi za usanidi badala ya kutegemea utambuzi.
Kagua sheria za utambuzi
Tumia amri ya sheria kuorodhesha ukaguzi unaopatikana:
mcp-audit rulesSheria zilizojengwa ndani zinajumuisha:
- MAT-001: siri za OpenAI, Anthropic, GitHub, AWS, Slack, Google au funguo za kibinafsi zilizowekwa moja kwa moja katika vigezo vya mazingira vya seva.
- MAT-002: vigezo nyeti vya mazingira ya mwenyeji vinavyopitishwa kwa mchakato wa seva.
- MAT-003: vifurushi vya
npx,uvxaupipxvisivyowekewa matoleo maalum, ambavyo vinaweza kuunda hatari za rug-pull na mnyororo wa usambazaji. - MAT-004: matokeo ya
curlauwgetyanayopitishwa kwenye shell. - MAT-005: amri hatari kama vile
rm -rf,sudo,chmod 777aueval. - MAT-006: vifungashio vya shell
-cvinavyoongeza hatari ya sindikizo la amri. - MAT-007: seva za mfumo wa faili zilizoanzishwa kwenye
/,~au$HOME. - MAT-008: seva za MCP za mbali zinazotumia HTTP isiyosimbwa.
- MAT-009: seva za MCP za mbali zisizo na uthibitishaji uliosanidiwa.
- MAT-010: viashiria vya maagizo yaliyofichwa katika maelezo ya zana, ambavyo vinaweza kupendekeza sumu ya zana.
- MAT-011: zana haribifu zilizowekwa kwenye orodha ya kuidhinisha kiotomatiki.
- MAT-012: ruhusa za wildcard
*.
Tengeneza ripoti za JSON na SARIF
Tumia JSON wakati hati nyingine au mchakato wa usalama unahitaji kutumia matokeo:
mcp-audit scan --format json --output report.jsonKwa GitHub Code Scanning na mifumo mingine inayooana na SARIF, tengeneza faili la SARIF 2.1.0:
mcp-audit scan --format sarif --output results.sarifMiundo hii ni muhimu wakati matokeo ya kituo cha amri hayatoshi, kama vile ukaguzi uliopangwa, dashibodi, ukaguzi wa maombi ya kuvuta, au kuripoti za usalama zilizowekwa katikati.
Fanya miundo ishindwe inapopatikana matokeo mazito
Tumia --fail-on ili amri irejeshe hali ya kushindwa wakati matokeo yanapofikia au kuzidi kizingiti cha ukali:
mcp-audit scan --fail-on highMisimbo ya kutoka iliyoandikwa ni:
- 0: uchanganuzi umekamilika bila matokeo yaliyofikia au kuzidi kizingiti kilichochaguliwa.
- 1: matokeo moja au zaidi yamefikia au kuzidi kizingiti kilichochaguliwa.
- 2: hitilafu ya matumizi imetokea, kama vile faili kukosekana, hitilafu ya uchanganuzi, au chaguo batili.
Unganisha ukaguzi kwenye GitHub Actions
Unaweza kukagua faili za MCP za kiwango cha mradi wakati wa usukumaji na maombi ya kuvuta, kisha upakie matokeo kwenye kichupo cha Usalama cha GitHub:
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.sarifMtiririko wa kazi unaruhusu security-events: write, huchanganua faili za usanidi zilizochaguliwa, na hupakia faili la SARIF lililotengenezwa kupitia kitendo cha CodeQL cha GitHub.
Matumizi ya hali ya juu na vidokezo vya kurekebisha
Kagua kabla ya kuruhusu seva iendeshe
Fanya ukaguzi kila unapoongeza au kusasisha usanidi wa seva ya MCP. Hili ni muhimu hasa kwa maingizo yanayotumia waendeshaji wa vifurushi kama vile npx au uvx, kwa sababu vifurushi visivyofungwa kwenye matoleo maalum vinaweza kubadilika kati ya uzinduzi.
Zingatia matokeo muhimu
Matokeo muhimu yanajumuisha siri zilizowekwa moja kwa moja kwenye msimbo, visakinishi vinavyopitisha maudhui moja kwa moja kwenye shell, na viashiria vya sumu ya zana. Hamishia vitambulisho vilivyofichuliwa kwenye kidhibiti cha siri na vibadilishe mara moja. Pakua hati za visakinishi ili kuzikagua, funga thamani zao za hundi, na utekeleze nakala za ndani zilizokaguliwa badala ya kupitisha maudhui ya mbali moja kwa moja kwenye shell.
Punguza ruhusa
Zuia seva za mfumo wa faili kwenye saraka ndogo zaidi inayohitajika badala ya /, ~, au $HOME. Badilisha ruhusa za wildcard kwa ruhusa zenye upeo maalum, na kagua zana hatari kabla ya kuziweka kwenye orodha ya kuidhinisha kiotomatiki.
Linda seva za mbali
Pendelea usafirishaji salama badala ya HTTP isiyosimbwa na sanidi uthibitishaji kwa seva za MCP za mbali. Kichanganuzi huashiria usafirishaji usio salama pamoja na ukosefu wa uthibitishaji ili ufikiaji wa mbali usiachwe wazi kwa chaguo-msingi.
Tumia injini ya kanuni kama mwanzo
Mradi unaeleza injini yake ya kanuni kuwa inaweza kupanuliwa: kuongeza kanuni mpya kunahitaji kitendakazi kimoja kidogo. Ikiwa shirika lako lina mahitaji ya ziada ya usalama wa MCP, kagua mwongozo wa kuchangia wa hazina kabla ya kutekeleza na kuchangia kanuni.
Hitimisho
mcp-audit-tool hutoa ukaguzi wa kwanza wa usalama wa vitendo kwa usanidi wa wateja wa MCP. Isakinishe kwa pipx, changanua faili zilizogunduliwa au zilizochaguliwa waziwazi, kagua alama na mwongozo wa kurekebisha, na hamisha JSON au SARIF unapoiunganisha na otomatiki. Kuongeza uchanganuzi kwenye CI husaidia kugundua mabadiliko yasiyo salama ya MCP kabla ya msaidizi wa AI kuyatekeleza.
