DVMCP સામે capgate નું પરીક્ષણ
મેં Damn Vulnerable MCP (DVMCP) પ્રોજેક્ટમાં દસ ખામીયુક્ત MCP સર્વર્સ સામે મારા ટૂલ, capgate, નું પરીક્ષણ કર્યું.
DVMCP એ એક શૈક્ષણિક સાધન છે. દરેક સર્વર prompt injection, token theft, અથવા command injection જેવી ચોક્કસ પ્રકારની હુમલા પદ્ધતિઓ દર્શાવે છે.
ધ્યેય સરળ હતું. મેં દરેક ટૂલ માટે એક પ્રમાણિક manifest લખ્યું. પછી મેં પૂછ્યું: capgate જે સીમા (boundary) બનાવે છે તે ખરેખર હુમલાને રોકે છે?
પરિણામો બતાવે છે કે એક capability compiler શું કરી શકે છે અને શું નથી કરી શકતું.
તે શું રોકે છે (ચોક્કસ નિશાન) Challenge 3 માં, એક ટૂલ પાસે અતિશય પરવાનગીઓ છે. તે એક ફોલ્ડર વાંચવાનો દાવો કરે છે પરંતુ વાસ્તવમાં આખી ડિસ્ક વાંચી શકે છે. હુમલો ખાનગી ફોલ્ડરમાંથી સિસ્ટમ ક્રેડેન્શિયલ્સ ચોરવાનો પ્રયાસ કરે છે. capgate આને રોકે છે. તે manifest ને એવા Docker container માં કમ્પાઈલ કરે છે જે ફક્ત મંજૂર કરેલા ફોલ્ડરને જ માઉન્ટ કરે છે. સેન્ડબોક્સ (sandbox) ની અંદર ખાનગી ફાઇલો અસ્તિત્વમાં નથી હોતી. હુમલો નિષ્ફળ જાય છે.
તે શું નિયંત્રિત કરે છે (મધ્યમ સ્તર) Challenge 7 માં, એક ટૂલ API key લીક કરે છે. capgate ટૂલને કી વાંચતા રોકી શકતું નથી, પરંતુ તે ડેટાની ચોરી (exfiltration) રોકે છે. તે એક egress proxy બનાવે છે જે ફક્ત એક ચોક્કસ હોસ્ટ સાથે જોડાણની મંજૂરી આપે છે. હુમલાખોર ચોરાયેલી કી તેમના પોતાના સર્વર પર મોકલી શકતો નથી.
Challenge 8 માં, એક ટૂલ મનસ્વી (arbitrary) shell commands ની મંજૂરી આપે છે. capgate તેની વ્યાકરણ (grammar) માં "કોઈપણ shell ની મંજૂરી આપો" તે વ્યક્ત કરી શકતું નથી. તેના બદલે, તે ટૂલને એક બોક્સમાં સીમિત કરી દે છે. જો હુમલાખોર કોઈ કમાન્ડ ચલાવે તો પણ, તે પ્રક્રિયા પાસે કોઈ નેટવર્ક, કોઈ વધારાના વિશેષાધિકારો (privileges) નથી અને ફાઇલ સિસ્ટમ ફક્ત read-only છે. નુકસાન મર્યાદિત રહે છે.
તે શું ચૂકી જાય છે (મર્યાદાઓ) Challenge 1 માં, હુમલો prompt injection છે. હુમલાખોર મોડેલને સૂચનાઓ અવગણવા માટે છેતરે છે. capgate અહીં કંઈ કરી શકતું નથી. સેન્ડબોક્સ કમ્પાઈલર ટૂલ શું સ્પર્શી શકે છે તેના પર મર્યાદા મૂકે છે, પરંતુ તે LLM શું કહે છે તેના પર નિયંત્રણ રાખી શકતું નથી.
જો તમે એમ માનતા હોવ કે સેન્ડબોક્સ prompt injection ને રોકે છે, તો તમે ખોટા છો. તે માત્ર નુકસાનને મર્યાદિત કરીને prompt injection ને ઓછું ઉપયોગી બનાવે છે.
સારાંશ • એક સંપૂર્ણ નિવારણ. • ચાર અર્થપૂર્ણ નિયંત્રણો. • ત્રણ પ્રમાણિક નિષ્ફળતાઓ.
capgate કોઈ જાદુઈ લાકડી નથી. તે સુરક્ષાનું એક સ્તર છે. તે "આ સર્વર બધી જગ્યાએ પહોંચી શકે છે" ને બદલે "આ સર્વર ફક્ત એક ચોક્કસ પાથ (path) સુધી જ પહોંચી શકે છે" માં ફેરવે છે.
વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi