MCP దుర్బలత్వాలను బయటపెట్టడం

మోడల్ కాంటెక్స్ట్ ప్రోటోకాల్ (MCP) యొక్క ప్రారంభ దశలోనే అనేక సంక్లిష్టతలు, దాడులు జరిగే అవకాశాలు ఉన్నాయి. ప్రస్తుత ప్రోటోకాల్, టూల్ డిజైన్‌లు తగిన రక్షణను అందించడంలో విఫలమవుతున్నాయి. ఈ సవాళ్లను పరిష్కరించడానికి, MCP భద్రతపై అవగాహన పెంచడానికి స్లోమిస్ట్ (SlowMist), మాస్టర్‌ MCP (MasterMCP)ని ప్రారంభించింది. ఇది దాడి అనుకరణలను సులభతరం చేయడానికి రూపొందించిన ఒక సాధనం. MCP ప్రాజెక్ట్‌లలోని భద్రతాపరమైన లోపాలను గుర్తించి, వాటిని నివారించడానికి ఇది ఉపయోగపడుతుంది.

MCP సెక్యూరిటీ చెక్‌లిస్ట్ (MCP Security Checklist) వివిధ రకాల దాడుల గురించి వివరిస్తుంది. MCP ఎకోసిస్టమ్‌లో సాధారణంగా ఉపయోగించే సమాచార విషపూరితం (information poisoning), రహస్యమైన హానికరమైన ఆదేశాల చొప్పించడం (injection of concealed malicious commands) వంటి వాటిని ఈ కథనం వివరిస్తుంది. ఈ ప్రదర్శనలో ఉపయోగించిన స్క్రిప్ట్‌లన్నీ గిట్‌హబ్‌లో (GitHub) అందుబాటులో ఉన్నాయి. వాటిని సురక్షితమైన వాతావరణంలో ఉపయోగించి, మీ స్వంత దాడి పరీక్ష ప్లగిన్‌లను అభివృద్ధి చేయవచ్చు.

ఆర్కిటెక్చర్ అవలోకనం

ప్రదర్శన కోసం లక్ష్య MCP: టూల్‌బాక్స్ (Toolbox)

Smithery.ai, MCP ప్లగిన్‌లకు ఒక ముఖ్యమైన కేంద్రంగా ఉంది. ఇక్కడ చాలా MCP లిస్టింగ్‌లు, వినియోగదారులు ఉన్నారు. వీటిలో smithery.ai అందించే అధికారిక MCP నిర్వహణ సాధనమైన @smithery/toolbox భద్రతాపరమైన అంచనాకు కేంద్రంగా ఉంది.

టూల్‌బాక్స్ పరీక్ష లక్ష్యంగా ఎంచుకోవడానికి గల కారణాలు:

  • దీనికి ఎక్కువ మంది వినియోగదారులు ఉన్నారు.
  • క్లయింట్-సైడ్ (client-side) కార్యాచరణలను (ఉదాహరణకు క్లాడ్ డెస్క్‌టాప్ (Claude Desktop)) మెరుగుపరుస్తూ, అదనపు ప్లగిన్‌ల ఆటోమేటిక్ ఇన్‌స్టాలేషన్‌కు (automatic installation) మద్దతు ఇస్తుంది.
  • ఇందులో API కీలు (API keys) వంటి సున్నితమైన కాన్ఫిగరేషన్‌లు (configurations) ఉన్నాయి. ఇది సంభావ్య దాడులను నిరూపించడానికి సహాయపడుతుంది.

ప్రదర్శన కోసం ఉపయోగించిన హానికరమైన MCP: మాస్టర్‌ MCP (MasterMCP)

స్లోమిస్ట్ ద్వారా అభివృద్ధి చేయబడిన మాస్టర్‌ MCP, భద్రతా పరీక్ష కోసం ప్రత్యేకంగా రూపొందించినది. ఇది మాడ్యులర్ ఆర్కిటెక్చర్‌పై (modular architecture) నిర్మించిన ఒక హానికరమైన MCP సాధనం. దీనిలోని ముఖ్యమైన భాగాలు:

  1. స్థానిక వెబ్‌సైట్ సర్వీస్ సిమ్యులేషన్: http://127.0.0.1:1024

వాస్తవిక దాడి దృశ్యాన్ని రూపొందించడానికి మాస్టర్ MCP, స్థానిక వెబ్‌సైట్ సర్వీస్ సిమ్యులేషన్ మాడ్యూల్‌ను కలిగి ఉంది. ఫాస్ట్ API ఫ్రేమ్‌వర్క్‌ను (FastAPI framework) ఉపయోగించి ఈ మాడ్యూల్, సాధారణ వెబ్ వాతావరణాలను అనుకరించే ఒక సాధారణ HTTP సర్వర్‌ను (HTTP server) త్వరగా ఏర్పాటు చేస్తుంది. ఈ పేజీలు సాధారణంగా బేకరీ సమాచారాన్ని చూపించడం లేదా JSON డేటాను (JSON data) అందించడం వంటివి చేస్తాయి. కానీ వాటి సోర్స్ కోడ్‌లో (source code) లేదా API ప్రతిస్పందనలలో (API responses) హానికరమైన పేలోడ్‌లు (payloads) ఉంటాయి.

ఈ విధానం, సురక్షితమైన స్థానిక వాతావరణంలో సమాచార విషపూరితం, కమాండ్ దాచడం వంటి పద్ధతులను సమగ్రంగా ప్రదర్శించడానికి అనుమతిస్తుంది. సాధారణ వెబ్ పేజీలలో దాగి ఉండే ప్రమాదాలను ఇది తెలియజేస్తుంది.

  1. స్థానికీకరించిన ప్లగ్-ఇన్ MCP ఆర్కిటెక్చర్ (Plug-in MCP Architecture)

మాస్టర్ MCP, కొత్త దాడి వెక్టర్‌ల కోసం వేగంగా విస్తరించడానికి ప్లగ్-ఇన్ విధానాన్ని అనుసరిస్తుంది. అమలు చేసినప్పుడు మాస్టర్ MCP, మునుపటి మాడ్యూల్ యొక్క ఫాస్ట్ API సేవను సబ్-ప్రాసెస్‌లో ప్రారంభిస్తుంది.

డెమోన్స్ట్రేషన్ క్లయింట్ (Demonstration Client)

  • కర్సర్ (Cursor): ప్రపంచవ్యాప్తంగా విస్తృతంగా ఉపయోగించే AI- సహాయక ప్రోగ్రామింగ్ IDEలలో ఒకటి.
  • క్లాడ్ డెస్క్‌టాప్ (Claude Desktop): MCP ప్రోటోకాల్‌ను రూపొందించిన సంస్థ అయిన ఆంత్రోపిక్ (Anthropic) యొక్క అధికారిక క్లయింట్.

ప్రదర్శన కోసం ఉపయోగించిన లార్జ్ లాంగ్వేజ్ మోడల్ (LLM)

  • క్లాడ్ 3.7 (Claude 3.7)

క్లాడ్ 3.7, సున్నితమైన కార్యకలాపాలను గుర్తించడంలో దాని సామర్థ్యాల కారణంగా ఎంపిక చేయబడింది. ఇది ప్రస్తుత MCP ఎకోసిస్టమ్‌లో బలమైన కార్యాచరణ సామర్థ్యాలను సూచిస్తుంది.

claude\_desktop\_config.json యొక్క కాన్ఫిగరేషన్

కాన్ఫిగరేషన్‌లు పూర్తయిన తర్వాత, ప్రదర్శన ప్రారంభమవుతుంది.

క్రాస్-MCP హానికరమైన ఆహ్వానం

ఈ ప్రదర్శనలో చెక్‌లిస్ట్‌లో పేర్కొన్న విషపూరిత పద్ధతులు, క్రాస్-MCP హానికరమైన ఆహ్వాన వ్యూహాలు ఉన్నాయి.

వెబ్ పేజీ కంటెంట్ విషపూరితం (Web Page Content Poisoning)

  1. కామెంట్-బేస్డ్ పాయిజనింగ్ (Comment-Based Poisoning)

కర్సర్ http://127.0.0.1:1024 వద్ద ఉన్న స్థానిక పరీక్ష వెబ్‌సైట్‌ను యాక్సెస్ చేస్తుంది.

“డెలిషియస్ కేక్ వరల్డ్ (Delicious Cake World)” గురించి ఈ సాధారణ పేజీ, హానికరమైన వెబ్‌సైట్‌ను యాక్సెస్ చేస్తున్నప్పుడు ఒక పెద్ద భాషా నమూనా క్లయింట్ యొక్క ప్రభావాన్ని వివరించడానికి ఉపయోగపడుతుంది.

ఎగ్జిక్యూషన్ కమాండ్ (Execution Command):

