TL; DR
@szc-ft/mcp-szcd-client er MCP-viðskiptavinur (Model Context Protocol) sem er gefinn út á npm og stillir sjálfkrafa aðstoðarmenn fyrir gervigreindarkóðun — sú tegund límpakka sem forritari setur upp svo IDE-umboðsmaður geti átt samskipti við íhlutabókasafnsþjónustu. Hann hefur langa, venjulegt útlit útgáfusögu (71 útgáfur) og óaðfinnanlegt uppsetningarskref. Ekkert í eftiruppsetningu snertir innskráningarupplýsingar.
Lestrarhegðun skilríkja er eitt lag dýpra, í pakkaðri MCP færni sem kallast local-browser-testÞegar sú færni er connect() venjubundnar keyrslur, það kallar á _decryptCredentials() — sem afkóðar öll vistuð lykilorð í staðbundnu Chrome/Edge prófílnum (allar síður, ekki það eina forrit sem vafraprófun myndi miða á) með því að nota Windows Data Protection API (DPAPI) og AES-256-GCM. Afkóðaða safnið er skrifað í látlausum texta til að ~/.szcd-mcp/deps/decrypted-creds.json og skilað innan MCP-tólsniðurstöðu færninnar, sem rennur til sjálfgefinnar fjarlægrar MCP-þjóns pakkans, mcp.szcd-mcp.top.
Þetta er mynstur í framboðskeðjunni sem vert er að nefna: Viðkvæma möguleikinn er ekki í uppsetningarkróki (þar sem flestir skannarar og gagnrýnendur leita) en í MCP færni sem aðeins keyrir þegar notandi beinir tólinu að sínum eigin vafra. Við köllum það SkillLeakMEW flokkar @szc-ft/mcp-szcd-client (útgáfur 0.38.0 og 0.39.0) sem illgjarnt.
Tímabundin athugasemd — MCP færniSjálfstætt safn af leiðbeiningum og hjálparskriftum sem MCP-þjónn birtir fyrir gervigreindarumboðsmann sem kallanlegan eiginleika. Umboðsmaðurinn kallar á hann eins og tól; forskriftirnar keyra á vél forritarans.
Líffærafræði árása
Pakkinn sýnir tvær mjög ólíkar hliðar.
Andlitið sem gagnrýnandi sér fyrst er uppsetningarslóðin. Upplýsingaskráin lýsir því yfir eftiruppsetning: hnútaskriftir/postinstall.js, og það handrit gerir nákvæmlega það sem README segir: það sendir rafrásir MCP samþættingar við IDE og setur upp systkinapakka, @szc-ft/sketch-mcp-serverÞað nær aldrei að auðkenniskóðanum. Skanni sem stoppar við uppsetningu. hooks — sá staður sem hefur sögulega fengið hæstu einkunn — sér hreint og ómerkilegt forritunartól. Þessi pakki hafði reyndar verið metinn öruggur í fyrri umsögn.
Andlitið sem skiptir máli er aðeins hægt að ná með meðfylgjandi færni. Keðjan:
- Forritari rekur staðbundin vafraprófun Þeir hófu færni gegn Chrome/Edge tilviki með fjarstýrðri villuleitartengingu. Þetta er skjalfest leið til að nota færnina.
- Kunnáttan tengja() (lib/browser-engine.js) símtöl _afkóðaAuðkenni() í línu 246.
- _afkóðaAuðkenni() símtöl afkóðaÖllLykilorð({ sía: '%' }). Í '%' Sía er smáatriðinn sem breytir prófunarþægindum í uppskeru: hún passar við alla geymda uppruna frekar en eina staðsetningu sem verið er að prófa.
- lib/afkóða-lykilorð.js les vafrans os_crypt dulkóðaður lykill, keyrir powershell … ProtectedData::Unprotect (DPAPI) til að endurheimta AES lykilinn, síðan afkóðar AES-256-GCM öll vistuð skilríki.
- Allt afkóðaða safnið er skrifað til ~/.szcd-mcp/deps/afkóðað-creds.json í óskýrum texta og skilað sem færni MCP tól niðurstaða.
- Sú niðurstaða ferðast aftur yfir MCP rásina á sjálfgefna netþjón pakkans, mcp.szcd-mcp.top — sami vefþjónninn sem er skjalfestur í README og í scripts/lib/common.js.
Stutt athugasemd um hvers vegna skref 4 virkar yfirhöfuð. Í Windows, Chrome og Edge geyma ekki vistuð lykilorð í látlausum texta: hver auðkenni er dulkóðað með AES-256-GCM lykli og sá lykill er sjálfur innsiglaður með DPAPI, sem tengir hann við núverandi notandareikning. Því þarf tvær aðgerðir til að endurheimta lykilorð — fyrst ProtectedData::Afvernda til að endurheimta AES lykilinn (sem tekst vegna þess að kóðinn keyrir sem innskráður notandi, nákvæmlega það samhengi sem skjáborð forritara veitir), síðan afkóðar GCM hvern geymdan blett sem lesinn er úr vafranum os_crypt-vernduð verslun. Þetta er vel skilið, ótengt og hljóðlaust: engin beiðni um aðallykilorð, engin samskipti við vafra, engin nettenging fram og til baka fyrr en niðurstöðurnar eru sendar áfram. Þetta er sama frumstæða kerfið og margir upplýsingaþjófar nota — nýjungin hér er aðeins umbúðirnar sem geyma það.
Afkóðunartækið er ekki tilviljunarkenntÞað er pakkað þrisvar sinnum — undir standard-kunnátta/, opinn kóða-viðbót/og qwen-viðbót/ — eitt eintak af hverju studdu yfirborði gervigreindaraðstoðarmanns, þannig að möguleikinn ferðast með þeim aðstoðarmanni sem forritarinn tengdi við.
Andstæðan við lögmæta sjálfvirka vafraprófunlogin er öll sagan. Ósvikinn prófunarhjálpari afkóðar skilríkin fyrir einn forrit það er æfingcisnotar það í vinnslu og heldur því aldrei við eða sendir það áfram. Hér afkóðar rútínan allt, skrifar það á disk án vandkvæða og sendir það síðan yfir netmörk á fjarlægan netþjón.
Tímalína og kveikja
Tvær hegðunir skipta máli til að skilja útsetningu.
Kveikjan er valfrjáls, ekki sjálfvirk. Uppsetning pakkans les engin innskráningarupplýsingar. Afkóðunin keyrir aðeins þegar forritari kallar virkt á staðbundin vafraprófun færni gegn vafra sem þeir hafa ræst í fjarstýrðri villuleitarham. Það þrengir verulega hverjir verða fyrir áhrifum samanborið við a eftir uppsetningu farmur sem skýtur á hvert npm setja í embætti.
Umbúðirnar eru þroskaðar, ekki hentugar til einnota. Útgefandinn hefur gefið út 71 útgáfu og viðheldur víðtækari @szc-ft MCP-svíta fyrir íhlutabókasafn. Afkóðunarforritið fyrir skilríki er til staðar í báðum útgáfum sem merktar eru (0.38.0 og 0.39.0) með eins fingrafari, kallað á frá sama vafravél.js:246 aðgangspunktur. Pakkinn er enn virkur á npm þegar þetta er skrifað.
Þessi samsetning — rótgróinn útgefandi, hagnýtt uppsetningarskref og möguleiki sem aðeins virkar með tilteknu verkflæði — er einmitt ástæðan fyrir því að sjálfvirkur flokkari spáði „öruggt“ og fyrri umsögn samþykkti það. Hegðunin lagast aðeins með handvirkri lestur hjálparforskrifta færninnar.
Vísbendingar um málamiðlun
| Gerð | Vísir |
|---|---|
| Pakki | @szc-ft/mcp-szcd-client (npm) — útgáfur 0.38.0, 0.39.0 |
| Net | Sjálfgefinn fjarlægur MCP-þjónn mcp.szcd-mcp.top (README.md, scripts/lib/common.js:18) |
| Skrá (sleppt) | ~/.szcd-mcp/deps/decrypted-creds.json — dulkóðaðar persónuskilríki í látlausum texta |
| Skrá (farm) | .../local-browser-test/lib/decrypt-passwords.js — DPAPI ProtectedData::Unprotect + AES-256-GCM (fylgir með standard-skill/, opencode-extension/, qwen-extension/) |
| Hegðun | browser-engine.js:246 _decryptCredentials() → decryptAllPasswords({ filter: '%' }) (umfang alls staðar) |
| Hegðun | Les Chrome/Edge os_crypt lykill; krefst þess að vafra sé ræstur með --remote-debugging-port |
| Setja upp krók | postinstall: node scripts/postinstall.js - góðkynja (IDE MCP stillingar + uppsetning á systkinapakka); nær ekki til afkóðunarforritsins |
Endurskoðun verjenda MCP verkfæri ætti að meðhöndla kunnátta möppuna innan gildissviðs, ekki bara manifest- og uppsetningarforskriftirnar.
Eignun og athuguð hegðun
Við lýsum hegðun, ekki hvötum.
Pakkinn er birtur undir stofnaðum npm reikningi með samhangandi fjölpakka @szc-ft MCP-svítan og löng útgáfusaga. Það er engin sérstök leynileg skipana- og stjórnrás: dulkóðuð innskráningarupplýsingar eru sendar til baka í gegnum skjalfesta MCP-þjón pakkans, mcp.szcd-mcp.top, frekar en á nafnlausan afhendingarstað. Uppsetningarskrefið er í raun og veru skaðlaust.
Það sem færir þetta frá „árásargjarnri þægindaeiginleika“ yfir í illgjarna flokkun er sýnileg samsetning umfangs og áfangastaðar: rútínan afkóðar allt vistuð vafraupplýsingar frekar en eitt forrit sem próf myndi notacise.d. geymir þær á diski í látlausum texta og sendir þær frá hýsilnum yfir MCP rásina. Sjálfvirk vafraprófun-login Eiginleiki sem hagaði sér svona væri í raun óaðgreinanlegur frá söfnun persónuskilríkja - og áhrifin eru það sem verjandi verður að rökræða um.
Við tökum einlæglega eftir því að kveikjan er að nota skráningu og að útgefandinn sé staðfestur; báðar staðreyndirnar eru í skránni hér að ofan. Hvorugt breytir sýnilegri niðurstöðu fyrir forritara sem keyrir færnina: vistuð lykilorð fyrir hverja síðu í vafraprófílnum þeirra fara úr tölvunni.
Áhrif, þróun og leiðbeiningar varnarmanna
SkillLeak er atvik með einum pakka, en afhendingarflöturinn sem það notar er meginatriðið.
Viðbrögð framboðskeðjunnar í greininni eru stillt að framkvæmd á uppsetningartíma: foruppsetning/eftir uppsetningu hooks, ruglingsmerki fyrir tengsl, typosquats með farm í index.js. MCP breytir rúmfræðinniMCP-pakki getur sent skráarskrá og uppsetningarskref sem eru alveg hrein en bera samt sem áður afleiðingarhegðun sína innan a kunnátta — pakka sem gervigreindarumboðsmaðurinn kallar fram síðar, að eigin fyrirmælum forritarans, gegn eigin auðlindum forritarans. Eiginleikinn fylgir samþættingu aðstoðarmannsins og liggur óvirkur þar til venjulegt vinnuflæði („keyra vafrapróf“) virkjar það.
Fyrir teymi sem taka upp MCP verkfæri:
- Endurskoðunarhæfni, ekki bara birtingarmyndir. Útvíkka pakkaúttektina til færni/, *-viðbót/og sambærilegar möppur. Viðkvæmasti kóðinn gæti aldrei birst í uppsetningarkróki.
- Fylgist með verðbólgu í umfangi. Eiginleiki sem hefur þröngan tilgang (prófa eitt forrit) en virkar á víðtækan hátt (sía: '%' yfir alla geymda uppruna) er rauður fáni óháð ásetningi.
- Meðhöndla niðurstöður MCP tólsins sem útgangsrás. Gögn sem skilað er frá færni fara frá hýsilnum á hvaða MCP-þjón sem viðskiptavinurinn er stilltur fyrir. Skráðu þessa áfangastaði eins og þú myndir gera með hvaða útleiðandi tengingu sem er.
- Endurskoðaðu útgáfuhömlur af „traustum“ MCP-pakka. Reyndur útgefandi og löng útgáfusaga koma ekki í stað þess að lesa kóðann sem fylgir hverri útgáfu — eins og þetta mál, sem snýr við fyrri öryggismati, sýnir.
Þrjár ódýrar athuganir hefðu komið upp á yfirborðið á þessum pakka áður en forritari hefði keyrt færnina. Í fyrsta lagi, innihaldsskönnun á færnismöppum til að fá aðgang að staðbundinni innskráningargeymslu — tilvísanir í os_crypt, Vernduð gögn/DPAPI, eða vafra Login Gögn skrá — merkir möguleikann óháð því hvaða uppsetningarkrókur er til staðar. Í öðru lagi, umfangsprófun á hvaða afkóðunar-/lesarrútínu sem samþykkir val á algildisstaf (sía: '%' og jafngildi) frekar en bundinn auðkenni sem nær til prófunar-til-uppskeru verðbólgunnar. Í þriðja lagi, aðgreining á þeim fjölda vélar sem pakki getur náð til (hér, mcp.szcd-mcp.top) gegn áfangastöðunum sem skjölunin fullyrðir að þurfi að breyta MCP niðurstöðurásinni í endurskoðanlegan útgangspunkt. Ekkert af þessu krefst þess að kóðinn sé keyrður.
Afkóðun persónuskilríkja með DPAPI og os_crypt Þetta er gömul aðferð; að afhenda hana í gegnum færni gervigreindarumboðsmanns sem aðeins virkar með valfrjálsu verkflæði er nýja umbúðirnar. Búist er við meira af færni-í-færni mynstri eftir því sem MCP verkfæri fjölga sér og aðlagaðu umfang endurskoðunar í samræmi við það.





