TL; DR
@szc-ft/mcp-szcd-client በ npm ላይ የታተመ የሞዴል አውድ ፕሮቶኮል (MCP) ደንበኛ ሲሆን ይህም የ AI ኮድ ረዳቶችን በራስ-ሰር ያዋቅራል - ገንቢው የሚጭነው የማጣበቂያ ፓኬጅ አይነት ሲሆን ይህም የ IDE ወኪል ከኮምፖንታል-ቤተ-መጽሐፍት አገልግሎት ጋር መነጋገር ይችላል። ረጅም፣ ተራ የሚመስል የመልቀቂያ ታሪክ አለው (የ 71 ስሪቶች) እና ምቹ የሆነ የመጫኛ ደረጃ። በድህረ-ጭነት ውስጥ ምንም ነገር ምስክርነቶችን አይነካም።
የብቃት ማረጋገጫ ንባብ ባህሪ በአንድ ንብርብር ውስጥ በጥልቀት ይኖራል፣ በተጣመረ የኤምሲፒ ክህሎት ውስጥ ይባላል። local-browser-testያ ክህሎት ሲኖር connect() መደበኛ ሩጫዎችን ያደርጋል፣ ይጠይቃል _decryptCredentials() - ዲክሪፕት የሚያደርገው በአካባቢያዊ የChrome/Edge መገለጫ ውስጥ ያለ እያንዳንዱ የተቀመጠ የይለፍ ቃል (ሁሉም ጣቢያዎች፣ የአሳሽ ሙከራ ኢላማ የሚያደርገው አንድ ነጠላ መተግበሪያ አይደለም) የዊንዶውስ ዳታ ጥበቃ ኤፒአይ (DPAPI) እና AES-256-GCMን በመጠቀም። ዲክሪፕት የተደረገው ስብስብ በፕላኒድ ጽሁፍ የተጻፈው ለ ~/.szcd-mcp/deps/decrypted-creds.json እና ወደ ፓኬጁ ነባሪ የርቀት MCP አገልጋይ የሚፈሰውን የክህሎት MCP መሣሪያ ውጤት ውስጥ ተመልሷል፣ mcp.szcd-mcp.top.
ይህ የአቅርቦት ሰንሰለት ንድፍ ነው መሰየም የሚገባው፡ ሚስጥራዊው ችሎታ በመጫኛ መንጠቆ ውስጥ አይደለም (አብዛኛዎቹ ስካነሮች እና ገምጋሚዎች የሚመስሉበት) ነገር ግን አንድ ኦፕሬተር መሣሪያውን ወደራሳቸው የሚሄድ አሳሽ ሲጠቁም ብቻ የሚሰራ የMCP ክህሎት ነው። እኛ እየጠራነው ነው SkillLeak. MEW ይመድባል @szc-ft/mcp-szcd-client (ስሪቶች 0.38.0 ና 0.39.0) እንደ ተንኮለኛ።
የጊዜ ማስታወሻ - የኤምሲፒ ክህሎት፦ አንድ የMCP አገልጋይ ለAI ወኪል እንደ ሊጠራ የሚችል ችሎታ የሚያጋልጣቸው በራሱ የተካተተ የመመሪያዎች እና የረዳት ስክሪፕቶች ጥቅል። ወኪሉ እንደ መሳሪያ ይጠራዋል፤ ስክሪፕቶቹ በገንቢው ማሽን ላይ ይሰራሉ።
የአጥቃቂ አናቶሚ
ፓኬጁ ሁለት በጣም የተለያዩ ፊቶችን ያቀርባል።
አንድ ገምጋሚ መጀመሪያ የሚያየው ፊት የመጫኛ መንገዱ ነው። አንጸባራቂው ይገልጻል postinstall: node scripts/postinstall.jsእና ያ ስክሪፕት README የሚናገረውን በትክክል ያደርጋል፡ እሱ ሽቦዎችን ያደርጋል MCP ወደ IDEዎች ውህደት ያደርጋል እና የወንድም/እህት ጥቅል ይጭናል፣ @szc-ft/sketch-mcp-server. ወደ ምስክርነት ኮዱ በጭራሽ አይደርስም። ሲጫን የሚቆም ስካነር hooks — በታሪክ ውስጥ ከፍተኛውን የምልክት ቦታ ለማየት — ንጹህና የማይታወቅ የገንቢ መሳሪያን ይመለከታል። ይህ ፓኬጅ በቀደመው የግምገማ ማለፊያ ላይ እንደ ደህንነቱ የተጠበቀ ተደርጎ ተገምግሟል።
አስፈላጊ የሆነው ፊት የሚገኘው በተጣመረ ክህሎት ብቻ ነው። ሰንሰለቱ፡
- አንድ ገንቢ ያስኬዳል የአካባቢ-አሳሽ-ሙከራ በሩቅ-ማረሚያ ወደብ የጀመሩትን የChrome/Edge ምሳሌን የመቃወም ችሎታ። ይህ ክህሎቱን ለመጠቀም የተረጋገጠ መንገድ ነው።
- ክህሎቱ አገናኝ() (lib/browser-engine.js) ጥሪዎች _ዲክሪፕት ክሬዲቴሽናልስ() በመስመር 246 ላይ።
- _ዲክሪፕት ክሬዲቴሽናልስ() ጥሪዎች ሁሉም የይለፍ ቃላት ዲክሪፕት ያድርጉ({ ማጣሪያ: '%' }). የ '%' ማጣሪያ የሙከራ ምቾትን ወደ መከር የሚቀይር ዝርዝር ነው፡ በሙከራ ላይ ካለው ነጠላ ጣቢያ ይልቅ ከእያንዳንዱ የተከማቸ መነሻ ጋር ይዛመዳል።
- lib/decrypt-passwords.js የአሳሹን ያነባል ኦስ_ክሪፕት የተመሰጠረ ቁልፍ፣ ያሂዳል ፓወርሼል … ProtectedData::Unprotect (DPAPI) የAES ቁልፍን መልሶ ለማግኘት፣ ከዚያም AES-256-GCM እያንዳንዱን የተቀመጠ ምስክርነት ዲክሪፕት ያደርጋል።
- ሙሉው ዲክሪፕት የተደረገው ስብስብ የተጻፈው ለ ~/.szcd-mcp/deps/decrypted-creds.json በግልጽ ጽሑፍ ውስጥ ተመልሷል እና እንደ ክህሎት ተመልሷል የኤምሲፒ መሣሪያ ውጤት።
- ያ ውጤት በMCP ቻናል በኩል ወደ ፓኬጁ ነባሪ አገልጋይ ይመለሳል፣ mcp.szcd-mcp.top — በREADME እና በ ውስጥ የተመዘገበው ተመሳሳይ አስተናጋጅ ስክሪፕቶች/lib/common.js.
ደረጃ 4 ለምን እንደሚሰራ አጭር ማስታወሻ። በዊንዶውስ ላይ፣ Chrome እና Edge የተቀመጡ የይለፍ ቃላትን በፕላንቴክስት ውስጥ አያስቀምጡም፡ እያንዳንዱ ምስክርነት በAES-256-GCM ቁልፍ የተመሰጠረ ሲሆን ያ ቁልፍ ራሱ በDPAPI የታሸገ ሲሆን ይህም ከአሁኑ የተጠቃሚ መለያ ጋር ያስራል። ስለዚህ የይለፍ ቃል መልሶ ማግኘት ሁለት እርምጃዎችን ይወስዳል - በመጀመሪያ ProtectedData::Unprotect የAES ቁልፍን መልሶ ለማግኘት (ኮዱ እንደ የገባ ተጠቃሚ ስለሚሰራ፣ ልክ የገንቢው ተርሚናል የሚያቀርበው አውድ)፣ ከዚያም ከአሳሹ የተነበበ የእያንዳንዱ የተከማቸ ብሎብ የGCM ዲክሪፕት ኦስ_ክሪፕት-የተጠበቀ መደብር። ይህ በሚገባ የተረዳ፣ ከመስመር ውጭ እና ጸጥ ያለ ነው፡ የማስተር-ይለፍ ቃል ጥያቄ የለም፣ የአሳሽ መስተጋብር የለም፣ ውጤቶቹ እስኪተላለፉ ድረስ የአውታረ መረብ ተደጋጋሚ ጉዞ የለም። ብዙ የሸቀጥ መረጃ ሰሪዎች የሚጠቀሙት ተመሳሳይ ቀዳሚ ነው - እዚህ ያለው አዲስ ነገር የሚሸከመው መጠቅለያ ብቻ ነው።
ዲክሪፕት አድራጊው በአጋጣሚ አይደለምሶስት ጊዜ ተጣምሯል - ከታች standard-ክህሎት/, ክፍት ኮድ-ቅጥያ/, እና qwen-extension/ — በእያንዳንዱ የሚደገፍ የ AI-ረዳት ወለል አንድ ቅጂ፣ ስለዚህ ገንቢው በገመድ ከተጠቀመበት ረዳት ጋር አብሮ ይሄዳል።
ከትክክለኛ የአሳሽ-ሙከራ ራስ-ሰር ጋር ያለው ንፅፅርlogin ታሪኩ ሙሉ ነው። እውነተኛ የሙከራ ረዳት የሰነዱን ምስጠራ ይፈታዋል አንድ ትግበራው exer ነውcising፣ በሂደት ላይ እያለ ይጠቀምበታል፣ እና በጭራሽ አይቀጥልም ወይም አያስተላልፍም። እዚህ ላይ ልማዱ ሁሉንም ነገር ይፈታዋል፣ በክሊር ወደ ዲስክ ይጽፈዋል፣ እና በአውታረ መረብ ድንበር በኩል ወደ የርቀት አገልጋይ ይመልሰዋል።
የጊዜ መስመር እና ቀስቅሴ
ተጋላጭነትን ለመረዳት ሁለት ባህሪያት አስፈላጊ ናቸው።
ቀስቅሴው ኦፕት-ኢን ነው፣ አውቶማቲክ አይደለም። ፓኬጁን መጫን ምንም አይነት ምስክርነቶችን አያነብም። ዲክሪፕት የሚሠራው ገንቢው विष्टን በንቃት ሲጠራ ብቻ ነው። የአካባቢ-አሳሽ-ሙከራ በርቀት-ማረሚያ ሁነታ ከጀመሩት አሳሽ ጋር ሲነፃፀሩ ክህሎት አላቸው። ይህ ከ ድህረ-ጭነት በእያንዳንዱ ላይ የሚቀጣጠል የክፍያ ጭነት የሌሊት ጭነት.
ማሸጊያው የበሰለ ነው፣ የሚጣል አይደለም። አሳታሚው 71 ስሪቶችን ልኳል እና ሰፋ ያለ @szc-ft የክፍል-ቤተ-መጽሐፍት MCP ስብስብ። የምስክርነት ዲክሪፕት በሁለቱም በተጠቆሙ ስሪቶች (0.38.0 እና 0.39.0) ውስጥ ተመሳሳይ የጣት አሻራ ያለው ሲሆን ከተመሳሳይ የጣት አሻራ የተጠራ ነው። browser-engine.js:246 የመግቢያ ነጥብ። ጥቅሉ በሚጻፍበት ጊዜ በ npm ላይ በቀጥታ ይቀጥላል።
ያ ጥምረት - የተቋቋመ አሳታሚ፣ ምቹ የመጫኛ ደረጃ እና በተወሰነ የመርጦ መግቢያ የስራ ፍሰት ስር ብቻ የሚቀጣጠል ችሎታ - አውቶማቲክ ክላሲፋየር "ደህንነቱ የተጠበቀ" እንደሆነ የተነበየበት እና ቀደም ሲል የተደረገ ግምገማ የተስማማበት ምክንያት ነው። ባህሪው የሚፈታው የክህሎቱን ረዳት ስክሪፕቶች በእጅ በማንበብ ብቻ ነው።
የመደራደር አመላካቾች
| ዓይነት | አመልካች |
|---|---|
| ጥቅል | @szc-ft/mcp-szcd-client (npm) — ስሪቶች 0.38.0, 0.39.0 |
| አውታረ መረብ | ነባሪ የርቀት MCP አገልጋይ mcp.szcd-mcp.top (README.md, scripts/lib/common.js:18) |
| ፋይል (ተጥሏል) | ~/.szcd-mcp/deps/decrypted-creds.json — የተፈቱ ግልጽ ጽሑፍ ምስክርነቶች |
| ፋይል (የክፍያ ጭነት) | .../local-browser-test/lib/decrypt-passwords.js — ዲፒኤፒአይ ProtectedData::Unprotect + AES-256-GCM (ከዚህ በታች የተጠቀለለ) standard-skill/, opencode-extension/, qwen-extension/) |
| የባህሪ | browser-engine.js:246 _decryptCredentials() → decryptAllPasswords({ filter: '%' }) (ሁሉም-ጣቢያ ወሰን) |
| የባህሪ | Chrome/Edgeን ያነባል os_crypt ቁልፍ፤ የተጀመረ አሳሽ ይፈልጋል --remote-debugging-port |
| መንጠቆውን ይጫኑ | postinstall: node scripts/postinstall.js - ሞገስ (IDE MCP config + የወንድም-ጥቅል ጭነት); ዲክሪፕት አድራጊውን አልደረሰም |
ተከላካዮች ኦዲት ማድረግ የኤምሲፒ ቱሊንግ መታከም አለበት ችሎታ ማውጫው እንደ ኢን-ስኮፕ፣ የዝርዝር እና የመጫኛ ስክሪፕቶችን ብቻ አይደለም።
ባለቤትነት እና የታየ ባህሪ
ባህሪን እንገልፃለን እንጂ ተነሳሽነትን አይደለም።
ፓኬጁ የተለጠፈው በተዋሃደ ባለብዙ ጥቅል በተቋቋመ የnpm መለያ ስር ነው። @szc-ft የMCP ስብስብ እና ረጅም የስሪት ታሪክ። ምንም አይነት የተደበቀ የትእዛዝ እና የቁጥጥር ቻናል የለም፡ የተፈቱት ምስክርነቶች በጥቅሉ በራሱ በተመዘገበው የMCP አገልጋይ በኩል ይመለሳሉ፣ mcp.szcd-mcp.topወደ ማንነቱ ያልታወቀ የመውደቅ ነጥብ ከመሄድ ይልቅ። የመጫኛው ደረጃ በእውነት ምቹ ነው።
ይህንን ከ"ጠበኛ ምቹ ባህሪ" ወደ ተንኮል አዘል ምደባ የሚያሸጋግረው የሚታየው የወሰን እና የመድረሻ ጥምረት ነው፡- መደበኛ ዲክሪፕት ማድረግ ሁሉ አንድ ሙከራ ከሚያደርገው ነጠላ መተግበሪያ ይልቅ የአሳሽ ምስክርነቶችን አስቀምጧልcisኢ፣ በዲስክ ላይ በቀላል ጽሑፍ እንዲቆዩ ያደርጋቸዋል፣ እና ከአስተናጋጁ በMCP ቻናል በኩል ያስተላልፋቸዋል። የአሳሽ-ሙከራ ራስ-ሰር-login በዚህ መንገድ የተከተለ ባህሪ በተግባር ከማረጋገጫ መዝገብ መለየት የማይቻል ነው - እና ውጤቱም አንድ ተከላካዩ ሊያስበው የሚገባው ነው።
ቀስቅሴው ኦፕት-ኢን መሆኑን እና አሳታሚው መረጋገጡን በሐቀኝነት እናስተውላለን፤ ሁለቱም እውነታዎች ከላይ ባለው መዝገብ ውስጥ ይገኛሉ። ክህሎቱን ለሚያካሂድ ገንቢ የሚታይ ውጤት አይለውጡም፤ በአሳሽ መገለጫቸው ውስጥ ለእያንዳንዱ ጣቢያ የተቀመጡ የይለፍ ቃሎች ከማሽኑ ይወጣሉ።
ተጽዕኖ፣ አዝማሚያዎች እና የተሟጋች መመሪያ
SkillLeak የአንድ ጥቅል ክስተት ነው፣ ነገር ግን የሚጠቀመው የማድረሻ ገጽ ዋናው ነጥብ ነው።
የኢንዱስትሪው የአቅርቦት ሰንሰለት ምላሾች ከመጫኛ-ጊዜ አፈፃፀም ጋር የተስተካከሉ ናቸው፡ ቅድመ-ጭነት/ድህረ-ጭነት hooks፣ የጥገኝነት-ግራ መጋባት ቢኮኖች፣ የክፍያ ጭነት ያላቸው የፊደል አጻጻፍ ስልቶች index.js. ኤምሲፒ ጂኦሜትሪውን ይለውጣልየኤምሲፒ ፓኬጅ ሙሉ በሙሉ ንጹህ የሆነ የማኒፌስት እና የመጫኛ ደረጃን መላክ ይችላል፤ ይህም የውጤት ባህሪውን በ ችሎታ — የAI ወኪል በኋላ ላይ፣ በገንቢው በራሱ መመሪያ፣ ከገንቢው ሀብቶች ጋር የሚቃረን ጥቅል። ችሎታው ከረዳት ውህደት ጋር አብሮ የሚሄድ ሲሆን መደበኛ የሚመስል የስራ ፍሰት ("የአሳሽ ሙከራውን ማስኬድ") እስኪያነቃው ድረስ እንቅልፍ ይተኛል።
የኤምሲፒ መሳሪያዎችን ለሚቀበሉ ቡድኖች፡
- የኦዲት ክህሎቶች፣ መገለጥ ብቻ አይደለም። የጥቅል ግምገማውን ወደ ያራዝሙ ክህሎቶች/, *-ቅጥያ/እና ተመሳሳይ ማውጫዎች። በጣም ሚስጥራዊ የሆነው ኮድ በመጫኛ መንጠቆ ውስጥ ላይታይ ይችላል።
- የወሰን ኢንፍሉዌንሲ ይጠብቁ። ጠባብ ዓላማ ያለው ችሎታ (አንድ መተግበሪያን ይሞክሩ) ነገር ግን በስፋት የሚሰራ (ማጣሪያ፡ '%' በሁሉም የተከማቹ መነሻዎች ላይ) ከዓላማው የተለየ ቀይ ባንዲራ ነው።
- የኤምሲፒ መሳሪያ ውጤቶችን እንደ መውጫ ቻናል አድርገው ይያዙት። ከክህሎት የተመለሰ መረጃ አስተናጋጁን ደንበኛው ለተዋቀረለት ለማንኛውም የMCP አገልጋይ ይተዋል። እነዚያን መዳረሻዎች እንደማንኛውም የወጪ ግንኙነት ይመዝግቡ።
- የ"ታመኑ" የMCP ፓኬጆችን የስሪት እክሎች እንደገና ይገምግሙ። የተቋቋመ አሳታሚ እና ረጅም የልቀት ታሪክ በእያንዳንዱ ስሪት ውስጥ የሚላከውን ኮድ ለማንበብ ምትክ አይደሉም - ይህ ሁኔታ ቀደም ሲል ደህንነቱ የተጠበቀ ግምገማን የሚሽረው እንደሚያሳየው።
በተጨባጭ፣ አንድ ገንቢ ክህሎቱን ከመተግበሩ በፊት ይህንን ጥቅል ሶስት ርካሽ ቼኮች ቀርበዋል። በመጀመሪያ፣ ለአካባቢያዊ የምስክርነት-መደብር መዳረሻ የክህሎት ማውጫዎች የይዘት ቅኝት - ማጣቀሻዎች ለ ኦስ_ክሪፕት, የተጠበቀ ውሂብ/DPAPI፣ ወይም አሳሽ Login መረጃ ፋይል - የትኛው የመጫኛ መንጠቆ ቢኖርም አቅሙን ያሳያል። ሁለተኛ፣ የዱር ካርድ መራጭን የሚቀበል ማንኛውንም ዲክሪፕት/የንባብ አሰራርን ስክሪን ማረጋገጥ (ማጣሪያ፡ '%' እና ተመጣጣኝ) ከተወሰነ መለያ ይልቅ የሙከራ-ወደ-መከር የዋጋ ግሽበትን ይይዛል። ሦስተኛ፣ አንድ ጥቅል ሊደርስበት የሚችለውን የአስተናጋጆች ስብስብ ልዩነት (እዚህ፣ mcp.szcd-mcp.top) የሰነድ ማስረጃዎቹ ከሚያስፈልጉት መዳረሻዎች ጋር ሲቃረኑ የኤምሲፒ ውጤት ቻናሉን ወደ ኦዲት ሊደረግ የሚችል የመውጫ ነጥብ ይቀይረዋል። ከእነዚህ ውስጥ አንዳቸውም ኮዱን ማስኬድ አያስፈልጋቸውም።
የምስክርነት ዲክሪፕት በዲፒኤፒአይ እና ኦስ_ክሪፕት የድሮ ቴክኒክ ነው፤ አዲሱ መጠቅለያ በምርጫ-መግቢያ የስራ ፍሰት ስር ብቻ የሚቀጣጠል የAI-ወኪል ክህሎትን በመጠቀም ማቅረብ ነው። የMCP መሳሪያ መስሪያ እየተስፋፋ ሲሄድ ተጨማሪ የችሎታ-በ-ክህሎት ንድፍ ይጠብቁ፣ እና የግምገማ ወሰን በዚሁ መሰረት ያስተካክሉ።