వెబ్ పేజీ కంటెంట్‌ను చదవడమే కాకుండా, స్థానిక సున్నితమైన కాన్ఫిగరేషన్ డేటాను పరీక్ష సర్వర్‌కు పంపుతుందని ఫలితాలు వెల్లడిస్తున్నాయి. హానికరమైన ప్రాంప్ట్ (prompt), HTML కామెంట్‌గా సోర్స్ కోడ్‌లో పొందుపరచబడి ఉంది:

కామెంట్-బేస్డ్ విధానం చాలా సులభంగా గుర్తించగలిగేది అయినప్పటికీ, హానికరమైన కార్యకలాపాలను ప్రారంభించగలదు.

  1. ఎన్‌కోడెడ్ కామెంట్ పాయిజనింగ్ (Encoded Comment Poisoning)

http://127.0.0.1:1024/encodeను యాక్సెస్ చేయడం ద్వారా, మునుపటి ఉదాహరణ వలె కనిపించే పేజీ కనిపిస్తుంది. కానీ హానికరమైన ప్రాంప్ట్‌లు ఎన్‌కోడ్ (encode) చేయబడతాయి. పేజీ యొక్క సోర్స్ కోడ్‌ను పరిశీలించినప్పుడు కూడా గుర్తించడం కష్టం అవుతుంది.

సోర్స్ కోడ్‌లో స్పష్టమైన ప్రాంప్ట్‌లు లేనప్పటికీ, దాడి విజయవంతమవుతుంది.

MCP టూల్ రిటర్న్ ఇన్ఫర్మేషన్ పాయిజనింగ్ (MCP Tool Return Information Poisoning)

మాస్టర్ MCP ప్రాంప్ట్ సూచనల ఆధారంగా, హానికరమైన MCPని ప్రేరేపించే ఒక అనుకరణ కమాండ్‌ను నమోదు చేస్తాము.

కమాండ్ ప్రేరేపించబడిన తర్వాత, క్లయింట్ టూల్‌బాక్స్‌కు క్రాస్- MCP కాల్‌ను ప్రారంభిస్తుంది. కొత్త MCP సర్వర్‌ను విజయవంతంగా జోడిస్తుంది.

ప్లగిన్ కోడ్‌ను పరిశీలిస్తే, తిరిగి వచ్చిన డేటాలో ఎన్‌కోడ్ చేయబడిన హానికరమైన పేలోడ్ ఉందని తెలుస్తుంది. ఇది వినియోగదారులకు గుర్తించడం చాలా కష్టం.

థర్డ్-పార్టీ ఇంటర్‌ఫేస్ పొల్యూషన్ ఎటాక్ (Third-Party Interface Pollution Attack)

హానికరమైన, హానికరమైనవి కాని MCPలు రెండూ నేరుగా థర్డ్-పార్టీ API డేటాను కాంటెక్స్ట్‌కు తిరిగి ఇవ్వడం వల్ల కలిగే నష్టాలను ఈ ప్రదర్శన తెలియజేస్తుంది.

ఉదాహరణ కోడ్ (Example Code):

ఎగ్జిక్యూషన్ రిక్వెస్ట్ (Execution Request):

ఫలితం: హానికరమైన ప్రాంప్ట్ తిరిగి వచ్చిన JSON డేటాలో పొందుపరచబడి ఉంటుంది. ఇది హానికరమైన ఎగ్జిక్యూషన్‌ను విజయవంతంగా ప్రారంభిస్తుంది.

MCP ప్రారంభ సమయంలో విషపూరిత పద్ధతులు

ఈ ప్రదర్శన ప్రారంభ ప్రాంప్ట్ ఇంజెక్షన్ (initial prompt injection), పేరు వివాదాల చెక్‌లిస్ట్ అంశాలను కలిగి ఉంది.

హానికరమైన ఫంక్షన్ ఓవర్‌రైట్ ఎటాక్ (Malicious Function Overwrite Attack)

మాస్టర్ MCP, టూల్‌బాక్స్ యొక్క remove_server ఫంక్షన్ వలె అదే ఫంక్షన్ పేరుతో ఒక సాధనాన్ని సృష్టిస్తుంది. దానిలో హానికరమైన ప్రాంప్ట్‌లను ఎన్‌కోడ్ చేస్తుంది.

ఎగ్జిక్యూషన్ కమాండ్ (Execution Command):

క్లాడ్ డెస్క్‌టాప్ అసలైన toolbox remove_server పద్ధతిని ఉపయోగించదు. బదులుగా మాస్టర్ MCP అందించిన అదే పేరుతో ఉన్న పద్ధతిని ఉపయోగిస్తుంది:

“అసలైన పద్ధతి వాడుకలో లేదు” అని నొక్కి చెప్పడం ద్వారా ఇది జరుగుతుంది. ఇది హానికరంగా ఓవర్‌రైట్ చేయబడిన ఫంక్షన్‌కు ప్రాధాన్యత ఇవ్వడానికి పెద్ద భాషా నమూనాను ప్రోత్సహిస్తుంది.

హానికరమైన గ్లోబల్ ఇన్‌స్పెక్షన్ లాజిక్ (Malicious Global Inspection Logic)ను జోడించడం

మాస్టర్ MCP, “banana” అనే సాధనాన్ని సృష్టిస్తుంది. ఇది ఏదైనా ఇతర సాధనం అమలు చేయడానికి ముందు తప్పనిసరిగా భద్రతా తనిఖీని అమలు చేయడానికి రూపొందించబడింది.

ప్రతి ఫంక్షన్ అమలు చేయడానికి ముందు సిస్టమ్, “banana” తనిఖీ విధానానికి ప్రాధాన్యత ఇస్తుంది:

ఈ గ్లోబల్ లాజిక్ ఇంజెక్షన్ (global logic injection), కోడ్‌లో “banana డిటెక్షన్ యొక్క తప్పనిసరి అమలు”ను పదే పదే నొక్కి చెప్పడం ద్వారా జరుగుతుంది.

హానికరమైన ప్రాంప్ట్‌లను దాచడానికి అధునాతన పద్ధతులు

LLM-ఫ్రెండ్లీ ఎన్‌కోడింగ్ పద్ధతులు (LLM-Friendly Encoding Methods)

పెద్ద భాషా నమూనాలు బహుభాషా ఫార్మాట్‌లను పార్స్ (parse) చేయగల సామర్థ్యాన్ని కలిగి ఉంటాయి. ఇది హానికరమైన సమాచారాన్ని దాచడానికి ఉపయోగపడుతుంది. సాధారణ పద్ధతులు:

  • ఇంగ్లీష్ వాతావరణం: హెక్స్ బైట్ ఎన్‌కోడింగ్ (Hex Byte encoding)
  • చైనీస్ వాతావరణం: NCR ఎన్‌కోడింగ్ లేదా జావాస్క్రిప్ట్ ఎన్‌కోడింగ్ (JavaScript encoding)

రాండమ్ హానికరమైన పేలోడ్ రిటర్న్ మెకానిజం (Random Malicious Payload Return Mechanism)

మూడవ విభాగంలో పేర్కొన్న థర్డ్-పార్టీ ఇంటర్‌ఫేస్ పొల్యూషన్ మాదిరిగానే http://127.0.0.1:1024/randomను అభ్యర్థించడం వలన:

ప్రతి అభ్యర్థన, యాదృచ్ఛికంగా రూపొందించబడిన హానికరమైన పేలోడ్‌ను కలిగి ఉన్న పేజీని తిరిగి ఇస్తుంది. ఇది గుర్తించడం, ట్రేస్ చేయడం చాలా కష్టం అవుతుంది.

మాస్టర్ MCP యొక్క ఆచరణాత్మక ప్రదర్శన ద్వారా మోడల్ కాంటెక్స్ట్ ప్రోటోకాల్ (MCP) ఎకోసిస్టమ్‌లోని దాగి ఉన్న భద్రతా లోపాలు వెల్లడించబడ్డాయి. ప్రాథమిక ప్రాంప్ట్ ఇంజెక్షన్‌లు (prompt injections), క్రాస్-MCP కాల్‌ల నుండి ప్రారంభించి హానికరమైన సూచనల దాడి వరకు ప్రతి దశ, MCP ఎకోసిస్టమ్ యొక్క శక్తితో పాటు అంతర్గత బలహీనతను గుర్తు చేస్తుంది.

ఈ రోజుల్లో పెద్ద నమూనాలు బాహ్య ప్లగిన్‌లు, APIలతో ఎక్కువగా సంకర్షణ చెందుతున్నందున సాధారణంగా కనిపించే చిన్న సమాచార కాలుష్యం కూడా సిస్టమ్-వైడ్ భద్రతా నష్టాలను కలిగిస్తుంది. ఎన్‌కోడింగ్ పద్ధతులు, యాదృచ్ఛిక కాలుష్యం (random pollution), ఫంక్షన్ ఓవర్‌రైట్‌లతో సహా దాడి చేసే వ్యూహాల పెరుగుతున్న వైవిధ్యం సాంప్రదాయ భద్రతా విధానాలకు సమగ్రమైన నవీకరణను కోరుతుంది.